シミュレーション

Webpack ISEとModelSimのインストールマニュアル
(Webpack ISEとModelSimのインストールマニュアルを作った。どっちもWebpack6.3i用で古いです)
論理シミュレーション時のバグ
(デルタ遅延があるので、モデルからの出力は遅延しておいたほうが良い)
Xilinx 社製FPGA を搭載したPCI ボードのシミュレーション1
(Xilinx のツールISE6.1i に統合されているHDL Bencher を使用したSDRAM制御回路の回路検証例)
Xilinx 社製FPGA を搭載したPCI ボードのシミュレーション2
(シミュレーションモデルを使用した全体のシミュレーション)
コアジェネレータIP使用時のVHDLのModelSimシミュ レーション
(コアジェネレータIP使用時にデフォルトでは、シミュレーションモデルがVerilogに なっているので、VHDLに変更する必要がある)
ModelSimでの全体シミュレーション
(うちのボードのSDR SDRAM, PowerPCのシミュレーション波形)
DDR SDRAMシミュレーションモデル
(フリーのDDR SDRAMのシミュレーションモデルを置いてあるサイト)
DDR SDRAMコントローラのシミュレーション(FMFライブラリを作る)
(Free Model FoundryのMT46V16M16のVHDLで書かれたシミュレーションモデルを使用してDDR SDRAMコントローラのシミュレーションをする。最初にライブラリをコンパイルする。キャプチャ図入りで説明)
DDR SDRAMコントローラのシミュレーション1(コンパイルスクリプト)
(続き、プロジェクトを作成、コンパイルスクリプト(compile.do)を作って、コンパ イルするまでの手順を示す。キャプチャ図入りで説明)
DDR SDRAMコントローラのシミュレーション2(シミュレーションスクリプト)
(続き、Start Simulationしてシミュレーションしてみよう。ModelSimのGUIを使いながら、それを参考にして便利なDOファイルを作っていく。シミュレーション波形を 確認する。キャプチャ図入りで説明)
Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーションまとめ1
(コンパイルまでのやり方をキャプチャ図入りで説明)
Verilog2001版DDR SDRAMコントローラーのModelSimシミュレーションまとめ2
(Simulate、wave波形表示、特にVerilogを使用したときのステートマシンの ステートの表示方法を解説)
Verilog2001版DDR SDRAMコントローラのバグ
(最 初のバグは、ontroller.v 724行目のendcaseの後に ; を入れてしまったことだ。もう1つは write_data_module.v でグローバル変数 j を定義してその j を2つのalways @* 内で使用してしまったのでレース状態が発生してしまったらしい。)
Verilogシミュレータ (Veritak)
(Veritakシミュレータの紹介。ModelSim XE Starter で1万行を超えるシミュレーションはVeritakの方が大幅に速い)
Veritak-Basic Version 3.30A
(Veritakの新しいバージョン、Veritak-Basic Version 3.30A(シェアウェア版)がVeritakのWebページに出ていることを教えてもらったので、早速ダウンロードしてインストール)
ISEのTest Bench Waveformでの複数クロックを使用するISEシミュレーション
(SEでTest Bench Waveformをウイザードで生成する際に、複数のクロックを使用したい場合があるが、ISE9.1iではMultiple Clocksを使用出来るので、それを使用してISEシミュレーションをしてみた。 )
PCIバスなどのシミュレーション(VHDL)
(サスティンド・トライステートのシミュレーションでの表現方法)
VHDLの共有変数を使用したシミュレーション
(VHDLの共有変数を使ってテストベンチで下の階層の信号を見る)
キャラクタ・ディスプレイ・コントローラのシミュレーション
(Verilog で作られたキャラクタ・ディスプレイ・コントローラの表示文字をシミュレーションによって確認する方法)
キャラクタ・ディスプレイ・コントローラのシミュレーション (VHDL)
(キャラクタ・ディスプレイ・コントローラの表示文字をシミュレーションによって確認する方 法、VHDL版。こちらはPS/2キーボード・インターフェース回路とつながっている)
キャラクタ・ディスプレイ・コント ローラのシミュレーション(Verilog, ModelSim編)
(Verilog版のキャラクタ・ディスプレイ・コントローラのシミュレーションを ModelSimでやってみた)
ModelSim の日本語表示
(ModelSimのテキストウインドウに日本語を表示する方法)
Veritak でのWaveform Viewer内のSignal検索機能
(私が、とても欲しかったVeritakでのWaveform Viewer内のSignal検索機能が実装された。
私 は、今までModelSimでシミュレーションしていたので、Signalを可能な限り追加して、必要なSignalを検索で探していたのだが、 Veritakではその機能がなかった。ただし、Veritakでは波形はすべて保存されているので、Signalを追加しても再度シミュレーションする 必要がないという利点がある。)
Veritak Version 3.51Bにドラック&ドロップ拡大機能
(Veritak Version 3.51Bにドラック&ドロップ拡大機能が実装された)
ModelSim XEⅢ Starterでシミュレーションできない
(Cドライブがメモリカードリーダになっていて、ドライブがないとModelSim XEⅢ Starterでシミュレーションできないようだ)
ModelSim XEⅢ Starterでシミュレーションできました
(ライセンス申請用リンクのドライブシリアル番号パラメー タ"&ds=????????" を抜いたURLをアクセスするとドライブシリアル番号とイーサネットアドレスを選べて、イーサネットアドレスを選ぶとライセンスが通るという解決策で解決)
ModelSim でタイミング・シミュレーション(Post-Routeシミュレーション)1
(ModelSim XE3 StarterでPost-Routeシミュレーション(タイミング・シミュレーション)をしてみた。Verilogのglbl.vは以前はコマンドラインで入れていた が、ModelSimのGUIで入れることができた)
ModelSim でタイミング・シミュレーション(Post-Routeシミュレーション)2
(”ModelSimでタイミング・シミュレーション(Post-Routeシミュレーショ ン)1”の続き)
ModelSim でVHDLのプロジェクトからVCDファイルを出力する方法(覚書)
(ModelSim SE 6.1eでVHDLのプロジェクトからVCDファイルを出力する方法の覚書。ModelSimのVCDコマンドを使うことにする。)
Veritak(Basic)Ver. 3.71CでVHDLファイルの変更点を表示
(VHDL のプロジェクトをVHDLファイルを修正している際に、修正前と修正後でシミュレーションの波形にどんな違いがあるかを知りたいと思っている。それは ModelSim単体でも出来るが、Veritak(Basic)Ver. 3.71を使うともっと分かりやすく表示することができる。)
ModelSim でinit_signal_spyを使ってVHDLの他の階層のsignalをミラーする
(ModelSimでinit_signal_spyを使ってVHDLの他の階層の signalをミラーする方法。シミュレーション時に、他の階層の信号を参照したい場合は多い)
Veritak でステートマシンのステート表示
( Veritakのenum選択を使用して、ステートを表示することができた)
VeritaK シミュレーション時のデバック方法(エディタ ドライバ記述に飛ぶ)
(Veritakの信号を右クリックで出てくるメニューの中の”エディタ ドライバ記述に飛 ぶ”の使い方。信号のドライバ記述のVerilogコードに飛ぶことができる)
VHDL でModelSimのシミュレーションを終了する方法
(Verilog でシミュレーションを終了させる方法としてはシステム・タスクの$finish があり、また停止させるシスタム・タスクとしては$stop がある。VHDLでは、シミュレーションを停止または終了させる明確な文がないが、assert文を使用してシミュレーションを停止させることができる)
Veritak とMSEの相性
VeritakとMSEの相性が悪いようなので、MSEにVeritakを登録してウィルス チェックから除外した。
 Verilator でLint 
VerilatorでLintしようと試みたが、うまく行かなかった。
 Verilator を試してみる1(C++モード1)
今回は、バージョン3.812のVerilatorをインストールして、シミュレーションして みた。環境としてはCygwinを使用した。自分で以前、電子サイコロをチュートリアル用に作ったときのdice_stat_machine.v単体をシミュ レーションしてみた。
 Verilator を試してみる2(C++モード2:モジュール内部信号の観測)
Verilator を試してみる1(C++モード1)”でC++のテストベンチでのVerilogファイルのシミュレーションができたが、モジュールの入力、出力信 号を見ただけである。今回は、モジュール内部信号を見てみる。
 Verilator を試してみる3(C++モード3:VCDファイルを出力)
今度はVCDファイルを出力する。”Verilator Manual”の”How do I generate waveforms (traces) in C++?”を参考に、dsm_test.cppを修正した。そのソースを下に示す。
 Verilator を試してみる4(C++モード4:diceプロジェクト)
今度は、ISE11.1i のチュートリアルで 使用しているdiceをVerilogで書いたものをシミュレーションしてみた。つまり、今までは単一のVerilogファイルをVerilatorでシ ミュレーションしていたが、今回は複数のVerilogファイルから成るプロジェクトをVerilatorでシミュレーションしてみた。
Verilatorを試して みる5(SystemCモード1:SystemCのインストール)
前回は、VerilatorでC++のテストベンチでシミュレーションしたが、今度は SystemCをインストールしてテストベンチをSystemCで書いてみようと思う。
 Verilator を試してみる6(SystemCモード2:dice_state_machine.v のテストベンチ)
今度は、自分で作ったVerilogファイルのdice_state_machine.v のSystemCテストベンチを自分で書きなおしてみた。
 Verilator を試してみる7(SystemCモード3:dice_topプロジェクト)
今度は、”Verilator を試してみる4(C++モード4:diceプロジェクト)”のSystemCテストベンチ版だ。
 Verilator を試してみる8(SystemCモード4:CharDispCtrlerプロジェクト)
今度は、キャ ラクタ・ディスプレイ・コントローラ(CharDispCtrler.v) をVerilatorでシミュレーションしてみることにした。
 Verilator を試してみる9(DPI-C:SystemVerilogからCの関数を呼び出す)
私はVerilator ManualのDPI Sample記述をそのままにやっていた。下にそのDPI Sampleを引用する。
 Xilinx Simulation Library Compilation Wizard でQuesta 用のライブラリをコンパイル
Questa をISE14.1 のシミュレータとして使用するには、XilinxのプリミティブやCoregen 用のライブラリをコンパイルする必要がある。そのためにXilinxからSimulation Library Compilation Wizard が提供されている。今回はこの使い方を説明用に書いておく。(Windows7 pro 64ビット版使用)
ISE14.6から QuestaSim10.1bを使用する
ISE14.6からQuestaSim10.1bを使用するための覚書
ISEからのQuestaシミュレーションでMicron社のDDR3モデルを使用する
ISEからQuestaを使ったシミュレーションを行っている。その際に、Micron社のDDR3 Verilog HDL model(モデルのダウンロードが始まるので注意)を使わせて頂いている。その場合の注意点を覚書で残しておく。
Cygwin で nvc (VHDL compiler and simulator) を試してみた1
hiyuh さんに教えてもらった nvc (VHDL compiler and simulator) を Cygwin にインストールして、試してみることにした。
Cygwin で nvc (VHDL compiler and simulator) を試してみた2
”Writing a VHDL compiler”を参考にして、counter.vhd と top.vhd を作ってやってみた。
コマンドを実行すると、コアダンプしました。orz


他のカテゴリでの関連する情報
DDR2 SDRAMコントローラのシミュレーション時のバグ
(DDR2 SDRAM(Micron MTH16M16-37E)のモデルは、モードレジスタの誤った設定値も検出しくれる優れもの)
VeritakでのDDR2 SDRAMコントローラのシミュレーション (初期化)
VeritakでDDR2 SDRAMコントローラの初期化部分のシミュレーション部分の説明。DDR2 SDRAM(Micron MTH16M16-37E)のモデルの表示出力も表示している)
VeritakでのDDR2 SDRAMコントローラのシミュレーション2(Read, Write)
(DDR2 SDRAMコントローラのRead, Writeのシミュレーションのテストベンチ(taskを含む)。全体の流れ。
VeritakでのDDR2 SDRAMコントローラのシミュレーション3(Write)
DDR2 SDRAMコントローラの Writeのシミュレーションの詳細)
VeritakでのDDR2 SDRAMコントローラのシミュレーション4(Read)
DDR2 SDRAMコントローラの Readのシミュレーションの詳細)
 DDR SDRAMコントローラの高度なシミュレーション
(たっくさんに書いていただたVerilog版DDR SDRAMコントローラのテストベンチをバースト・アクセスが続くように書き直した。でも、もっとWriteとReadの間のレイテンシを短くしたいと思った)
 DDR SDRAMコントローラの高度なシミュレーション2 
 DDR SDRAMコントローラの高度なシミュレーション のWriteとReadの間のレイテンシを短くしたいという課題をクリアした)
 DDR SDRAMコントローラの高度なシミュレーション3 
 DDR SDRAMコントローラの高度なシミュレーション2 の時のVerilog HDLコードを公開した)
Veritak でのシミュレーション方法1(SuzakuV DDR2 SDRAMテスト回路を使用)
Veritak でのシミュレーション方法2(SuzakuV DDR2 SDRAMテスト回路を使用)
Veritak でのシミュレーション方法3(SuzakuV DDR2 SDRAMテスト回路を使用)
 ISim でLintしてみた
Verilatorは設定が大変そうなので、それじゃ何でLintしたら良いのか?というと、 やはり、ISimじゃないだろうか?ということで、Lintにだけ使えるかやってみることにした。
Vivado シミュレータのDPI-C その1
Vivado シミュレータでDPI (Direct Programming Interface)をやってみることにした。
Vivado シミュレータのDPI-C その2
前回は、DPI のexample の simple_import をやってみた。今回は、simple_export をやってみよう。
Vivado シミュレータでDPI-C を使用してZynq VIPを使う1
”Vivado シミュレータのDPI-C その1”と”Vivado シミュレータのDPI-C その2”でVivado シミュレータでDPI-C を実行する方法をXilinx社のサンプルで見てきた。
それでは、Zynq VIP を使用するときにDPI-C を使用することができるかどうか?をやってみた。
Vivado シミュレータでDPI-C を使用してZynq VIPを使う2
前回は、Vivado 2017.2 で Base Zynq サンプル・プロジェクトを作成して、一度シミュレーションを実行し、テストベンチをSystemVerilog ファイルに変更し、シミュレーション用のディレクトリにDPI-C を実行するC ファイルを追加した。今回は、コンパイル、エラボレートを行う。
Vivado シミュレータでDPI-C を使用してZynq VIPを使う3
前回は、コンパイルとエラボレートを行った。今回はいよいよxsim を走らせて、シミュレーション波形を出してみよう。
Vivado シミュレータでDPI-C を使用してZynq VIPを使う4(Export Simulation)
昨日、「SystemVerilogによるテストベンチ実践会(2017夏)」で、 Venginner さんに、Export Simulation のことを聞いたので、自分でもやってみた。

AXI4-Lite インターフェースの I2C Master Core をシミュレーションする
”OpenCores.org の I2C controller core をシミュレーションする”で、OpenCores.org の WishBone バスの I2C controller core をシミュレーションしたが、これを Xilinx の Zynq で使用するために AXI4-Lite インターフェースで使用したいと思いった。
そこで、”AXI4 Master Bus Functional Model を修正した”と”AXI4-Lite Master Bus Functional Model を修正した”で AXI4-Lite の Master の BFM を用意した。
”WishBone バスと AXI4-Lite インターフェースを変換する wb2axi4ls_conv.v とトップの i2cm_axi4ls.v”で、WishBone バスと AXI4-Lite インターフェースを変換する wb2axi4ls_conv.v とトップの i2cm_axi4ls.v を用意した。
AXI4-Lite インターフェースの I2C Master Core をシミュレーションしてみよう。

Verilator をもう一度試してみる1(インストール)
土曜日の Verilator 勉強会に参加して Verilator を再びやってみようということで、 ryuz88 さんのスライドの”Verilator勉強会 2021/05/29”を参考にさせていただいて、Verilator の最新バージョンをインストールしてみた。
インストール成功。
Verilator をもう一度試してみる2(C++ モード1)
 前回は Verilator Ver. 4.200 をインストールすることができた。今回は、過去の FPGA の部屋のブログ記事”Verilatorを試してみる1(C++モード1)”をもう一度やってみよう。
dice_state_machin.v を Verilator でシミュレーションすることができた。
Verilator をもう一度試してみる3(C++モード3:VCDファイルを出力)
前回は、過去の FPGA の部屋のブログ記事”Verilatorを試してみる1(C++モード1)”をもう一度やってみて成功した。今回は、”Verilatorを試してみる3(C++モード 3:VCDファイルを出力)”をやってみよう。
VCDファイルを出力して、Gtkwave で VCD ファイルを表示できた。
Verilator をもう一度試してみる4(C++モード4:diceプロジェクト)
前回は、”Verilatorを試してみる3(C++モード3:VCDファイルを出力)”を やって成功した。今回は、”Verilatorを試してみる4(C++モード4:diceプロジェクト)”をやってみるが、Verilog HDL ファイルが離れたディレクトリにある場合についてやってみよう。
Verilator をもう一度試してみる5(SystemCモード1:SystemCのインストール)
回は、dice プロジェクトの複数のファイルを Verilator でシミュレーションした。今回は、”Verilatorを試してみる5(SystemCモード1:SystemCのインストール)”を参考にして、 SystemC 2.3.3 をインストールしてみよう。
Verilator をもう一度試してみる6(SystemCモード1:SystemCのインストール2)
前回、SystemC-2.3.3 を自分のディレクトリの下にインストールした。しかし、やはり、 /usr/local ディレクトリにインストールしたいということでインストールをやり直した。
Verilator をもう一度試してみる7(再度 Verilator をインストール)
前回は、SystemC 2.3.3 を /usr/local にインストールした。今回は、 Vengineer さんの”VerilatorとSystemC”に従って、Verilator を再度インストールする。
Verilator をもう一度試してみる8(SystemCモード2:dice_state_machine.v のテストベンチ)
以前の FPGAの部屋のブログ記事”Verilatorを試してみる6(SystemCモード2:dice_state_machine.v のテストベンチ)”が動作するかどうか?を確かめてみよう。
Verilator をもう一度試してみる9(multi_axim を試す1)
Verilator をやっていたのは、Vitis HLS での C/RTL 協調シミュレーションを短い時間で終了したいという欲求からだった。そこで、”DSF2015 C-6 でのVivado HLS で生成したAXI4-Master IPの簡単な例について”で示した Vivado HLS の multi_axim を Verilator で検証してみよう。
Verilator をもう一度試してみる10(multi_axim を試す2)
Vivado HLS の multi_axim を Verilator で検証してみようということで、前回は、 AXI4 Slave Bus Functional Model の axi_slave_BFM.v を合成できるように修正した。今回は、Vivado 2020.2 の multi_axim_pj プロジェクトを作成して、multi_axim と axi_slave_BFM を IP インテグレーターで接続しよう。
Verilator をもう一度試してみる11(multi_axim を試す3)
Vivado HLS の multi_axim を Verilator で検証してみようということで、前回は、 Vivado 2020.2 の multi_axim_pj プロジェクトを作成して、multi_axim と axi_slave_BFM を IP インテグレーターで接続した。今回は、 Verilator を使用してシミュレーションを行う。
Verilator をもう一度試してみる12(multi_axim を試す4)
Vivado HLS の multi_axim を Verilator で検証してみようということで、前回は、Vivado 2020.2 の multi_axim_pj プロジェクトを作成して、multi_axim と axi_slave_BFM を IP インテグレーターで接続した回路を Verilator でシミュレーションして成功した。今回は、その回路をスタートさせて動作を見てみよう。

cocotb を試してみる1
テストベンチが Python で書かれた cocotb を試してみようと思う。
cocotb を知ったのは Adam Talyor さんの記事” MicroZed Chronicles: Getting Started with Cocotb”を読んだからだった。この記事を試してみようと思ったのだが、シミュレータに ModelSim を使っていた。ModelSim は持っていないので、そこで本家?の”cocotb/cocotb”の README のコードを試してみることにした。
cocotb を試してみる2(シミュレーション波形を表示)
Python で書いたコードをテストベンチとして使用できるテストベンチ環境の cocotb を使ってみたいということで、前回は、cocotb のインストールと最初のサンプルをやってみて成功した。今回は、前回実行したサンプルの波形を gtkwave で表示した。
cocotb を試してみる3(examples/adder)
前回は、”cocotb を試してみる1”で実行したサンプルの波形を gtkwave で表示した。今回は cocotb を git clone して、examples の adder をやってみよう。

自作回路を cocotb でシミュレーションする1(Vitis HLS で multiplier を作成1)
cocotb でサンプルをやってきたが、自作回路を cocotb でシミュレーションしてみようと思う。
今回は、Vitis HLS 2022.1 で乗算器(mulitplier)を作成する。なお、ZYBO Z7-20 用とした。この乗算器を cocotb でシミュレーションしてみたい。
自作回路を cocotb でシミュレーションする2(Vitis HLS で multiplier を作成2)
cocotb でサンプルをやってきたが、自作回路を cocotb でシミュレーションしてみようということで、前回は、乗算器(mulitplier)のソースコードとテストベンチを貼って、Vitis HLS 2022.1 の multiplier プロジェクトを作成した。今回は、multiplier プロジェクトの C シミュレーション、C コードの合成、C/RTL 協調シミュレーションを行った。
自作回路を cocotb でシミュレーションする3(cocotb でシミュレーション)
前回は、multiplier プロジェクトの C シミュレーション、C コードの合成、C/RTL 協調シミュレーションを行った。今回は、ファイルを用意して、make を行ったら PASS した。gtkwave で波形を表示した。

cocotb 実行時の python, make, iverilog のバージョン
職場の Ubuntu 18.04 のパソコンだと cocotb が make できないのだが、自宅のパソコンの python, make, iverilog のバージョンを書いておく。

cocotbext-axi を試してみる1(AXI Lite インターフェース)
以前 Python で書いたテスベンチでシミュレーションすることができる cocotb を試してみたが、AXI インターフェースを cocotb でシミュレーションできる cocotbext-axi を試してみよう。最初は AXI Lite インターフェースを試してみる。
cocotbext-axi を試してみる3(AXI-Stream インターフェース)
cocotbext-axi を試して見たいということで、前回は、AXI インターフェースを試した。今回は、AXI-Stream インターフェースを試してみる。

cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4 Lite インターフェースの IP をシミュレーション1
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4 Lite インターフェースの IP をシミュレーションしたいということで、2 乗する AXI4 Lite インターフェースの test_square_axil IP を Vitis HLS 2023.1 で作成した。
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4 Lite インターフェースの IP をシミュレーション2
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4 Lite インターフェースの IP をシミュレーションしたいということで、前回は、2 乗する AXI4 Lite インターフェースの test_square_axil IP を Vitis HLS 2023.1 で作成した。今回は、前回、高位合成した Verilog HDL ファイルを cocotbext-axi を使って、シミュレーションした。

cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4, AXI4 Lite インターフェースの IP をシミュレーション1
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4 Lite インターフェースの IP をシミュレーションしたいということで、2 乗する AXI4 インターフェースの test_square_axi IP を Vitis HLS 2023.1 で作成した。制御信号は AXI4 Lite インターフェースに実装したので、cocotbext-axi を使って、AXI4, AXI4 Lite インターフェースをシミュレーションする予定だ。
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4, AXI4 Lite インターフェースの IP をシミュレーション2
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4 Lite インターフェースの IP をシミュレーションしたいということで、前回は、2 乗する AXI4 インターフェースの test_square_axi IP を Vitis HLS 2023.1 で作成した。今回は、test_square_axi IP の Verilog HDL ファイルを cocotbext-axi でシミュレーションを行った。

cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4, AXI4 Lite インターフェースの IP をシミュレーション1
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4, AXI4 Lite インターフェースの IP をシミュレーションしようということで、DMA Read して値を 2 乗し、 AXI4-Stream 出力を行う test_square_axis IP を作成した。
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4, AXI4 Lite インターフェースの IP をシミュレーション2
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4, AXI4 Lite インターフェースの IP をシミュレーションしようということで、前回は、Vitis HLS 2023.1 で DMA Read して値を 2 乗し、 AXI4-Stream 出力を行う test_square_axis IP を作成した。今回は、ネイティブ Ubuntu 18.04 のパソコンで、cocotbext-axi を試しているのだが、make を実行するとアサーションがエラーになってしまった。アサーションをコメントアウトすると PASS した。シミュレーション波形は問題ないので、アサーションの問題のようだ。
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4, AXI4 Lite インターフェースの IP をシミュレーション3
前回は、ネイティブ Ubuntu 18.04 のパソコンで、cocotbext-axi を試しているのだが、make を実行するとアサーションがエラーになってしまった。アサーションをコメントアウトすると PASS した。シミュレーション波形は問題ないので、アサーションの問題のようだった。今回は、Windows 11 の WSL2 上の Ubuntu 22.04 で test_square_axis を試してみたが、アサーションが通った。Ubuntu のバージョンによって動作が異なるのだろうか?

cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4 Lite インターフェースの IP をシミュレーション1
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した IP をシミュレーションしてきたが、最後に AXI4-Stream の Source 側が残っているので、それを cocotbext-axi でシミュレーションしようということで、AXI4-Stream 入出力の 2 乗 IP の test_square_axis2 を Vitis HLS 2013.1 で作成した。
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4 Lite インターフェースの IP をシミュレーション2
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した IP をシミュレーションしてきたが、最後に AXI4-Stream の Source 側が残っているので、それを cocotbext-axi でシミュレーションしようということで、前回は、AXI4-Stream 入出力の 2 乗 IP の test_square_axis2 を Vitis HLS 2013.1 で作成した。今回は、ネイティブ Ubuntu 18.04 のパソコンで、cocotbext-axi を試しているのだが、make を実行するとアサーションがエラーになってしまった。アサーションをコメントアウトしてもアサーション・エラーだった
cocotbext-axi を使って、Vitis HLS 2023.1 で作成した AXI4-Stream, AXI4 Lite インターフェースの IP をシミュレーション3
前回は、ネイティブ Ubuntu 18.04 のパソコンで、cocotbext-axi を試しているのだが、make を実行するとアサーションがエラーになってしまった。アサーションをコメントアウトしてもアサーション・エラーだった。今回は、Windows 11 の WSL2 上の Ubuntu 22.04 で test_square_axis2 を試してみたが、アサーションが通った。Ubuntu のバージョンによって動作が異なるようだ。

cocotbext-eth を使ってみる1
cocotb の ethernet シミュレーション環境の cocotbext-eth を使ってみようということで、cocotbext-eth の tests ディレクトリの下の eth_mac と gmii をやってみた。
cocotbext-eth を使ってみる2
cocotb の ethernet シミュレーション環境の cocotbext-eth を使ってみようということで、前回は、cocotbext-eth の tests ディレクトリの下の eth_mac と gmii をやってみた。今回は、同じく tests ディレクトリの下の rgmmi_phy と xgmii をやってみよう。

cocotbext-pcie を使ってみる1
cocotb の PCI-Express シミュレーション環境の cocotbext-pcie を使ってみよう。最初に Windows 11 の WSL2 上の Ubuntu 22.04 で試してみたが、make がエラーになってしまう。そこで、ネイティブ Ubuntu 18.04 でやってみたところ make が PASS した。
cocotbext-pcie を使ってみる2
cocotb の PCI-Express シミュレーション環境の cocotbext-pcie を使ってみようということで、前回は、Windows 11 の WSL2 上の Ubuntu 22.04 で試してみたが、make がエラーになってしまう。そこで、ネイティブ Ubuntu 18.04 でやってみたところ make が PASS した。今回は、pcie_s10 と pcie_us をやってみた。
cocotbext-pcie を使ってみる3
cocotb の PCI-Express シミュレーション環境の cocotbext-pcie を使ってみようということで、前回は、pcie_s10 と pcie_us をやってみた。今回は、pcie_usp をやってみよう。




inserted by FC2 system