verilog RTL编程实践 笔记 第八课 第九课

第七课由于太短,不作记录

 

第八课

make会直接寻找名字为Makefile的文件,执行其中的命令。

dve可以调出gui界面,然后打开vpd文件。

DC也可以通过.tcl文件执行脚本。

(以上笔记与第六课相同)

 

lab01

  • Timing report

在lab01(课程特有)中,用已经写好的tcl文件进行DC综合:

综合以后的电路没有满足timing的要求(violated),这时可以启用将hierarchy打散的选项

ungroup -all -flatten

由于DC是按照hierarchy结构去优化的(即例化的instance和module),因此打散以后可以将不同器件逻辑放在同一层级下面,软件不需要按照模块为单位进行映射,从而达到更好的优化效果。

在.tcl脚本中用以下命令替代compile:

compile -map_effort high

普通的compile对各个指标的优化程度都是medium,启用这个选项后对effort的优化程度达到最高。

现在已经可以满足条件了。

*novas为名字的文件是与verdi相关的文件

 

  • 文件分类

(1)rtl:存放RTL code

(2)tb:存放Testbench和timescale文件

(3)sim:用来执行仿真和验证的文件夹,可以建立一个Makefile将命令都写在里面

(4)syn:用来执行综合的文件夹,可以建立一个.tcl脚本将命令都写在里面

 

  • 实例
$display("%0t",$time);

以上语句可以输出仿真时间。

向量的LSB和MSB对应的数字取决于一开始的设置方式。例如a[0:15]则a[0]是MSB,MSB永远在最左位

若'之前没有数字,则可以实现位扩展。

'b1是特例,除了LSB是1以外,高位全部补0。


第九课

可以用alias简化常用路径

lab02

文件夹下面的verilog文件如下所示:

truncate.v的功能是对数据进行截断

对Word和Int赋不同值进行截断后观察结果。

integer.v的功能是对不同数据类型赋予同样的值,观察最后得出的结果。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值