2014-07-01から1ヶ月間の記事一覧

非同期axi クロックコンバータ

async で同期ステージ3だと通信で20クロックくらいかかってしまうらしい。 しかもvalidとかが2回出てる時があるので、やっぱり非同期でやるのは良くない。

xilinx ip を含む modelsim でのシミュレーション

簡単なのはvivado のプロジェクトを使う方法だが、modelsimのguiを使いたくない場合や、systemverilogを使いたい場合があり、vivadoプロジェクトだとできないことがある。(できるかもしれないけど、とりあえず)modelsimは自分でdofileまたはmakefileを作っ…

DPI-Cでファイル操作

HDLからのファイル操作は正直使いにくいのでDPI-Cを使いC言語でcsv形式でデータ出力、データ入力をする関数を作り、systemverilogでデータをまとめるtaskを作り、保存読み込みに対応させた。functionでDPI-Cを読み込ませてtaskでまとめるやり方でそれなりに…

アドレスサイズ4kbyte以下のAXI4 ペリフェラル

IPインテグレータを使いたかったら、自力でインターコネクト作って4kbyteの塊にしてつなげるしかないか。

AXI4 インターコネクタ

アドレス解決をどうするのか、IPを見ていただけではわからなかったが、どうやらAXIインターコネクトの内部にAXI crossbarがいてそいつでアドレスマッチング可能。vivadoの場合システムインテグレータでやると簡単そうだが、自作IPの取り込みが果たしてうまく…

modelsim で DPI-C

DPI-C systemverilogの機能で、C(C++)でかかれた関数をverilogで実行する機能。(またはその逆) 環境 xilinxは残念ながら高いmodelsimを買わなくてはならないが、alteraだとmodelsim AEがあるため無料でも可能とのこと。あとは、windowsならばMinGW等が必…