我正在尝试使用vivado hls将SystemC代码转换为Verilog,但是由于定义顶级函数时的困惑,我无法做到这一点。
我有一个头文件(fifo_simple.h),在其中定义“ SC_MODULE(fif_simple)”以及相应的端口和构造函数。有两个名为“ fifo_simple :: read_from_fifo”和“ fifo_simple :: write_to_fifo”的函数,它们在另一个文件(fifo_simple.cpp)中定义其功能。
我已经通过仿真测试了代码,并对代码的功能感到满意,但是,使用Vivado HLS将代码转换为verilog时遇到了问题。实际上,问题在于在项目设置中定义模块的顶级功能。我假设顶层函数是fifo_simple,但是,vivado为我提供了两个选项,即“ write_to_fifo”和“ read_from_fifo”,但这两个选项只是顶层模块的成员/子函数(请参见附件图片)。