《Verilog学习总结》PPT课件

《Verilog学习总结》PPT课件

ID:39365725

大小:270.26 KB

页数:24页

时间:2019-07-01

《Verilog学习总结》PPT课件_第1页
《Verilog学习总结》PPT课件_第2页
《Verilog学习总结》PPT课件_第3页
《Verilog学习总结》PPT课件_第4页
《Verilog学习总结》PPT课件_第5页
资源描述:

《《Verilog学习总结》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Verilog学习总结verilog特点★区分大小写,所有关键字都要求小写★不是强类型语言,不同类型数据之间可以赋值和运算★//是单行注释可以跨行注释★描述风格有系统级描述、行为级描述、RTL级描述、门级描述,其中RTL级和门级别与具体电路结构有关,行为级描述要遵守可综合原★门级描述使用门级模型或者用户自定义模型UDP来代替具体基本元件,在IDE中针对不同FPGA器件已经有对应的基本元件原语verlog语法要点★moduleendmodule之间由两部分构成:接口描述和逻辑功能描述★IO端口种类:inputoutputinout★相同位宽的输入输出信号可以一起声明,i

2、nput[3:0]a,b;不同位宽的必须分开写★内部信号为reg类型,内部信号信号的状态:01xz,3‘bx1=3’bxx1x/z会往左扩展3‘b1=3’b001数字不往左扩展★逻辑功能描述中常用assign描述组合逻辑电路,always既可以描述组合逻辑电路又可以描述时序逻辑电路,还可以用元件调用方法描述逻辑功能★always之间、assign之间、实例引用之间以及它们之间都是并行执行,always内部是顺序执行verlog语法要点常量格式:<二进制位宽><‘><进制><该进制的数值>:默认进制为10进制默认位宽为32位位宽是从二进制宽度角度而言的由位宽决定从低位截

3、取二进制数2’hFF=2‘b11,通常由被赋值的reg变量位宽决定parameter常用于定义延迟和变量位宽,可用常量或常量表达式定义verlog语法要点变量种类:wireregmemoryIO信号默认为wire类型,除非指定为reg类型wire可以用作任何输入输出端口wire包括inputoutputinoutwire不带寄存功能assign赋值语句中,被赋值的信号都是wire类型assign之所以称为连续赋值,是因为不断检测表达式的变化reg类型可以被赋值后再使用,而不是向wire一样只能输出reg类型变量初始值为xalways模块里被赋值的信号都必须定义为reg

4、类型,因为always可以反复执行,而reg表示信号的寄存,可以保留上次执行的值reg类型变量与integer变量不同,即使赋负值,实质上也是按二进制无符号数存储的,integer是有符号数verlog语法要点verilog中所有内部信号都是静态变量,因为它们的值都在reg中存储起来memory型只有一维数组,由reg型变量组成memory初始化只能按地址赋值,不能一次性赋值1*256的memory写法:regmema[255:0]mema[3]=0;不同位宽的变量之间赋值,处理之前都以被赋值的变量位宽为准扩展或截取A[a:b]无论ab谁大,a总是实际电路的信号高位,

5、b总是实际电路的信号低位算术运算中如果有X值则结果为Xfor循环中的变量另外定义成integer,因为它不是实际信号,有正负;reg则以无符号数存在==和!=只比较0、1,遇到z或x时结果都为x(x在if中算做假条件),结果可能是1、0、x===和!==比较更加苛刻,包括x和z的精确比较,结果可能是0、1&&的结果只有1‘b1或1’b0两种,A&A的结果位宽则是与A相同的{1,0}为64‘h100000000,所以拼接运算中各信号一定要指定位宽移位运算左移将保留4'b1000<<1等于5'b10000,右移则舍弃4'b0011等于4'b0001数字电路里位运算应用普遍

6、,包括按位逻辑运算、移位运算、拼接运算、缩减运算verlog语法要点非阻塞式赋值<=与阻塞式赋值=阻塞:在同一个always过程中,后面的赋值语句要等待前一个赋值语句执行完,后面的语句被该赋值语句阻塞非阻塞:在同一个always过程中,非阻塞赋值语句是同时进行的,排在后面的语句不会被该赋值语句阻塞<=:块结束后才能完成赋值块内所有<=语句在always块结束时刻同时赋值<=右边各变量的值是上一次时钟边沿时,这些变量当时的值用于描述可综合的时序电路=:=语句结束之后过程always才可能结束在always过程中,beginend块内按先后顺序立即赋值,在forkjoin

7、内同时赋值(可能造成冲突)与assign连用描述组合电路verlog语法要点beginend中阻塞的含义:begin...@(A)B=C...;end如果A事件不发生则永远不能执行下去,被阻塞了由于时钟的延时(往往在ps级),多个always(posedge)之间究竟谁先执行是个未知数使用原则:同一个always过程块内建立时序电路用<=纯组合逻辑电路用=,生成的电路结构最简单,执行速度最快同一个always块内不要混用<=和=不要在多个always块内对同一个变量赋值(多源驱动)verlog语法要点ifelse的三种形式,第三种形式适合描述优先编码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。