スポンサーリンク
SystemC

階層構造を出力する SystemC

はじめに デバッグ用にSystemCの階層構造(hierarchy)をprintfする関数を作成しました。 解説 print_hierarhy()を実行することで、インスタンスされているモジュール、ポート、スレッドを出力します。 print...
SystemC

SC_METHOD、SC_THREAD、SC_CTHREAD SystemC

はじめに SystemCでは3つのタイプのスレッドを持ちます。それぞれの違いについて説明します。 sc_method SC_METHODマクロを使用して定義します。通常のC関数と同じ動作をします。 SC_METHOD(<method>)の後...
Linux

for文の使い方 zsh

基本の使い方 基本的には以下のよう配列を与えて使用します。 a=("1" "2" "3") for i in $a do echo $i done 数字の範囲を指定してforループを回す方法 {<開始>..<終了>}で範囲を指定してForル...
SystemC

インスタンス SystemC

はじめに SystemCで階層設計(インスタンス)を行います。 サンプルコード topがdffというモジュールをインスタンスするサンプルコードです。 sample.cpp #include <systemc.h> // D-FFを宣言 SC...
未分類

VirtualBoxの共有フォルダ設定が切れていたときの対策

VirtualBoxで共有フォルダを設定すればホスト側とクライアント側で共通のファイルを操作することができます。 しかし、私の環境ではVirtual Boxを立ち上げる度にリンクが切れてしまいます。 今回はその対策について紹介します。 対策...
Systemverilog

VerilogでJSONフォーマットを読み込む

はじめに VerilogでJSONフォーマットを読み込みます。 JsonのパースにはJSON11を使用します。JSON11はC++なので、VPIでVerilogとデータのやり取りを行います。 サンプルコード まずはCコードを作成します。JS...
C/C++

JSONフォーマットをパースする C++

はじめに json11を使用してJSONをC++で読み書きします。 サンプル 文字列をパースする JSONフォーマットの文字列をパースします。 sample1.cpp #include <iostream> #include <fstrea...
Linux

Promptの表示を変更する zsh

Prompt(プロンプト)の表示を変更します。かなりシンプルな設定を用意してます。 環境はzshです。 完成イメージ tanakaが2回あってわかりずらいですが、最初のtanakaがユーザー名、2番目がホスト名です。()で直前のコマンドの戻...
Systemverilog

VPIの計算速度 Verilog

はじめに VPIを使うことで演算をC側で行うことができます。 計算回数や計算量によって実行時間がどうなるか気になったので試してみます。 実行時間の比較 VerilogとCで実行時間を比較します。演算は下記のような任意の値に足し算するだけのも...
Systemverilog

VPIで乗算器を作成する Verilog

はじめに VPIで2入力、1出力の乗算器を作成します。 環境はIcarus Verilogです。 作り方 乗算するCコードを作成します。 my_mult.cpp #include "vpi_user.h" // Task int my_mu...
スポンサーリンク