verilog硬件描述语言(二)

verilog硬件描述语言(二)

ID:39991651

大小:1.34 MB

页数:64页

时间:2019-07-16

verilog硬件描述语言(二)_第1页
verilog硬件描述语言(二)_第2页
verilog硬件描述语言(二)_第3页
verilog硬件描述语言(二)_第4页
verilog硬件描述语言(二)_第5页
资源描述:

《verilog硬件描述语言(二)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Verilog硬件描述语言(二)2课程内容一、VerilogHDL运算符二、VerilogHDL语句三、可综合设计一、VerilogHDL运算符按功能分:算术运算符、逻辑运算符、关系运算符、缩减运算符、条件运算符、位运算符、移位运算符、拼接运算符等类。按操作数的个数分:单目运算符、双目运算符、三目运算符。一、VerilogHDL运算符算术运算符(Arithmeticoperator)+加-减*乘/除%求模一、VerilogHDL运算符逻辑运算符(Logicaloperator)&&逻辑与

2、

3、逻辑或!逻辑非一、VerilogHDL运算符ABA&&BA

4、

5、B!A!B1111

6、0000101010110000011一、VerilogHDL运算符位运算符(Bitwiseoperator)~按位取反&按位与

7、按位或^按位异或^~,~^按位同或一、VerilogHDL运算符&01x0000101xx0xx按位与真值表

8、01x001x1111xx1x按位或真值表^01x001x110xxxxx按位异或真值表一、VerilogHDL运算符关系运算符(Relationaloperator)<小于<=小于或等于>大于>=大于或等于注意:“<=”操作符还用于信号的一种赋值一、VerilogHDL运算符缩位运算符(Reductionoperator)~&与非&

9、与

10、或~

11、或非^异或^~,~^同或一、VerilogHDL运算符缩位运算符与位运算符的逻辑运算法则一样,但缩位运算是对单个操作数进行与、或、非递推运算,它放在操作数前面。缩位运算符将一个矢量缩减为一个标量如:reg[3:0]a;b=&a;//等效于:b=((a[0]&a[1])&a[2])&a[3];一、VerilogHDL运算符移位运算符(Shiftoperator)移位操作符只有两个:左移和右移用法:A>>n或A<>右移<<左移一、VerilogHDL运算符条件运算符(Conditionaloperator)这是一

12、个三目运算符,对3个操作数进行运算。用法:signal=condition?true_expression:flase_expression;即:信号=条件?表达式1:表达式2;条件成立时,信号取表达式1的值,反之取2。?一、VerilogHDL运算符举例:01selin0in1out一、VerilogHDL运算符位接运算符{}用法:{信号1的某几位,信号2的某几位,…,信号n的某几位}举例:assign{cout,sum}=a+b+cin;运算符优先级!~高优先级低优先级*/%+-<<>><<=>>===!====!==&~&^^~

13、^~&&

14、

15、?:二、Verilog

16、HDL语句分类类别语句可综合性过程语句always√initial块语句串行块begin-end√并行块fork-join赋值语句持续赋值assign√过程赋值=、<=√条件语句if-else√case√循环语句for√repeatwhileforever编译向导`define√`include√`ifdef,`else,`endif√二、VerilogHDL语句过程语句:alwaysalways@(<敏感信号>)begin//过程赋值//if-else,case选择语句end二、VerilogHDL语句敏感信号类型:@(a)@(aorb)@(posedgeclock)

17、@(negedgeclock)@(posedgeclkornegedgereset)举例:DFFmoduleDFF(d,clk,reset,q,qb);outputq,qb;inputclk,reset,d;regq,qb;always@(posedgeclk)beginif(!reset)beginq<=0;qb<=1;endelsebeginq<=d;qb<=~d;endendendmodule二、VerilogHDL语句特点:只有两种状态:执行状态和等待状态一般由敏感信号的变化来启动各个always间通过信号线进行通信一个always中只允许描述对应于一个时钟信号

18、的同步时序逻辑always之间是并发执行的二、VerilogHDL语句块语句:beginend总是在always内部按顺序执行二、VerilogHDL语句举例:regqa,qb,qc;always@(posedgeclk)beginqa<=d;qb<=qa;qc<=qb;end二、VerilogHDL语句赋值语句:持续赋值语句过程赋值语句二、VerilogHDL语句持续赋值语句:assignc=a&b;二、VerilogHDL语句过程赋值语句:非阻塞赋值“<=”阻塞赋值“=”分为两步骤:右式计算、左式更新二、VerilogHDL语句非阻塞

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

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

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