最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網
技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

大家看這個代碼有什么問題嗎?

作者:radeonlcl 欄目:EDA技術
大家看這個代碼有什么問題嗎?
夏宇聞verilog數字系統(tǒng)設計教程P147
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;
     else  y1=y2;
   always @(posedge clk or posedge rst)
     if(rst) y2=1;
     else  y2=y1;
endMODULE
因為阻塞賦值,所以如果前一個always模塊的復位信號先到0時刻,則y1,y2都會取1,而如果后一個always模塊的復位信號先到0時刻,則y1,y2都會取0。
為什么那?

如果吧阻塞賦值改成非阻塞賦值無論那個always的復位信號先到在always模塊結束時y1=0,y2=1是確定的,這是為什么?

哪位大哥幫忙解釋一下?

2樓: >>參與討論
xjg1111
像這種可以用全局時鐘的,我從來沒用想過用阻塞觸發(fā)!
 
3樓: >>參與討論
wqi1012
回復!
你這個問題是非阻塞賦值得概念問題.
非阻塞賦值所存的實時鐘沿前的值,在時鐘沿處,如果數值有變化,在下一周期才會體現出來!

我也不知道說的對不對,請其他高手指教

4樓: >>參與討論
xjg1111
re
阻塞是語句執(zhí)行后,便執(zhí)行。
非阻塞是塊完全執(zhí)行后,塊內的一起執(zhí)行。
所以在實際運用中,為了避免毛毛刺兒的后級傳遞,盡量采用全局時鐘的非阻塞觸發(fā)。

* - 本貼最后修改時間:2005-1-31 21:04:18 修改者:xjg1111

5樓: >>參與討論
radeonlcl
望高手指教,歡迎大家討論。
夏宇聞的書有些例子太別扭了,實際中大概根本沒有人這么用,他就是為了介紹他的概念故意編出來這么別扭的代碼來說明問題。

6樓: >>參與討論
ltvxworks
有問題
"因為阻塞賦值,所以如果前一個always模塊的復位信號先到0時刻,則y1,y2都會取1,而如果后一個always模塊的復位信號先到0時刻,則y1,y2都會取0。
為什么那? "

引用樓主:其實如果代表實際中就不知道是哪個always模塊的復位信號先到0時刻,就有不確定性,那么就沒有必要用了。
而用非阻塞賦值,你所想要的答案是確定的,而且可以用到一些技巧中。
比如
input  rxd;
input  clk16x;
input  rst;
reg rxd1;
reg rxd2;
reg clk1x_enable;
reg [3:0] no_bits_rcvd;

always @(posedge clk16x or posedge rst)
begin
if (rst)
begin
rxd1 <= 1'b1;
rxd2 <= 1'b1;
end
else
begin
rxd1 <= rxd;   
rxd2 <= rxd1;  
end
end

always @(posedge clk16x or posedge rst)
begin
if (rst)
clk1x_enable <= 1'b0;
else if (!rxd1 && rxd2)         
clk1x_enable <= 1'b1 ;
else if (no_bits_rcvd == 4'B1001)
begin
clk1x_enable <= 1'b0;
end
end

看到有這樣的說法,共同理解吧。
By using non_blocking statements it is made sure that right hand side of the statement is evaluated and stored before assignments are done.


7樓: >>參與討論
radeonlcl
為什么會這樣?
如果前一個always模塊的復位信號先到0時刻,則y1,y2都會取1,而如果后一個always模塊的復位信號先到0時刻,則y1,y2都會取0。
?????????????????????????????

8樓: >>參與討論
xjg1111
RE
贊同 ltvxworks
樓主的寫法的確有不確定性,在實際運用中這是不允許的。

9樓: >>參與討論
radeonlcl
各位大哥,俺知道有不確定性啊,誰給解釋一下why?
小弟初學,看不懂啊。

參與討論
昵稱:
討論內容:
 
 
相關帖子
問個比較弱智的問題,別見笑了!
spartan 3與5v器件連接的問題
幫忙分析原因
EPM7064LC68-15
請問EPM7128S I/O輸出只有3V(電源都是5V)怎么回事,謝謝指點
免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號