Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 硬件建模的正确语言_C_Hardware_Verilog_System Verilog_Systemc - Fatal编程技术网

C 硬件建模的正确语言

C 硬件建模的正确语言,c,hardware,verilog,system-verilog,systemc,C,Hardware,Verilog,System Verilog,Systemc,我们一直在使用C语言开发“硬件模型” 我们目前的工作流程: “硬件”中的数据结构 “模型”是“精确的”,并且 然后测试 “位精度硬件模型”是 用于设计LSI 设计完成后,"硬件", 模型”再次用于验证 大规模集成电路 C语言使用中的问题 虽然C对于多功能编码很好,但它缺少硬件设计中的“并发性”。因此,不可能计算出硬件设计中可能支持的“赛车条件” 因此,我们正在研究可用于设计“硬件模型”,更好地模拟硬件的工具 目前我们(只)在看 -系统C(类似于C…) 我很高兴看到其他人使用这些工具 感谢您阅读这

我们一直在使用C语言开发“硬件模型”

我们目前的工作流程:

  • “硬件”中的数据结构 “模型”是“精确的”,并且 然后测试
  • “位精度硬件模型”是 用于设计LSI
  • 设计完成后,"硬件", 模型”再次用于验证 大规模集成电路
  • C语言使用中的问题

    虽然C对于多功能编码很好,但它缺少硬件设计中的“并发性”。因此,不可能计算出硬件设计中可能支持的“赛车条件”

    因此,我们正在研究可用于设计“硬件模型”
    ,更好地模拟硬件的工具

    目前我们(只)在看 -系统C(类似于C…)

    我很高兴看到其他人使用这些工具


    感谢您阅读这篇相当长的文章…

    (系统)Verilog和VHDL通常用于详细的硬件设计。但是,您可以同时使用这两种语言编写行为模型,并在需要时降低到时钟级别的准确性。

    如果不了解更多信息,就无法可靠地回答这一问题。您的问题不是“硬件建模的正确语言”,而是更接近“验证此设计的最佳方式是什么”。我建议可能与ASIC/FPGA咨询公司谈谈


    如果我不得不猜测的话:您应该构建一个SystemVerilog模型(因为您的设计是Verilog)来检查时间/协议,然后使用DPI调用现有的C模型(因为它是金色的)来检查数据。

    我自然会推荐,它比SystemC多得多。

    +1用于SystemVerilog。它不仅具有可合成代码的能力,更重要的是,它是一种干净的面向对象的测试台设计方法

    此外,它还包括覆盖点、断言、协议检查、随机分布和约束,以及一个很好的DUT接口测试台(通过接口块)。对您来说最重要的是,DPI得到了很好的支持,可以根据稍微精确的模型进行验证。看看说明书


    。。另外,如果您还没有,也可以查看AVM。

    别忘了凿子,它是一种用scala编写的hdl(不像像systemc这样的hls),可以转换为verilog


    您可以从MATLAB开发硬件描述:您实际使用C设计硬件吗?您还使用了哪些其他EDA/设计流程工具?“硬件模型”是使用C设计的,但硬件是使用Verilog实现的。System C肯定具有您所说的并发硬件功能。如果您不坚持使用可合成子集,那么它可以是比Verilog或VHDL更高级别的抽象。此外,如果您必须执行任何大于64位的位切片或操作“寄存器”,System C库将为您添加两个64位以上的整数。不需要溢出检测。你能举一个你希望找到的种族状况的例子吗?我不确定编写一个与硬件直接相似的体系结构模型是否是查找特定于硬件的故障机制(如异步边界问题)的好策略。