SystemC 階層構造を出力する SystemC はじめに デバッグ用にSystemCの階層構造(hierarchy)をprintfする関数を作成しました。 解説 print_hierarhy()を実行することで、インスタンスされているモジュール、ポート、スレッドを出力します。 print... 2024.03.24 SystemC
SystemC SC_METHOD、SC_THREAD、SC_CTHREAD SystemC はじめに SystemCでは3つのタイプのスレッドを持ちます。それぞれの違いについて説明します。 sc_method SC_METHODマクロを使用して定義します。通常のC関数と同じ動作をします。 SC_METHOD(<method>)の後... 2024.03.23 SystemC
Linux for文の使い方 zsh 基本の使い方 基本的には以下のよう配列を与えて使用します。 a=("1" "2" "3") for i in $a do echo $i done 数字の範囲を指定してforループを回す方法 {<開始>..<終了>}で範囲を指定してForル... 2024.03.23 Linux
SystemC インスタンス SystemC はじめに SystemCで階層設計(インスタンス)を行います。 サンプルコード topがdffというモジュールをインスタンスするサンプルコードです。 sample.cpp #include <systemc.h> // D-FFを宣言 SC... 2024.03.20 SystemC
未分類 VirtualBoxの共有フォルダ設定が切れていたときの対策 VirtualBoxで共有フォルダを設定すればホスト側とクライアント側で共通のファイルを操作することができます。 しかし、私の環境ではVirtual Boxを立ち上げる度にリンクが切れてしまいます。 今回はその対策について紹介します。 対策... 2024.03.20 未分類
Systemverilog VerilogでJSONフォーマットを読み込む はじめに VerilogでJSONフォーマットを読み込みます。 JsonのパースにはJSON11を使用します。JSON11はC++なので、VPIでVerilogとデータのやり取りを行います。 サンプルコード まずはCコードを作成します。JS... 2024.03.06 Systemverilog
C/C++ JSONフォーマットをパースする C++ はじめに json11を使用してJSONをC++で読み書きします。 サンプル 文字列をパースする JSONフォーマットの文字列をパースします。 sample1.cpp #include <iostream> #include <fstrea... 2024.03.04 C/C++
Linux Promptの表示を変更する zsh Prompt(プロンプト)の表示を変更します。かなりシンプルな設定を用意してます。 環境はzshです。 完成イメージ tanakaが2回あってわかりずらいですが、最初のtanakaがユーザー名、2番目がホスト名です。()で直前のコマンドの戻... 2024.03.04 Linux
Systemverilog VPIの計算速度 Verilog はじめに VPIを使うことで演算をC側で行うことができます。 計算回数や計算量によって実行時間がどうなるか気になったので試してみます。 実行時間の比較 VerilogとCで実行時間を比較します。演算は下記のような任意の値に足し算するだけのも... 2024.03.03 Systemverilog
Systemverilog VPIで乗算器を作成する Verilog はじめに VPIで2入力、1出力の乗算器を作成します。 環境はIcarus Verilogです。 作り方 乗算するCコードを作成します。 my_mult.cpp #include "vpi_user.h" // Task int my_mu... 2024.03.03 Systemverilog