




已阅读5页,还剩76页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
sl,1)Net(网络连线):由模块或门驱动的连线。驱动端信号的改变会立刻传递到输出的连线上。例如:右图上,selb的改变,会自动地立刻影响或门的输出。,nets,a,b,selb,sela,nsl,out,如果不明确地说明连接是何种类型,应该是指wire类型。,Verilog语言,2)寄存器(reg)类型数据储存单元的抽象。默认初始值为X常用行为语句结构来给寄存器类型的变量赋值。用来表示always块内的指定信号,a,b,sl,selb,nsl,out,reg_a,reg_sel,reg_b,常为寄存器或触发器的输出,Verilog语言,(在always块内被赋值的每个信号都必须定义成reg型),sela,格式:regn-1:0数据名1,数据名2,数据名i;或regn:1数据名1,数据名2,数据名i;例:regrega;reg3:0regb,regc;可以赋正值也可以赋负值,但当一个reg型数据是一个表达式中的操作数时,它的值被当作无符号值,即正值。如regb被赋值为-1,在表达式中被认为是?,Verilog语言,例:寄存器的声明和使用regreset;initialbeginreset=1b1;#100reset=1b0;end,regsigned63:0m;integeri;,Verilog语言,3)整数、实数和时间寄存器类型integer(通用寄存器数据类型,用于对数量进行操作)例:integercounter;/一般用途,做为计数器initalcounter=-1;real实常量和实寄存器数据类型使用,默认值为0例:realdelta;initialbegindelta=4e10;delta=2.13;endintegeri;initiali=delta;/i的值为2,Verilog语言,time保存仿真时间,通过系统函数$time可以得到当前的仿真时间,例:timesve_sim_time;initialsave_sim_time=$time;,4)向量,线网和寄存器类型的数据均可声明为向量(位宽大于1)。若没有指定位宽,则默认为标量(1位)。,例:wirea;wire7:0bus;wire31:0busA,busB,busC;regclock;reg0:40virtual_addr;/最高有效位为第0位,Verilog语言,向量域选择对上例中向量,可以指定它的某一位或若干个相邻位,busA7bus2:0/不可以写成bus0:2,高位应写在范围说明的左侧virtual_addr0:1,可变的向量域选择,+:width从起始位开始递增,位宽为width-:width从起始位开始递减,位宽为width,Verilog语言,Verilog语言,reg255:0data1;reg0:255data2;reg7:0byte;byte=data131-:8;从第31位算起,宽度为8位,相当于data131:24byte=data124+:8;byte=data231-:8;从第31位算起,宽度为8位,相当于data124:31byte=data224+:8;/起始位可以是变量,但宽度必须为常数for(j=0;j3;/num=00_0000_0001#20regb3;/regb=0000_0001#30num2;/rega=1111_1100#50num12;/num1=00_1111_1100joinendmodule,逻辑右移(非循环)算术右移3);/结果为-2,由于算术运算,右移三位,空缺位补1,数据流级建模,modulerelationals();reg3:0rega,regb,regc;regval;initialbeginrega=4b0011;regb=4b1010;regc=4b0 x10;endinitialfork#10val=regcrega;/val=x#20val=regb=rega;/val=1#40val=regbregc;/val=1#50$finish;joinendmodule,大于=大于等于regc,rega和regc的关系取决于x,关系操作符,数据流级建模,注意逻辑等与case等的差别2b1x=2b0 x值为0,因为不相等2b1x=2b1x值为x,因为可能不相等,也可能相等2b1x=2b0 x值为0,因为不相同2b1x=2b1x值为1,因为相同,=赋值操作符,将等式右边表达式的值拷贝到左边。,=逻辑等,=case等,a=2b1x;b=2b1x;if(a=b)$display(aisequaltob);else$display(aisnotequaltob);,a=2b1x;b=2b1x;if(a=b)$display(aisidenticaltob);else$display(aisnotidenticaltob);,Case等只能用于行为描述,不能用于RTL描述。,相等操作符,数据流级建模,!=逻辑不等,moduleequalities1();reg3:0rega,regb,regc;regval;initialbeginrega=4b0011;regb=4b1010;regc=4b1x10;endinitialfork#10val=rega=regb;/val=0#20val=rega!=regc;/val=1#30val=regb!=regc;/val=x#40val=regc=regc;/val=x#50$finish;joinendmodule,其结果是1b1、1b0或1bx。如果左边及右边为确定值并且不相等,则结果为1。如果左边及右边为确定值并且相等,则结果为0。如果左边及右边有值不能确定的位,但值确定的位相等,则结果为x。!=的结果与=相反,数据流级建模,!=不相同(case不等),moduleequalities2();reg3:0rega,regb,regc;regval;initialbeginrega=4b0011;regb=4b1010;regc=4b1x10;endinitialfork#10val=rega=regb;/val=0#20val=rega!=regc;/val=1#30val=regb=regc;/val=0#40val=regc=regc;/val=1#50$finish;joinendmodule,其结果是1b1、1b0或1bx。如果左边及右边的值相同(包括x、z),则结果为0。如果左边及右边的值不相同,则结果为1。!=的结果与=相反,综合工具不支持,数据流级建模,?:条件,modulelikebufif(in,en,out);inputin;inputen;outputout;assignout=(en=1)?in:bz;endmodulemodulelike4to1(a,b,c,d,sel,out);inputa,b,c,d;input1:0sel;outputout;assignout=sel=2b00?a:sel=2b01?b:sel=2b10?c:d;endmodule,条件操作符,数据流级建模,registger=condition?true_value:false_value;,每个条件操作符必须有三个参数,缺少任何一个都会产生错误。最后一个操作数作为缺省值。,若condition为真,则register=true_value;若condition为假,则register=false_value;如果条件值不确定,则对两个结果逐位比较,true_value=false_value则该位值为操作数中该位值,true_valuefalse_value,则取x。,例如:assignout=(sel=0)?a:b;,若sel为0则out=a;若sel为1则out=b。如果sel为x或z,若a=b=0,则out=0;若ab,则out值不确定。,数据流级建模,级联,从不同矢量中选择位并用它们组成一个新的矢量。,moduleconcatenation;reg7:0rega,regb,regc,regd;reg7:0new;initialbeginrega=8b0000_0011;regb=8b0000_0100;regc=8b0001_1000;regd=8b1110_0000;endinitialfork#10new=regc4:3,regd7:5,regb2,rega1:0;/new=8b11111111#20$finish;joinendmodule,每个操作数必须有确定位宽类似错误的例子:a7:0=4b10;b7:0=25;c3:0=3b011,b0;级联时不限定操作数的数目。在操作符符号中,用逗号将操作数分开。例如:A,B,C,D,级联操作符,数据流级建模,复制,复制一个变量或在中的值,前两个符号之间的正整数指定复制次数。,复制,数据流级建模,modulereplicate();reg3:0rega;reg1:0regb,regc;reg7:0bus;initialbeginrega=4b1001;regb=2b11;regc=2b00;endinitialfork#10bus=4regb;/bus=11111111/regbisreplicated4times.#20bus=2regb,2regc;/bus=11110000.regca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中暑的处理原则知识试题及答案
- 索道钢索涂覆工艺考核试卷及答案
- 盐熔融冷却结晶工艺考核试卷及答案
- 护理床清洗消毒工艺考核试卷及答案
- 油气井作业工艺考核试卷及答案
- 社会工作者考试常识试题及答案
- 碳酸钠乳化工艺考核试卷及答案
- 河湖清淤生态排水排洪加固工考核试卷及答案
- 工艺生产人员技能提升工艺考核试卷及答案
- 乡镇银行招聘试题及答案
- 2025年甘肃普通高中学业水平选择性考试化学真题及答案
- 2025年N1叉车司机模拟考试1000题及答案
- 2025年秋期部编人教版六年级上册语文全册核心素养教案(教学反思无内容+二次备课版)
- 养老护理员培训班课件
- 肾挫裂伤护理
- 不买社保的劳动协议书
- 临水作业安全培训
- 数控机床故障诊断与维修(第4版)(微课版)课件 绪论、1 数控机床常用电气元件、2.1 数控系统及故障排除方法
- 原创简约企业职场新入职员工心态培训
- 《高值医用耗材临床应用点评制度》
- 党校中青班入学考试试题及答案
评论
0/150
提交评论