- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.verilog特点:区分大小写,所有关键字都要求小写不是强类型语言,不同类型数据之间可以赋值和运算//是单行注释 可以跨行注释描述风格有系统级描述、行为级描述、RTL级描述、门级描述,其中RTL级和门级别与具体电路结构有关,行为级描述要遵守可综合原则门级描述使用门级模型或者用户自定义模型UDP来代替具体基本元件,在IDE中针对不同FPGA器件已经有对应的基本元件原语.verilog语法要点:module endmodule之间由两部分构成:接口描述和逻辑功能描述IO端口种类: input output inout相同位宽的输入输出信号可以一起声明, input[3:0] a,b; 不同位宽的必须分开写内部信号为reg类型,内部信号信号的状态: 0 1 x z, 3bx1=3bxx1 x/z会往左扩展 3b1=3b001 数字不往左扩展逻辑功能描述中常用assign描述组合逻辑电路,always既可以描述组合逻辑电路又可以描述时序逻辑电路,还可以用元件调用方法描述逻辑功能always之间、assign之间、实例引用之间以及它们之间都是并行执行,always内部是顺序执行常量格式: +/-二进制位宽进制该进制的数值:默认进制为10进制默认位宽为32位位宽是从二进制宽度角度而言的由位宽决定从低位截取二进制数2hFF=2b11,通常由被赋值的reg变量位宽决定parameter常用于定义延迟和变量位宽,可用常量或常量表达式定义变量种类: wire reg memoryIO信号默认为wire类型,除非指定为reg类型wire可以用作任何输入输出端口wire包括input output inoutwire不带寄存功能assign赋值语句中,被赋值的信号都是wire类型assign之所以称为连续赋值,是因为不断检测表达式的变化reg类型可以被赋值后再使用,而不是向wire一样只能输出,类似VHDL中的buffer端口reg类型变量初始值为x (VHDL中初始值为本类型最小值,通常是0)always模块里被赋值的信号都必须定义为reg类型,因为always可以反复执行,而reg表示信号的寄存,可以保留上次执行的值reg类型变量与integer变量不同,即使赋负值,实质上也是按二进制无符号数存储的,integer是有符号数verilog中所有内部信号都是静态变量,因为它们的值都在reg中存储起来了memory型只有一维数组,由reg型变量组成memory初始化只能按地址赋值,不能一次性赋值1*256的memory写法: reg mema[255:0] mema[3]=0;不同位宽的变量之间赋值,处理之前都以被赋值的变量位宽为准扩展或截取A[a:b] 无论a b谁大,a总是实际电路的信号高位,b总是实际电路的信号低位算术运算中如果有X值则结果为Xfor循环中的变量另外定义成integer,因为它不是实际信号,有正负;reg则以无符号数存在== 和!=只比较0、1,遇到z或x时结果都为x (x在if中算做假条件),结果可能是1、0、x===和!==比较更加苛刻,包括x和z的精确比较,结果可能是0、1的结果只有1b1或1b0两种, AA的结果位宽则是与A相同的{1,0}为 64h100000000,所以拼接运算中各信号一定要指定位宽移位运算左移将保留 4b10001等于5b10000,右移则舍弃 4b0011等于4b0001数字电路里位运算应用普遍,包括按位逻辑运算、移位运算、拼接运算、缩减运算非阻塞式赋值=与阻塞式赋值=阻塞:在同一个always过程中,后面的赋值语句要等待前一个赋值语句执行完,后面的语句被该赋值语句阻塞非阻塞:在同一个always过程中,非阻塞赋值语句是同时进行的,排在后面的语句不会被该赋值语句阻塞=:块结束后才能完成赋值块内所有=语句在always块结束时刻同时赋值=右边各变量的值是上一次时钟边沿时,这些变量当时的值用于描述可综合的时序电路=:=语句结束之后过程always才可能结束在always过程中,begin end块内按先后顺序立即赋值,在fork join内同时赋值(可能造成冲突)与assign连用描述组合电路begin end中阻塞的含义:begin ...@(A) B=C...; end 如果A事件不发生则永远不能执行下去,被阻塞了 由于时钟的延时(往往在ps级),多个always(posedge)之间究竟谁先执行是个未知数使用原则:同一个always过程块内建立时序电路用= 纯组合逻辑电路用=,生成的电路结构最简单,执行速度最快同一个always块内不要混用=和=不要在多个always块
您可能关注的文档
- hho9e-题目-第16章-管理会计导论.doc
- J31-4000KN压力机离合器系统设计.doc
- PC-3A型粉尘检测仪器作业指导书.doc
- k10-第3章--城市轨道交通线路和车站.pptx
- pep第二单元课件B.Let's-talk.ppt
- PEP人教版小学英语6年级期末总复习总结(6年级上下册知识点汇总答案).docx
- PEP小升初复习总结资料.doc
- PLSQL编程拓展.ppt
- PDM-PLM区别和案例.ppt
- S1-13-01-吃粽子过端午-课件.ppt
- kisssoft齿轮培训课件.pptx
- Unit-10-If-you-come-to-my-party-you'll-have-a-great-time!Section-A-If引导条件状语从句-.ppt
- Why-don't-you-talk-to-your-parents-B-阅读.ppt
- Word版-精校-2018年全国卷Ⅰ理综高考试题文档版(包含答案).doc
- Word版-精校-2018年全国卷Ⅱ文综高考试题文档版(包含答案).doc
- Word版-精校-2018年北京文综高考试题文档版(包含答案).doc
- xx孔水疏放井下钻探施工设计12---副本.doc
- word版-精校-2018年天津文综高考试题文档版(包含答案).docx
- XX市农村信息化建设工作实施方案设计.doc
- Xx矿主要系统能力校验.docx
文档评论(0)