Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

SystemVerilog DPIを使って、JTAGにアクセスする

@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそすべては、SystemC v0.9公開から始まった 

SystemVerilog DPIは、めちゃくちゃ便利な機能です。

今回は、SystemVerilog DPIを使って、ソフトウェア側通信するJTAG DPIの紹介。

ソースコードは、以下にて公開されています。

github.com

Socket Programing にて、ソフトウェア側からのJTAGコマンドをSystemVerilog側で受け、それに対応した結果をソフトウェア側に返します。

ソフトウェアとシミュレータ(DPI)は別プロセスになり、かつ、違うマシンでもOKというものです。

もう一つがこちら。こちらも同じSocket Programingです。

こちらは、OpenRISC を Verilator で動かすものです。

github.com

OpenOCD User's Guilde にも同じように、jtag_dpi というものが載っていまっす。

openocd.org

 

便利ですよね。

 

TCP/IP Library としては、Shunt というのがあるようで、これは SystemVerilog DPI だけでなく、SystemC でも使えるようです。

2018年のSNUG Boston で発表されたもののようです。

Shunt Introduction (TCP/IP Socket Based Communication for SystemVerilog Simulation SNUG, Boston 2018 ):

xver.github.iogithub.com