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