第六讲行为建模 西安邮电学院通信工程系 第六讲行为建模2 内容: ”条件语句 冬分支语句 冬循环语句 任务与函数 冬禁止命名块和任务 ·常用系统任务和函数
第六讲 行为建模 西安邮电学院通信工程系 第 六讲 行为建模2 内容: ❖ 条件语句 ❖ 分支语句 ❖ 循环语句 ❖ 任务与函数 ❖ 禁止命名块和任务 ❖ 常用系统任务和函数
第六讲行为建模 西安邮电学院通信工程系 条件语句(if一else) 语法1:if(条件表达式)块语句 条件表达式为逻辑真和逻辑1时执行块语句,其它如0、 x、z均为条件不成立。 一条没有else语句的f语句映射到硬件上,形成的是一 个锁存器。如: always @(enable or dada) enable data out if(enbale) 1 d d out-data; 0 X d
第六讲 行为建模 西安邮电学院通信工程系 条件语句(if-else) ❖ 语法1:if(条件表达式) 块语句 ❖ 条件表达式为逻辑真和逻辑1时执行块语句,其它如0、 x、z均为条件不成立。 ❖ 一条没有else语句的if语句映射到硬件上,形成的是一 个锁存器。如: always @(enable or dada) if(enbale) out=data; enable data out 1 d d 0 x d
第六讲行为建模 西安邮电学院通信工程系 条件语句(if一else) 语法2:f(条件表达式1) 块语句1 else if(条件表达式2)块语句2 else if(条件表达式n)块语句n else块语句n+1 ?常用于多路选择控制: 条件判断的先后顺序隐含条件的优先级关系: ~注意有时电路设计不需要优先级(使用case语句描述可得到并行 条件,综合器相关); 冬可以嵌套使用: 必 如无块标识符,else语句与最近的f配对
第六讲 行为建模 西安邮电学院通信工程系 条件语句(if-else) ❖ 语法2: if(条件表达式1) 块语句1 else if(条件表达式2) 块语句2 . else if (条件表达式n) 块语句n else 块语句n+1 ❖ 常用于多路选择控制; ❖ 条件判断的先后顺序隐含条件的优先级关系; ❖ 注意有时电路设计不需要优先级(使用case语句描述可得到并行 条件,综合器相关); ❖ 可以嵌套使用; ❖ 如无块标识符,else语句与最近的if配对
第六讲行为建模 西安邮电学院通信工程系 条件语句(if一else) 例: always(@(enable or dada aor data b)/∥信号有变化执行if语句 if(enable) out=data a;/enable=-l,执行 else out=data b,/enable=0,执行 冬综合结果将产生一个二选一的多路选择器(MUX)。 等效于语句:assign out=-(enable)?data a:data_b; 冬条件要完备,否则产生锁存器
第六讲 行为建模 西安邮电学院通信工程系 条件语句(if-else) ❖ 例: always@(enable or dada_a or data_b) //信号有变化执行if语句 if(enable) out=data_a; //enable=1,执行 else out=data_b; //enable=0,执行 ❖综合结果将产生一个二选一的多路选择器(MUX)。 ❖等效于语句: assign out=(enable) ? data_a : data_b; ❖条件要完备,否则产生锁存器
第六讲行为建模 西安邮电学院通信工程系 条件语句(if-else) 例:同步清零D触发器描述 module dff_1(q,d,clear,clk); output q; input d,clear,clk; reg q; always@(posedge clk)∥时钟clk上升沿执行if语句操作 if(!clear) ∥时钟clk上升沿时刻,clear为0, q<=0; ∥则输出q为0。 else q<=d; 时钟clk上升沿时刻,clear为1,d赋给q。 endmodule
第六讲 行为建模 西安邮电学院通信工程系 条件语句(if-else) 例: module dff_1(q,d,clear,clk); output q; input d,clear,clk; reg q; always @(posedge clk) // 时钟clk上升沿执行if语句操作 if(!clear) // 时钟clk上升沿时刻,clear为0, q<=0; //则输出q为0。 else q<=d; //时钟clk上升沿时刻,clear为1,d赋给q。 endmodule 同步清零D触发器描述