- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
集成电路计算机辅助设计与验证算法、实践总复习
Verilog总复习
ⅠVerilog设计部分:
一、概念部分
1)代码修改
1.端口列表不完整,或者含中间变量
2.端口申明不完整(Testbench中无需端口申明)
3.变量类型定义错误,位宽错误,中间变量最好要设置为寄存器型
4.assign只能给线网型变量赋值,只为组合逻辑建模,只包含简单延时#
5.过程赋值语句块initial、always中被赋值的变量只能是寄存器型
6.initial、always这些过程语句中如果包含两条及两条以上的语句时,需要用begin end或fork join来封装
7.同一always中阻塞赋值=与非阻塞赋值=同时存在
8.always块信号敏感列表不完整,会引入不必要的Latch
9.if语句结构不完整,且信号未赋初值,组合逻辑描述中if后缺少else时,会产生不必要的Latch
10.case语句不完整,分支不完整没加default,或分支语句中的赋值不完整,且信号未赋初值,都会产生不必要的Latch
11.case后的控制表达式可能与标号不符
12.case语句后接了两条或两条以上的default
13.case某一标记要执行两条或两条以上的语句,必须封装在begin end或fork join
14.拼接和复制时,没有指定位宽
15.if、if else、if else嵌套只能出现在过程语句块always、initial或定义函数function或任务task中
16.位操作符与归约操作符、逻辑操作符混淆
17.标点符号出错
2)语法概念
1.什麽情况下会输出x值:
输出net上发生驱动突变;或一个未知值传到了net
2.Net与Reg类型的主要区别:
线网型变量类似于导线,不能存储值,必须受到驱动源持续驱动才有效;寄存器型变量具有记忆功能,在输入信号消失时他能保持原有值不变,不需要驱动源
3.Verilog中如何定义一个常数:
使用parameter定义参数型变量;使用文本宏define定义
4.缩减操作符和位操作符的区别;~与!的区别;==与===的区别:
缩减操作符是单目操作符,实现对单一操作数进行操作,并产生一位结果;位操作符(除了~)为双目操作符,实现对两个操作数各位按位操作;位取反~是按矢量每位取反;逻辑非!是将操作数归约为一位true或false结果;逻辑等==比较时,操作数某位不确定时,其结果也不确定;全等===是比较两个操作数是否完全相等,对x和z都要进行比较,完全一致时才是1,没有不定状态
5.拼接与复制操作符在拼接与赋值一个数据时,对数据有什么要求:
必须指定数据位宽,否则会发生错误
6.连续赋值语句assign通常给组合逻辑建模
7. begin…end块内使用非阻塞赋值与fork…join块的区别:
前者可综合,语句按顺序执行(但都是按同一起始时刻开始);后者不可综合,语句并行执行
8. Verilog中posedge、negedge的含义:前者指敏感信号上升沿;后者指下降沿
9. Verilog中有哪些条件结构:if、if…else、if…else嵌套、case casex casez、? :
条件语句与分支语句比较:条件语句带优先级,二选一,更具一般性;分支语句可选择带与不带优先级,多选一,其分支表达式要求与控制表达式形式相同
10. Verilog中什么结构能产生一个新范围,那些结构能被禁止:
模块、任务、函数、有名块能产生一个新范围,其中有名块和任务可被禁止
11.如何向存储器加载数据:通过将其申明为2维寄存器阵列;通过使用系统任务$readmen或$readmenb或使用过程语句赋值
3)综合概念
1.什麽是综合:检查RTL代码质量的重要手段;RTL语言到门级网表的过程;前端与后端的交叉点;翻译+优化+映射
2.定义时钟:dc_shell-t creat_clock – period 2 [get_ports clk](2ns时钟周期)
dc_shell-t set_dont_touch_network [get_clocks clk] (阻止优化时钟)
3.模块内部,寄存器到寄存器的路径约束:
4.输入
您可能关注的文档
最近下载
- 上海市多测合一技术文档.pdf
- 某酒店弱电系统报价单.xls VIP
- 健康饮食演讲稿作文【五篇】.doc
- YB_T 4681-2018焦化非芳烃.pdf
- AP计算机科学原理 2018年真题 (选择题+问答题) AP Computer Science Principle 2018 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 中药饮品的商业计划书.pptx VIP
- 专升本计算机-教学课件-3--操作系统-windows-7(2023新版考试大纲).pptx VIP
- 粤教粤科版小学科学四年级上册第四单元第19课《我的小灯笼》课件.ppt
- 中型矩形螺旋弹簧参数表.pdf
- 火电厂机组经济运行方案(30万机组典型).pdf VIP
文档评论(0)