verilog基本语法

verilog基本语法

ID:47487661

大小:19.10 KB

页数:3页

时间:2020-01-12

verilog基本语法_第1页
verilog基本语法_第2页
verilog基本语法_第3页
资源描述:

《verilog基本语法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Verilog基本语法【逻辑值】Ø逻辑0表示低电平,GNDØ逻辑1表示高电平,VCCØ逻辑X表示未知电平,可能是高电平,也可能是低电平Ø逻辑Z表示高阻态,外部没有激励信号,是一个悬空状态注:高阻态的实质:电路分析时高阻态可做开路理解。可以把它看作输出(输入)电阻非常大,对下级电路无任何影响。若为0、x、z则按照假处理;若为1,按真处理。【进制】Ø二进制4'b0101—4位二进制数0101Ø十进制数4’d2—4位十进制数2Ø十六进制数4’ha—4位十六进制数aVerilog中若不指定位宽,默认32位;若不指定位宽不指定进制,默认32位宽的十进制数。【标

2、识符】标识符可以是字母、数字、$和_(下划线)的组合,且开头必须是字母或下划线,区分大小写。不建议大小写混合使用。【数据类型】Ø寄存器关键字reg,默认初始值位不定值X;reg[31:0]delay_cnt;//[31:0],指定寄存器位宽32位,regkey_reg;//默认位宽为1.reg类型数据只能在always和initial语句中被赋值。Ø线网表示结构实体的物理连线,包括wire和tri类型Ø参数常量,用parameter定义。parameterH_SYNC=11'd41;【运算符】Ø[条件操作符]?:例,a?b:c//如果a为真就选b,否

3、则选择c。result=(a>=b)?a:b;[逻辑运算符]!&&

4、

5、[位运算符]~&

6、^(按位异或)a&b;//自动将位宽小的数高位补零至较大数的位宽,然后按位与操作。[移位运算符]<<>>用0填补移出的空位。左移时位宽增加,右移位宽不变。[位拼接运算符]{}例,{a,b}//将a和b拼接起来,作为一个新信号,a为高位。c={a,b[3:0]};//a、b位宽均为8位,c为8+4=12位。【程序框架】[block]Verilog的基本设计单元是“模块”(block),对应于C语言中的函数。Module模块名(端口1,端口2,…);端口定义、IO说明

7、;内部信号声明;功能定义;endmodule注:Verilog—功能块间并行,功能块内串行;C—函数间串行,函数内串行。【语法-知识点】[intial]intial语句在模块中只执行一次。Intialbegin……end[always]一直不断地重复活动,只有和时间控制结合才有作用。例:always#10sys_clk=~sys_clk;Øalways语句是一直重复执行,由敏感表(always语句括号内的变量)中的变量触发。Øalways语句从0时刻开始。Ø在begin和end之间的语句是顺序执行,属于串行语句。Øalways块的时间控制可以是沿触发

8、也可以是电平触发,通常沿触发描述时序逻辑行为,电平触发描述组合行为。【赋值语句】RHS(righthandside)-右手侧,LHS-左手侧。Ø阻塞赋值b=a;在同一个always块中,前一句赋值语句结束后才开始后一个赋值。Ø非阻塞赋值b<=a;赋值开始时同时计算RHS,然后他同时更新LHS注:非阻塞赋值只能用于寄存器类型的变量进行赋值,因此只能用在initial块和always块等过程块中。组合逻辑常用“=”,时序逻辑常用“<=”。不允许在多个always块中对同一个变量进行赋值!【case语句】例:case(num)//控制表达式4’h0:seg

9、_led<=8’b1100_0000;//分支表达式4’h0:seg_led<=8’b1100_0001;…default:4’h0:seg_led<=8’b1100_0000;endcase注:分支表达式的值互不相同;所有表达式的位宽必须相等,不能用’bx代替n’bx;casez比较时不考虑表达式中的高阻值;casex不考虑高阻值z和不定值x。【状态及设计】fsm–有限状态机Ø设计四段论(三段式状态机)²状态空间定义²状态跳转²下个状态判断²各个状态下的动作Ø独热码:每个状态只有一个寄存器置位,如:1000、0100、0010、0001。优点译码简

10、单。Øif/else要配对,以免产生latch(锁存器)。

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

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

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