99在线精品免费视频九九视-99在线精品视频-99在线精品视频免费观里-99在线精品视频在线观看-99在线免费播放



官方論壇
官方淘寶
官方博客
微信公眾號
點擊聯(lián)系吳工 點擊聯(lián)系周老師
您的當前位置:主頁 > FPGA入門基礎 >

【技巧分享】阻塞賦值與非阻塞賦值

發(fā)布時間:2020-03-23   作者:admin 瀏覽量:

創(chuàng) 小黑同學 明德?lián)PFPGA科教 今天

關于阻塞賦值和非阻塞賦值的問題,明德?lián)P的學員提得比較多,今天小黑老師專門給大家普及一下阻塞賦值和非阻塞賦值的相關知識。

  一、概述

1、阻塞賦值對應的電路往往與觸發(fā)沿沒有關系,只與電平的變化有關系。

阻塞賦值符號“=”。


2、非阻塞賦值對應的電路結構往往與邊沿觸發(fā)有關系,只有在觸發(fā)沿時才有可能發(fā)生賦值的情況。

非阻塞賦值符號“<=”。


二、賦值方式

1、阻塞賦值


阻塞賦值操作符用等號(即 = )表示。阻塞賦值時先計算等號右手方向(RHS)部分的值,這時賦值語句不允許任何別的語句的干擾,直到現(xiàn)行的賦值完成時刻,即把RHS賦值給 LHS的時刻,它才允許別的賦值語句的執(zhí)行。一般可綜合的阻塞賦值操作在RHS不能設定有延遲,(即使是零延遲也不允許)。若在RHS 加上延遲,則在延遲期間會阻止賦值語句的執(zhí)行, 延遲后才執(zhí)行賦值,這種賦值語句是不可綜合的,在需要綜合的模塊設計中不可使用這種風格的代碼。


阻塞賦值的執(zhí)行可以認為是只有一個步驟的操作:

所謂阻塞的概念是指在同一個always塊中,其后面的賦值語句從概念上(即使不設定延遲)是在前一句賦值語句結束后再開始賦值的。


如果在一個過程塊中阻塞賦值的RHS變量正好是另一個過程塊中阻塞賦值的LHS變量,這兩個過程塊又用同一個時鐘沿觸發(fā),這時阻塞賦值操作會出現(xiàn)問題,即如果阻塞賦值的次序安排不好,就會出現(xiàn)競爭。若這兩個阻塞賦值操作用同一個時鐘沿觸發(fā),則執(zhí)行的次序是無法確定的。


 

2、非阻塞賦值


非阻塞賦值操作符用小于等于號 (即 <= )表示。在賦值操作時刻開始時計算非阻塞賦值符的RHS表達式,賦值操作時刻結束時更新LHS。在計算非阻塞賦值的RHS表達式和更新LHS期間,其他的Verilog語句,包括其他的Verilog非阻塞賦值語句都能同時計算RHS表達式和更新LHS。非阻塞賦值允許其他的Verilog語句同時進行操作。


非阻塞賦值的操作可以看作為兩個步驟的過程:

     1)在賦值時刻開始時,計算非阻塞賦值RHS表達式。

     2)在賦值時刻結束時,更新非阻塞賦值LHS表達式。


非阻塞賦值操作只能用于對寄存器類型變量進行賦值,因此只能用在“initial”塊和“always”塊等過程塊中。非阻塞賦值不允許用于連續(xù)賦值。

三、舉例

1、阻塞賦值

項目

例     1

例     2

描述

wire ck;
 reg [7:0] a, b, c, d;
 always @( posedge ck )

begin  
   c = b;
   b = a;
   a = d;
  end
 [代入前的初始值]
  a = 5;  c = 10;
  b = 3;  d = 2;

wire ck;
 reg [7:0] a, b, c,  
 always @( posedge ck ) begin 
   a = d; //不同處

  c = b;
   b = a;
  end
 [代入前的初始值]
  a = 5;  c = 10;
  b = 3;  d = 2;

運算結果

a = 2;  c = 3;
 b = 5;  d= 2;

a = 2;  c = 3;
 b = 2;  d= 2;

 

2、非阻塞賦值

項目

例    1

例    2

描述

wire  ck;
 reg [7:0] a, b, c, d;
  always @( posedge ck ) begin  
   c〈 = b;
   b 〈= a;
   〈= d;
  end
 [代入前的初始值]
  a = 5;  c = 10;
  b = 3;  d = 2;

wire  ck;
  reg [7:0] a, b, c,  
  always @( posedge ck ) begin 
   〈= d; //不同處

  c 〈= b;
   b 〈= a;
  end
  [代入前的初始值]
  a = 5;  c = 10;
  b = 3;  d = 2;

運算結果

a = 2;  c = 3;
 b = 5;  d= 2;

a = 2;  c = 3;
 b = 5;  d= 2;

四、總結

綜上所述,明德?lián)P至簡設計法提出這樣的規(guī)則: 


時序邏輯用非阻塞賦值

組合邏輯用阻塞賦值。


  •   
  •   
  •   
  •  
  • FPGA教育領域第一品牌
  • 咨詢熱線:020-39002701
  • 技術交流Q群:544453837
主站蜘蛛池模板: 日本成a人片在线观看网址 日本成人一区二区 | 日韩欧美一区二区三区在线 | 国产女主播在线播放 | 国产ar高清视频+视频 | 三级网址在线 | 中文第一页 | 美国毛片一级 | va免费视频 | 亚洲欧美成人中文在线网站 | 成人午夜毛片 | 国产视频不卡在线 | 久久久久久88色偷偷 | 日韩经典中文字幕 | 高清女女同性一区二区 | 久草黄色 | 国产成人高清精品免费软件 | 午夜激情视频在线观看 | 亚洲欧美中文日韩二区一区 | 日本黄色小视频在线观看 | 欧美在线观看一区二区三区 | 国产亚洲综合精品一区二区三区 | 青青热久久综合网伊人 | 欧美日韩一区二区高清视 | 中文字幕精品视频 | 国产成人亚洲综合无 | 婷婷六月久久综合丁香76 | 操片免费看 | 亚洲综合在线最大成人 | 日本限制级在线 | 国产精品98福利小视频 | 中文字幕专区在线亚洲 | 毛片毛片毛片毛片毛片 | 免费播放国产一级 | 欧美一级大尺度毛片 | 亚洲精品入口一区二区乱成人 | 搡的我好爽视频在线观看 | 全免费一级毛片在线播放 | 欧美色视频日本片免费高清 | 日韩二区三区 | 欧美一二三区视频 | 日韩视频网址 |