verilog中的“综合”究竟是什么含义?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/18 05:14:06
verilog中的“综合”究竟是什么含义?
如题
如题
通俗的来讲,“综合”就是把你用硬件描述语言描述的电路转换成实际能够实现的真实电路的过程.包括门级或者寄存器传输级甚至是开关级.
综合就是把你写的rtl代码转换成对应的实际电路.
比如你写代码assign a=b&c;
EDA综合工具就会去元件库里拿一个二输入与门出来,然后输入端分别接上b和c,输出端接上a
假如你写了很多这样的语句
assign a=b&c;
assign c=e|f;
assign e=x^y;
……
综合工具就会像搭积木一样的把你这些“逻辑”电路用一些“门”电路来搭起来.当然,工具会对必要的地方做一些优化,比如你写一个电路assing a=b&~b,这样工具就吧a恒接为0了,而不会去给你找一个与门来搭这个电路.
所以,“综合”要做的事情有:编译rtl代码,从库里选择用到的门器件,把这些器件按照“逻辑”搭建成“门”电路.
不可综合,是指找不到对应的“门”器件来实现相应的代码.比如#100之类的延时功能,简单的门器件是无法实现延时100个单元的.还有打印语句等,也是门器件无法实现的,这个应该很好理解.
综合就是把你写的rtl代码转换成对应的实际电路.
比如你写代码assign a=b&c;
EDA综合工具就会去元件库里拿一个二输入与门出来,然后输入端分别接上b和c,输出端接上a
假如你写了很多这样的语句
assign a=b&c;
assign c=e|f;
assign e=x^y;
……
综合工具就会像搭积木一样的把你这些“逻辑”电路用一些“门”电路来搭起来.当然,工具会对必要的地方做一些优化,比如你写一个电路assing a=b&~b,这样工具就吧a恒接为0了,而不会去给你找一个与门来搭这个电路.
所以,“综合”要做的事情有:编译rtl代码,从库里选择用到的门器件,把这些器件按照“逻辑”搭建成“门”电路.
不可综合,是指找不到对应的“门”器件来实现相应的代码.比如#100之类的延时功能,简单的门器件是无法实现延时100个单元的.还有打印语句等,也是门器件无法实现的,这个应该很好理解.