微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问这小段verilog代码可以综合吗

请问这小段verilog代码可以综合吗

时间:10-02 整理:3721RD 点击:
我综合不了,综合后netlist总是空的,劳烦大家帮忙讨论讨论,拜谢
module c2 (rst,in0,in1,out);
input rst;
input in0;
input in1;
output out;
// synopsys translate_off
reg out;
always @(rst or in0 or in1)
begin
if (rst)
   out = 0;
else if (in0 == in1)
   out = in0;
end
// synopsys translate_on
endmodule

不清楚,你设置开关干嘛?
  好像不完整会出锁存

“// synopsys translate_off” 和“// synopsys translate_on”之间的代码会被DC忽略掉.
always块中的组合逻辑形成锁存了!

那有没有办法实现这个代码的功能呢?如果用逻辑门(与,或,非)来搭建这个功能模块,其他的模块例化这个模块,并在DC综合的时候用set_dont_touch c2, 这样还会被DC忽略吗?

你把// synopsys translate_off 和 // synopsys translate_on這二行刪除,
應該就可以綜合了.

3ks楼上, 可以综合了,为什么去掉了// synopsys translate_off 和 // synopsys translate_on就能综合了呢?这两行对DC有什么作用呀?谢谢指教

明白了,谢谢各位的帮助

6# zhourong601
这两行就是综合指示语句,综合工具能够识别,然后根据指示进行综合

可以综合 但是可能会有锁存器之类的吧

if...else不完整,综合成锁存器了

66666666666666666666

楼上的那么有money,还这样灌水

LS还不是很多。

学习了

DC主要用于ASIC综合,这个代码也玩ASIC么?

对综合不是太了解,能解释一下// synopsys translate_off 和 // synopsys translate_on语句的意思吗?

为什么lz写纯组合逻辑还要加rst信号呢?

latch的确是有的

代码风格有问题的

需要改进

写法不好会导致很多问题的

最好按照标准风格写

这种会减少很多麻烦

hehe,这段代码是用于异步电路设计,所以需要产生锁存器

代码主要用于异步电路,所以需要controller的reset

学习了……嗯,那两句在DC里是忽略两句中间的内容而不加以综合的意思吧!

大哥,你写反了。
// synopsys translate_on
// synopsys translate_off
这样就不会有问题了!

组合逻辑不能忘写else

//synopsys translate_off 后DC不对直到_on内的verilog代码进行综合,所以当然得到的是空网表

else if (in0 == in1)
   out = in0;
后面最好再写上else执行语句
不然这样很不严谨

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top