《通信集成电路设计》课程教学课件(PPT讲稿)深入理解阻塞非阻塞

阻塞赋值"ALIS大T阻塞赋值的执行可以认为是只有一个步骤的操作:计算RHS并更新LHS,此时不能允许有来自任何其他Verilog语句的干扰。所谓阻塞的概念是指在同一个always块中,其后面的赋值语句从概念上(即使不设定延迟)是在前一句赋值语句结束后再开始赋值的。如果在一个过程块中阻塞赋值的RHS变量正好是另一个过程块中阻寒赋值的LHS变量,这两个过程块又用同一个时钟沿触发,这时阻塞赋值操作会出现问题,即如果阻塞赋值的次序安排不好,就会出现竞争。22025/12/3
2 2025/12/3 阻塞赋值 ❖ 阻塞赋值的执行可以认为是只有一个步骤的 操作: ❖ 计算RHS并更新LHS,此时不能允许有来自 任何其他Verilog语句的干扰。 所谓阻塞的概念 是指在同一个always块中,其后面的赋值语句从 概念上(即使不设定延迟)是在前一句赋值语句 结束后再开始赋值的。 ❖ 如果在一个过程块中阻塞赋值的RHS变量正 好是另一个过程块中阻塞赋值的LHS变量,这两 个过程块又用同一个时钟沿触发,这时阻塞赋值 操作会出现问题,即如果阻塞赋值的次序安排不 好,就会出现竞争

阻塞赋值1909Tmodulefbosc1(y1,y2,clk,rst);OTONGoutputy1,y2;input clk, rst;reg y1,y2;always@(posedgeclkorposedgerst)if(rst)y1=0;l/resetelsey1=y2;always@(posedgeclkorposedgerst)if (rst)y2 =1; Il presetelsey2=y1;endmodule32025/12/3
3 2025/12/3 阻塞赋值 module fbosc1 (y1, y2, clk, rst); output y1, y2; input clk, rst; reg y1, y2; always @(posedge clk or posedge rst) if (rst) y1 = 0; // reset else y1 = y2; always @(posedge clk or posedge rst) if (rst) y2 = 1; // preset else y2 = y1; endmodule

非阻塞赋值.ALIS大OTONG非阻塞赋值的操作可以看作为两个步骤的过程:在赋值时刻开始时,计算非阻塞赋值RHS表达式在赋值时刻结束时,更新非阻塞赋值LHS表达式。2025/12/3
4 2025/12/3 非阻塞赋值 ❖非阻塞赋值的操作可以看作为两个步骤的过程: ▪ 在赋值时刻开始时,计算非阻塞赋值RHS表达式。 ▪ 在赋值时刻结束时,更新非阻塞赋值LHS表达式

非阻塞赋值1909TOTONGmodulefbosc2(y1,y2,clk,rst);outputy1,y2;input clk,rst;reg y1,y2;always@(posedgeclkorposedgerst)if(rst)y1<=0;// resetelse y1<=y2;always@(posedgeclkorposedgerst)if(rst)y2<=1; l/ presetelse y2<=y1;endmodule52025/12/3
5 2025/12/3 非阻塞赋值 module fbosc2 (y1, y2, clk, rst); output y1, y2; input clk, rst; reg y1, y2; always @(posedge clk or posedge rst) if (rst) y1 <= 0; // reset else y1 <= y2; always @(posedge clk or posedge rst) if (rst) y2 <= 1; // preset else y2 <= y1; endmodule

Verilog模块编程要点-ALIS大支时序电路建模时,用非阻塞赋值。TONG锁存器电路建模时,用非阻塞赋值。用always块建立组合逻辑模型时,用阻塞赋值。在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。在同一个always块中不要既用非阻塞赋值又用阻塞赋值。不要在一个以上的always块中为同一个变量赋值。用sstrobe系统任务来显示用非阻塞赋值的变量值心在赋值时不要使用#0延迟2025/12/3
6 2025/12/3 Verilog模块编程要点 ❖ 时序电路建模时,用非阻塞赋值。 ❖ 锁存器电路建模时,用非阻塞赋值。 ❖ 用always块建立组合逻辑模型时,用阻塞赋值。 ❖ 在同一个always块中建立时序和组合逻辑电路 时,用非阻塞赋值。 ❖ 在同一个always块中不要既用非阻塞赋值又用 阻塞赋值。 ❖ 不要在一个以上的always块中为同一个变量赋 值。 ❖ 用$strobe系统任务来显示用非阻塞赋值的变量 值 ❖ 在赋值时不要使用 #0 延迟

移位寄存器模型TOTONGqlq3g2clk移位寄存器电路2025/12/3
7 2025/12/3 移位寄存器模型 q1 q2 q3 d clk 移位寄存器电路

阻塞赋值实现移位寄存器模型1909XTOTONGmodulepipeb1(q3,d,clk);modulepipeb2(q3,d,clk):output[7:o]q3;output[7:0]q3;input [7:0] d;input [7:0] d;inputclk;inputclk;reg[7:0]q3,q2,q1;reg[7:0]q3, q2, q1;always@(posedgeclk)always@(posedgeclk)beginbeginq1=d;q3=q2;q2=q1;q2= q1;Xq1= d;q3=q2;endend综合结果endmoduleendmodule02025/12/3
8 2025/12/3 阻塞赋值实现移位寄存器模型 module pipeb1 (q3, d, clk); output [7:0] q3; input [7:0] d; input clk; reg [7:0] q3, q2, q1; always @(posedge clk) begin q1 = d; q2 = q1; q3 = q2; end endmodule module pipeb2 (q3, d, clk); output [7:0] q3; input [7:0] d; input clk; reg [7:0] q3, q2, q1; always @(posedge clk) begin q3 = q2; q2 = q1; q1 = d; end 综合结果 endmodule × √

大TOTONGq3Cclk实际综合的结果92025/12/3
9 2025/12/3 q3 d clk 实际综合的结果

阻塞赋值实现移位寄存器模型1909大T支OTONGmodulepipeb4 (q3,d,clk);modulepipeb3(q3,d,clk);output[7:0]q3;output[7:0]q3;input [7:0] d;input [7:0] d;inputclk;inputclk;reg[7:0]q3,q2,q1;reg[7:0] q3, q2, q1;always@(posedgeclk)q1=d;always@(posedgeclk)q2=q1;always@(posedgeclk)q2=q1;always@(posedgeclk)q3=q2;always@(posedgeclk)q3=q2;always@(posedgeclk)q1=d;endmoduleendmodulenot goodnotgood102025/12/3
10 2025/12/3 阻塞赋值实现移位寄存器模型 module pipeb3 (q3, d, clk); output [7:0] q3; input [7:0] d; input clk; reg [7:0] q3, q2, q1; always @(posedge clk) q1 = d; always @(posedge clk) q2 = q1; always @(posedge clk) q3 = q2; endmodule module pipeb4 (q3, d, clk); output [7:0] q3; input [7:0] d; input clk; reg [7:0] q3, q2, q1; always @(posedge clk) q2 = q1; always @(posedge clk) q3 = q2; always @(posedge clk) q1 = d; endmodule not good not good

非阻塞赋值实现移位寄存器模型1909"ALIS大TOTONGmodulepipen2 (q3, d,clk);modulepipen1(q3,d,clk);output[7:0]q3;output[7:0]q3;input [7:0] d;input[7:0]d;clk;inputclk;inputreg[7:0] q3, q2, q1;reg[7:0]q3,q2,q1;always@(posedgeclk)always@(posedgeclk)beginbeginq1<=d;q3<= q2;q2<=q1;q2<=q1;q3 <= q2;q1<= d;endendendmoduleendmodule112025/12/3
11 2025/12/3 非阻塞赋值实现移位寄存器模型 module pipen1 (q3, d, clk); output [7:0] q3; input [7:0] d; input clk; reg [7:0] q3, q2, q1; always @(posedge clk) begin q1 <= d; q2 <= q1; q3 <= q2; end endmodule module pipen2 (q3, d, clk); output [7:0] q3; input [7:0] d; input clk; reg [7:0] q3, q2, q1; always @(posedge clk) begin q3 <= q2; q2 <= q1; q1 <= d; end endmodule √ √
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《通信集成电路设计》课程教学课件(PPT讲稿)同步状态机设计.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)代码编写技术.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)数字电路设计中的基本概念.ppt
- 《通信集成电路设计》课程教学资源(文献资料)Quartus使用手册.pdf
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 5 Field-Effect Transistors(FETs).pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 10 Analog intergrated circuits.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 9 output stages and power amplifiers.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 8 Feedback.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 7 Frequency Response.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 12 Signal generators and waveform-shaping circuit.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 6 Differential and Multistage Amplifiers Introduction.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 5 Bipolar Junction Transistor(BJT).pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 4 MOS Field-Effect Transistors(MOSFETs).pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)chapter 3 Diodes(Functionality and Physical Operation).pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)Chapter Introduction to Electronics.pptx
- 上海交通大学:《模拟电子技术》课程教学资源(PPT课件)Introduction Analog Electronic Technology.pptx
- 北京交通大学:《电路 Circuits》课程教学课件(讲稿)第二章 线性电路分析方法 第一节 线性电路和叠加定理 第二节 等效分析法 第三节 戴维南定理与诺顿定理.pdf
- 北京交通大学:《电路 Circuits》课程教学课件(讲稿)第一章 基本概念和基本规律 第一节 电路模型 第二节 电路变量.pdf
- 北京交通大学:《电路 Circuits》课程教学课件(讲稿)第一章 基本概念和基本规律 第三节 连接约束关系 第四节 元件约束关系.pdf
- 北京交通大学:《电路 Circuits》课程教学课件(讲稿)第一章 基本概念和基本规律 第五节 用两类约束求解电路 第六节 受控元件.pdf
- 《通信集成电路设计》课程教学课件(PPT讲稿)第五章 常用Verilog语法之三.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)第一章 概述(北京交通大学:周晓波).ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)第二章 Verilog语法的基本概念.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)第六章 常用Verilog语法之四.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)第三章 常用Verilog语法之一.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)第四章 常用Verilog语法之二.ppt
- 《通信集成电路设计》课程教学课件(PPT讲稿)数字电路设计中的基本概念.pptx
- 《通信集成电路设计》课程教学课件(PPT讲稿)第六章 常用Verilog语法之四.ppt
- 北京航空航天大学出版社:《Verilog数字系统设计教程》书籍教材PDF电子版(第二版,编著:夏宇闻).pdf
- 《通信集成电路设计》课程教学课件(PPT讲稿)第五章 常用Verilog语法之三.ppt
