チラシの裏は意外と白くない

最近忘れっぽくなったので調べたことをチラシの裏に書きます

2020-03-01から1ヶ月間の記事一覧

順序回路とか

順序回路 組み合わせ回路の出力は過去の状態に影響されないのに対し、順序回路は過去の状態によって出力が変わる。always文を使うやつ。 D-FF フリップフロップにはD,SR,JK,Tがあるが、D-FFが最も基本的なFFなので、これの動作を復習しておく。 クロックの立…

組み合わせ回路とか

新人研修と一時期を除いてしばらくVerilogを書いておらず、最近は雰囲気だけで読んでいたところもあって、SystemCの本だけでは行き詰まるところが出てきた。 すこしVerilogの復習をしておく。とりあえずcounter回路をモチーフにVCS,Verdiの環境を作っておい…

sc_in同士の演算

もう少し理解が進んだところで、全体における位置づけが明確になると期待して、気づいたことを書いておく。 以下の通り、入力信号in0, in1を加算して出力信号outにアサインするという単純なモデルを作ってみた。dont_initialize()がついていたりSC_METHODに…

SystemC基本構文①

第3章 SystemC基本構文の1回目。プロセスまでを勉強。 ファイル構造 特別な規則はないが慣習的に、 SC_MODULE宣言部を***.h アルゴリズム記述を***.cpp SC_MODULE SC_MODULEはVerilogでいうところのmoduleで、構成部品は モジュール名 入出力ポート宣言 入力…

RGB2YUV回路(BCA)

前回TLMで作成したRGB2YUV回路をBCAに変更する。 変更概要 いくつかの記述はSystemC2.3.3では使用不可になっている。これはCQ出版の正誤表に記載有 tbとdutで画像データをやり取りするチャネルについて、TLMではsc_fifoを使用していたがBCAではsc_signalでデ…

RGB2YUV回路(TLM)

「SystemCを使ったハードウェア設計」という本を入手できたので、第2章に従ってTLM→BCAの流れを確認する。 TLM(Transaction Level Modeling) データの流れのみを定義したレベル。バス構造やインタフェース機能はモデリングしない。特に重要な点がFIFOの表現…

SystemCで4bitカウンタを作ってみた③

前回はSC_THREAD、SC_CTHREADとsensitivityリスト周りを見た。今回は文法的なところを少し掘り下げてみる。 コンストラクタの記述に関して sim結果は以下のどちらの書式を使っても同じだった。 #if 0 SC_HAS_PROCESS( Counter4 ); Counter4( sc_module_name …

SystemCで4bitカウンタを作ってみた②

前回作った4bitカウンタを少し変えつつ、もう少し理解を深める。 SC_THREADのsensitivityについて SC_THREADでsensitivityがない件について、SC_THREADはクロック同期しておらず、プロセス側でクロックを待っているのでは?という予想を立てた。とすると、プ…

SystemCで4bitカウンタを作ってみた①

SystemCに同梱されているexampleを勉強するつもりだったけど、結構複雑で言語のお作法がわからないときつい感じだったので、簡単なカウンタ回路をフルスクラッチで作ってみた。これで基本的な構成を理解したい。環境構築にあたって、以下のサイトを大いに参…

SystemCのexample

手始めに/usr/local/systemc/2.3.3/examples/の中身を見てみることにする。 まずはmake とりあえずbuild-unix/というディレクトリ以下でmakeできるようなので、makeしてみた。 $ make make[1]: ディレクトリ `/home/XXXX/sandbox/systemc/tutorial/examples/…

SystemCの環境構築

SystemC。名前と何となくは知っていたけど、日本語の文献があまりにも少ないor高いことから躊躇していたけど、どうもある程度理解しないといけない雰囲気になってきている。今更感がすごいけど。 今回は環境の勉強も兼ねてWSLにSystemCをいれて、Hello Wolrd…