硬件建模-几个观点

 https://mp.weixin.qq.com/s/ANlBqbDxiqV5BH9TtIxNjg

 

一. 非阻塞赋值(Non-blocking Assignment)是个伪需求

二. Delay只有两种实现方式?

1. 利用器件(线、们)的物理特性,进行延时;
2. 定时延时:使用高频clk和计数寄存器进行延时;

 

三. SystemC的Process应翻译为过程,而非进程;

 

在计算机编程中,进程为专有概念,相对线程而言;进程是一个动态的概念,是执行中的代码;

而SystemC中的SC_METHOD实际上是一个方法,而不是进程,所以可以翻译为过程,或者直接不要用Process的概念。

 

四. 建模使用的是子集,验证使用的是全集

 

 无论是建模语言(language)如Verilog、SystemVerilog还是建模库(library)如SystemC,建模时使用的只是语言和库的一部分,即建模子集。

 

而验证则可以使用语言的全集,如验证是Verilog提供了什么,你就可以使用什么。如果使用的是SystemC,验证时,则可以使用C++语言的全集。Chisel可以使用Scala语言的全集。jchdl也可以使用Java的全集。

 

前提条件是验证工具支持即可,如果验证工具不支持的语言特性,那就不能用了。这也是Library优于Language的地方。Verilog和SystemVerilog无论是建模还是验证,都要受EDA或者验证工具的约束。而SystemC在验证的时候,只受到C++编译器的约束,而编译器基本上支持全部的C++语言规范的特性。Chisel的Scala和jchdl的Java同理。

 

 

 

转载于:https://www.cnblogs.com/wjcdx/p/9649976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值