集成电路计算机辅助设计与验证算法、实践总复习.doc

集成电路计算机辅助设计与验证算法、实践总复习.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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.输入

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档