FPGA学习笔记.doc_第1页
FPGA学习笔记.doc_第2页
FPGA学习笔记.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1赋值语句的使用:连续赋值只能用于线网型的变量赋值,形式如下 assign out1=a&b;过程赋值只能用于给寄存器型变量赋值,分为阻塞赋值“=”和非阻塞赋值“=”,应注意的的地方如下:1)在使用always 块描述组合逻辑时使用阻塞赋值(电平敏感),在使用always块描述时序逻辑时使用非阻塞赋值(边沿敏感);2)不要在同一个always块内同时使用阻塞赋值和非阻塞赋值;3)不要在不同的always快内为同一个变量赋值;4)在赋值语句前不要使用0延时;2 时序电路包括组合逻辑电路和存储电路,在设计中也应将组合逻辑电路和存储电路分开描述,尽量不要同时写到一个always中,Verlog HDL 中通过定义寄存器变量为存储单元建模,对寄存器变量赋值只能使用过程赋值,即将赋值语句放在always块中,而不能使用连续赋值(用assign 赋值),对于边沿触发的存储单元,应该使用非阻塞赋值,(用=赋值)对于电平触发的存储单元应使用阻塞赋值(用=赋值),当组合逻辑和存储电路写到同一个always块中是,应使用非阻塞赋值。3 用流水线改善电路性能,所谓流水线就是指在多级组合逻辑之间插入寄存器用来暂存中间结果。4 使用同步复位可以抑制复位信号的毛刺,采用同步复位只要不在时钟沿附近出现毛刺就不会影响电路,实现的方法是在寄存器的输入端加入组合逻辑,如果复位信号有效,则使组合逻辑的输出值为复位后的寄存器的值。在使用同步复位时,不能只注意到复位信号不能在时钟有效沿生效,而忽略复位信号失效时刻的限制,如果复位信号在时钟沿附近失效也可能造成组合逻辑的输出信号不能满足寄存器的建立时间的要求,从而导致电路出现错误。使用异步复位时必须注意复位信号是稳定的。 在VerilogHD代码写法上,同步复位信号不出现在always的敏感列表中,而异步复位信号出现在always的敏感列表中。注意使用异步复位时,还注意对于复位信号使用 边沿触发的方式,不要使用电平敏感事件。5再设计有限状态机电路时应该先画状态图,然后再开始编写代码,画出状态图可以使有限状态机的机构变得更清晰。编写有限状态机程序应该遵循的的规则:1) 在复杂的数字系统中经常包括多个有限状态机,一个主状态机和若干个从状态机,在代码中各个有限个状态机应该分开描述。2) 在描述不同的状态时,不要直接使用数值,而是利用parameter将数值定义为有意的符号名,define虽然也可以完成同样的功能,但与parameter不同,define定义的是全局变量,作用域是从define语句开始直达所有程序代码结束。而parameter的作用域是在模块中,因而在不同的模块中可以安全地使用同名的状态。3) 将产生状态的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论