如何使用 Chisel C++ 模拟器
How to use Chisel C++ emulator
如何使用Chisel编译器生成的C++文件?文档对此不清楚,是否有任何其他来源指向我?我对此一无所知,特别是我不懂 C++。
例如一个简单的加法器电路Adder.scala
我将得到以下与仿真器相关的文件:
Adder.cpp
、Adder.h
、Adder-emulator.cpp
、emul_api.h
、emulator.h
和 sim_api.h
。
为此,我可以通过 运行
进行编译
g++ Adder.cpp Adder-emulator.cpp
这会生成输出 a.out
运行 这会在终端中生成另外三个文件,我不知道它们是什么。
00003710.cmd
、00003710.in
和 00003710.out
。
C++ 代码用于构建您的设计的仿真。您还需要定义一个将驱动仿真的测试器,使用 poke()
设置信号值,并使用 peek()
或 expect()
读取它们。
你不应该自己编译 C++。如果您将 --genHarness
和 --test
选项传递给 Chisel,它将编译 C++ 代码,构建仿真并 运行 您的测试仪来驱动它。
查看 chisel-tutorial 代码以获取此过程的示例。
如何使用Chisel编译器生成的C++文件?文档对此不清楚,是否有任何其他来源指向我?我对此一无所知,特别是我不懂 C++。
例如一个简单的加法器电路Adder.scala
我将得到以下与仿真器相关的文件:
Adder.cpp
、Adder.h
、Adder-emulator.cpp
、emul_api.h
、emulator.h
和 sim_api.h
。
为此,我可以通过 运行
g++ Adder.cpp Adder-emulator.cpp
这会生成输出 a.out
运行 这会在终端中生成另外三个文件,我不知道它们是什么。
00003710.cmd
、00003710.in
和 00003710.out
。
C++ 代码用于构建您的设计的仿真。您还需要定义一个将驱动仿真的测试器,使用 poke()
设置信号值,并使用 peek()
或 expect()
读取它们。
你不应该自己编译 C++。如果您将 --genHarness
和 --test
选项传递给 Chisel,它将编译 C++ 代码,构建仿真并 运行 您的测试仪来驱动它。
查看 chisel-tutorial 代码以获取此过程的示例。