中国高校课件下载中心 》 教学资源 》 大学文库

《通信原理实验》课程电子教案(PPT讲稿)Verilog HDL数字系统设计与综合实验——第04讲 数据流建模

文档信息
资源类别:文库
文档格式:PPT
文档页数:34
文件大小:502KB
团购合买:点击进入团购
内容简介
《通信原理实验》课程电子教案(PPT讲稿)Verilog HDL数字系统设计与综合实验——第04讲 数据流建模
刷新页面文档预览

第四讲数据流建模 西安邮电学院通信工程系 第四讲数据流建模 内容: 连续赋值语句(assign) 表达式与操作数 运算符 冬数据流建模 冬赋值延时与线网延时 冬举例

第四讲 数据流建模 西安邮电学院通信工程系 第 四讲 数据流建模 内容: ❖ 连续赋值语句(assign) ❖ 表达式与操作数 ❖ 运算符 ❖ 数据流建模 ❖ 赋值延时与线网延时 ❖ 举例

第四讲数据流建模 西安邮电学院通信工程系 数据流建模 编译指令 模块定义 时序特性 Compiler directives module (port list) timig specifications 端口说明 数据类型说明 电路功能描述 子程序 Port declarations Data type declarations Circuit functionality subprograms 模块实例 输入 线网类型 instantiation 任务 input net task 连续赋值 过程块 输出 寄存器类型 函数 Continuous Procedural function output register assignment blocks 双向 参数 赋值语句 过程块语句 系统任务和函数 inout parameter assign initial block System task always block function

第四讲 数据流建模 西安邮电学院通信工程系 数据流建模 模块定义 module(port list) 时序特性 timig specifications 端口说明 Port declarations 输入 input 双向 inout 输出 output 数据类型说明 Data type declarations 线网类型 net 参数 parameter 寄存器类型 register 电路功能描述 Circuit functionality 子程序 subprograms 任务 task 函数 function 系统任务和函数 System task & function 编译指令 Compiler directives 连续赋值 Continuous assignment 赋值语句 assign 过程块 Procedural blocks 过程块语句 initial block always block 模块实例 instantiation

第四讲数据流建模 西安邮电学院通信工程系 连续赋值语句(assign) ?连续赋值语句将值赋给线网信号(连续赋值不能为寄存 器信号赋值),它的格式如下(简单形式): assign net_value=expression(表达式); 例:wire[3:O]Z,preset,clear;∥线网说明 assign Z=preset&clear;/连续赋值语句 冬连续赋值的简化形式: assign Mux=(S==0)?A:'bz, assign Mux=(S==0)?A:'bz: Mux=(S==1)?B:'bz. assign Mux=(S==1)?B:'bz; Mux=(S==2)?C:'bz, assign Mux=(S==2)?C 'bz; Mux=(S==3)?D:'bz; assign Mux=(S==3)?D 'bz; 四个语句并行执行

第四讲 数据流建模 西安邮电学院通信工程系 连续赋值语句(assign) ❖ 连续赋值语句将值赋给线网信号(连续赋值不能为寄存 器信号赋值),它的格式如下(简单形式): assign net_value = expression(表达式); ❖ 例:wire [3:0] Z, preset, clear; // 线网说明 assign Z = preset & clear ; //连续赋值语句 ❖ 连续赋值的简化形式: assign Mux = (S = = 0)? A : 'bz, Mux = (S = = 1)? B : 'bz, = Mux = (S = = 2)? C : 'bz, Mux = (S = = 3)? D : 'bz; assign Mux = (S = = 0)? A : 'bz; assign Mux = (S = = 1)? B : 'bz; assign Mux = (S = = 2)? C : 'bz; assign Mux = (S = = 3)? D : 'bz; 四个语句并行执行

第四讲数据流建模 西安邮电学院通信工程系 表达式与操作数 ?表达式由操作数和运算符组成。 。操作数可以是以下类型中的一种: 1)常数: 35,4b1011,8'h0A; 2)参数: parameter LOAD 4'd12 3)线网信号(变量): wire clk; 4)寄存器信号(变量): reg [3:0]state; 5)位选择信号(变量): state[2]; 6)部分选择信号(变量): state[2:1]; 7)存储器单元信号(变量):reg[7:0]mem[255:0]; 8)函数调用值: $time;

第四讲 数据流建模 西安邮电学院通信工程系 表达式与操作数 ❖ 表达式由操作数和运算符组成。 ❖ 操作数可以是以下类型中的一种: 1) 常数: 35,4‘b10_11, 8’h0A; 2) 参数: parameter LOAD = 4‘d12 ; 3) 线网信号(变量): wire clk; 4) 寄存器信号(变量) : reg [3:0] state; 5) 位选择信号(变量) : state[2]; 6) 部分选择信号(变量) : state[2:1]; 7) 存储器单元信号(变量) :reg [7:0] mem[255:0]; 8) 函数调用值: $time;

第四讲数据流建模 西安邮电学院通信工程系 运算符 运算符分类 所含运算符 算术运算符 十,*,/,%,** 位运算符 N&() 缩位运算符 &,N&,I,l,A,AN(NA) 逻辑运算符 ,&&,I川 关系运算符 ,= 相等与全等运算符 ==,=,===,== 逻辑移位运算符 > 连接与复制运算符 {} 条件运算符 ?:

第四讲 数据流建模 西安邮电学院通信工程系 运算符 运算符分类 所含运算符 算术运算符 +,-,*,/,%,** 位运算符 ~,&,|,^,^~(~^) 缩位运算符 &,~&,|,~|,^,^~(~^) 逻辑运算符 !,&&,|| 关系运算符 ,= 相等与全等运算符 ==,!=,===,!== 逻辑移位运算符 > 连接与复制运算符 { } 条件运算符 ? :

第四讲数据流建模 西安邮电学院通信工程系 运算符的优先级 一元加 > 右移 一元减 小于 一元逻组非 6= 小于等于 一元按位求反 大于 & 归约与 >= 大于等于 -& 归约与非 == 逻辑相等 归约异或 l 逻辑不等 或 归约异或非 全等 归约或 = 非全等 归约或非 & 按位与 乘 按位异或 除 按位异或非 % 取模 按位或 二元加 && 逻辑与 二元减 I 逻辑或 < 左移 7 条件操作符

第四讲 数据流建模 西安邮电学院通信工程系 运算符的优先级

第四讲数据流建模 西安邮电学院通信工程系 算术运算符 冬+,:一元或二元加、减。 一元加、减:+5,-4。用于表示操作数正负。 二元加、减:a+b;3+2;6-1; 冬无符号数加减: wire、reg信号和基数格式的整数是无符号数。 例:wire[4:0]a,b,sum,sub; assign a=4b1001;assign b=4b0100; assign sum=a+b;/和sum=4'b1101; assign sub=a-b;//sub=4'b0101;

第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ +,- :一元或二元加、减。 一元加、减:+5, -4。用于表示操作数正负。 二元加、减:a+b; 3+2; 6-1; ❖ 无符号数加减: wire、reg信号和基数格式的整数是无符号数。 例:wire [4:0] a,b,sum,sub; assign a=4’b1001; assign b=4’b0100; assign sum=a+b; // 和sum=4’b1101; assign sub=a-b; // 差sub=4’b0101;

第四讲数据流建模 西安邮电学院通信工程系 算术运算符 冬有符号数加减: integer、.real变量和十进制整数、实数是有符号数。 integer a,b,sum,sub;real d1,d;reg [5:0]bar; initial begin a=10;b=-3;d1=3.5; sum=a+b;/ sum=7 sub=a-b; /sub=13 d=d1-2.3;/ d=1.2 bar=-4'd12;// bar=6b110100。-12的补码 end

第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ 有符号数加减: integer、real变量和十进制整数、实数是有符号数。 例 integer a,b,sum,sub; real d1,d; reg [5:0] bar; initial begin a=10; b=-3; d1=3.5; sum= a+b; // sum=7 sub= a-b; // sub=13 d= d1-2.3; // d=1.2 bar= -4’d12; // bar=6’b110100。-12的补码 end

第四讲数据流建模 西安邮电学院通信工程系 算术运算符 必*,/,%,*乘、除、取模和乘方运算与C语言相似,但/,%,*运 算只能用于仿真,目前还不能用于电路设计。 ”%:取模运算结果为余数,结果符号与第一运算符保持一致。 例:一10%3,结果为一1;10%-3,结果为1 integer a,b,sum,sub;real d1,d,m;reg [5:0]bar; initial begin a=10;b=-3;d1=3.5; sum=a*b; /sum=-30 sub=a/b; /结果取整, sub=-3 d=d1*2.3;/ d=8.05 bar=d/2; /1 4.025取整; bar=6b000100. m=d1**2; /m=12.25 end

第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ *, / , % , ** 乘、除、取模和乘方运算与C语言相似,但 / , % , **运 算只能用于仿真,目前还不能用于电路设计。 ❖ % :取模运算结果为余数,结果符号与第一运算符保持一致。 例:-10%3,结果为-1; 10%-3,结果为1 ❖ 例:integer a,b,sum,sub; real d1,d,m; reg [5:0] bar; initial begin a=10; b=-3; d1=3.5; sum= a*b; // sum=-30 sub= a/b; // 结果取整,sub=-3 d= d1*2.3; // d=8.05 bar= d/2; // 4.025取整; bar=6’b000100。 m= d1**2; // m=12.25 end

第四讲数据流建模 西安邮电学院通信工程系 算术运算符 运算符中有不定态,则一般结果也为不定。 例:assign sum=4b101x+4b1010; 计算结果为sum=4 bxxxx 算术表达式结果的长度由最长的操作数决定。 例:reg[3:0]Arc,Bar=4'b1000,Crt=4'b1100; reg [5:0]Frx; Arc=Bar+Crt,/Arc=4b0100,结果的长度为4位,溢出丢弃 Frx=Bar+Crt;/Frx=6b010100,结果的长度为6位,溢出存 /∥在Fx[4]

第四讲 数据流建模 西安邮电学院通信工程系 算术运算符 ❖ 运算符中有不定态,则一般结果也为不定。 例: assign sum = 4’b101x +4’b1010; 计算结果为 sum = 4’bxxxx ❖ 算术表达式结果的长度由最长的操作数决定。 例:reg [3:0] Arc, Bar=4’b1000, Crt=4’b1100; reg [5:0] Frx; Arc = Bar + Crt; //Arc=4’b0100, 结果的长度为4位,溢出丢弃 Frx = Bar + Crt; // Frx=6’b010100, 结果的长度为6位,溢出存 // 在Frx[4]

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档