概述
我在一个用C语言编写的高级模拟器上工作,用于一些用System Verilog编写的硬件.
System Verilog代码包含许多仅包含逻辑的函数(即没有耗时,没有触发器).我想在我的C模拟器中重用这段代码.
有没有办法通过以下方式在C(或C,它很容易链接到C)中重用这些函数:
>在编译之前将系统Verilog转换为C/C++?
>将System Verilog编译为可由C/C++调用的函数?
>还有其他方式吗?
解决方法:
通常,这种集成是在另一个方向完成的,这意味着从Verilog调用C/C++例程.当然,这只对验证组件有意义,显然无法合成.最有可能实现所需的环境是SystemC / Verilog协同仿真,但这意味着使用Verilog仿真器(您明确不需要)和使用SystemC的C模型.
寻求高性能的模拟器通常会生成C或本机代码.我不知道从VCS(我最熟悉的模拟器)中生成的代码中提取特定函数的方法,但是可以使用其中一个开源模拟器来实现.任何商业(即许可)模拟器都不太可能支持生成无需许可即可运行的代码.我不确定您是否希望独立于模拟器使用Verilog功能是由许可,运行时开销,工具安装负担或完全不同的东西驱动的.
我假设您不维护SystemVerilog例程,因此可能无法更改它们的实现方式.但是,如果可能的话,在C和Verilog中需要功能时的一个常见策略是编写可以将单个定义转换为C和Verilog实现的代码生成器.
另一个更深奥的可能性是SystemC合成.它是相对较新的,我没有使用它的经验,但如果您可以访问这些工具并且它们适用于您的功能,它将允许您重用C实现用于C模型,硬件模拟和综合.
标签:system-verilog,c-3,c,verilog,code-reuse
来源: https://codeday.me/bug/20190827/1735861.html
最后
以上就是无心抽屉为你收集整理的将c语言编译成verilog,是否可以将System Verilog函数编译为C或C?的全部内容,希望文章能够帮你解决将c语言编译成verilog,是否可以将System Verilog函数编译为C或C?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复