首页 dc综合问题总结

dc综合问题总结

举报
开通vip

dc综合问题总结dc综合问题总结 DC综合以及后仿问题总结 日期:2013.08.24 1 关于DC综合出现的一些warning以及解决方法: 1) 当出现这种unsign to signed warning出现的时候一般是代码中出现了一下两种不规范的写法: 第一种:例如:wire data_A assign data_A=(判断条件),1:0;即:定义一个wire类型的信号data_A,然后通过一个判断条件的真假来个data_A进行赋1或者0,那么这样的写法就会造成上面例句的warning,这是因为在verilog...

dc综合问题总结
dc综合问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf DC综合以及后仿问题总结 日期:2013.08.24 1 关于DC综合出现的一些warning以及解决方法: 1) 当出现这种unsign to signed warning出现的时候一般是代码中出现了一下两种不规范的写法: 第一种:例如:wire data_A assign data_A=(判断条件),1:0;即:定义一个wire类型的信号data_A,然后通过一个判断条件的真假来个data_A进行赋1或者0,那么这样的写法就会造成上面例句的warning,这是因为在verilog中直接写1或者0,那么verilog就会把1或者0默认为整型变量,而整型变量默认的是有符号数,而我们定义的data_A是一个无符号信号,那么正确的写法应该为wire data_A assign data_A=(判断条件),1’b1:1’b0,这样写才是规范的写法。 第二种:这种情况warning主要出现在一些用到了有符号数运算的电路中,比如我们要计算两个8bit有符号数的加法、减法、乘法等,而其中一个有符号数要通过别的寄存器进行赋值,比如总线寄存器(即:要进行运算的数通过总线赋值),那么我们可能会这样写:wire signed [7:0] A; assign A=bus_data_reg[7:0],这样写verilog就会把bus_data_reg[7:0] 默认为一个无符号数,可是我们的A要求是一个有符号数,故就会出现上面列举的warning,正确的写法应该是wire signed [7:0] A; assign A=$signed(bus_data_reg[7:0]);,总的来说就是,我们要给一个有符号数的信号赋值,那么我们就应该保证等号两边都是有符号数,verilog中可以用$signed将一个数定义成有符号数。 同样当出现 signed to unsigned这样的warning后,我们用上面同样的方法进行分析就可以解决了 2) 当综合之后出现这种类型的warning时,说明你的代码中在实例化某个模块的时候你只把该信号的某几bit连接到了该模块的端口上,这种警告的出现是比较常见的,比如上图所示:这表明在代码中send_check_bus_addr是一个11bit的输入信号,它的第6~10bit没有连接到该模块的端口上,即: 这样的警告的出现是正常的,对DC综合的结果没有太大的影响。 3) DC综合如果出现这样的warning,就说明你的这个信号的某些bit的悬空的,例如上图所示: 对于总线的输入数据信号bus_data_i是一个32bit的信号,但是当前模块中只用到了低20bit,而高12bit是没有连接到任何信号上面去的,那么DC就会给出这样的警告。 这种警告的消除方法就是:在你的该模块中你用到了某个信号的多少bit,那么你在顶层调用该模块的时候只把你用到的该信号对应的那些bit连进来,这样就不会出现这样的警告,而我们的习惯是把这个信号完整的连接过来。另外,需要说明的是,有些时候我们为了代码的简洁性,必须要把某个信号完全连到该模块,那么这个时候造成这种warning我们是可以接受的。还有就是有些时候你的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 需要发生变化,比如某个信号要去掉,这样你就可能忘记把该信号的端口连接给删掉,这样就会导致这个信号的所有bit都是没有连接到任何信号,这样的情况就是必须进行修改的,否则会对DC的综合造成不必要的影响。 4) 当DC综合出现这种类型的警告的时候,就说明你的代码中在模块调用的时候,直接把常值0连接到该模块的某个信号中了,这种警告的出现是正常的,因为我们的设计有些时候就是要把某些信号接0或者接1,例如: 那么对于data_A信号DC综合的时候就会报出这样的警告。所以真的这样的警告我们只需要检查代码,看出现警告的地方我们的设计是不是这样设计的,这样会防止粗心大意给某个端口错误的赋了一个常值1或者0. 5) 当DC综合后出现这类警告的时候,说明你的相关模块中出现了把输入信号或者输入信号的某些位直接赋值到了输出端口信号,这类警告的出现是正常的,只需检查你的设计是否确实是这样即可。 6) 当DC综合后出现上图的warning时,表明在模块实例化的时候,你将一个相同的信号同时连到了调用模块中不同的两个或者几个端口信号中,例如上述警告在代码中的体现就是: 即:把rst_n信号同时连到了wr_rst和rd_rst这两个端口信号上了。这样warning的出现也是正常的,只需检查自己的设计是否与报出的warning相符合。 7) DC综合结果出现上述警告时,说明输出端口的某些信号的某些位直接被赋值常数0(也可以是1,跟具体设计有关),如图所示,表明输出信号bus_data_i的第19bit~31bit被直接赋值0.这种warning的出现也是正常的,需检查是否与当前设计相符合。 8) 这种警告一般出现在设计中调用存储器的模块中,例如延迟线,FIFO等模块,并且warning的位置都是存储器的DOUT端口。此warning是说明DOUT端口用三态电路的驱动方式。这样的warning也是正常的,检查是否与当前设计相符合即可。(这里面警告的对象都为ram的输出DOUT,对于其他信号如果出现此类warning就需要检查是否设计就是这样设置的) 2 关于后仿的一些问题 1)所谓后仿就是把经过DC综合之后生成的.V进行仿真,其具体 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 为,我们将DC综合之后生成的.V文件以及生成的SDF文件(时序约束文件)、simic的两个文件(我们用的是smic18.v和smic18io_line.v)、以及用到的存储器的.v文件、前仿用到的testbench.v文件加载一个工程中进行仿真,然后比较仿真结果是否正确。其中关于SDF文件的加载方法就是,在你的testbench文件的initial语句中加入如下命令即可: $sdf_annotate (“ name.sdf ”.DUT); 2)关于后仿工具可能出现的问题,在后仿的时候我们需要用modelsim-mentor版本的工具进行仿真,因为有些modelsim的工具不支持SDF文件的load,例如modelsim-altera版本的工具就不支持。此外,我们也可以用questasim工具来进行后仿,这个工具也是支持的。
本文档为【dc综合问题总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_751406
暂无简介~
格式:doc
大小:123KB
软件:Word
页数:5
分类:企业经营
上传时间:2017-11-12
浏览量:103