Verilog篇 四 時序模型

2021-09-08 03:48:57 字數 1286 閱讀 3499

時序模型:**器的時間推進模型,它反映了推進**時間和排程事件的方式。

1)門級時序模型:適用於分析所有的連續賦值語句,過程連續賦值語句,門級原語,使用者自定義原語。

特點:任意時刻,任意輸入變化都將重新計算其輸出。假設已經存在乙個門級時序模型,同時該模型產生的乙個事件已被排程但還未執行,如果事件的結果將導致

乙個新事件產生,**器會撤銷對先前事件的排程,轉而排程新事件。

適用於模擬電路中的慣性延時。適用於組合邏輯建模。

慣性延時:例如在乙個與非門電路中,門延時5ns,那麼任何小於這個延時值的輸入變化都不會對輸出產生影響。

寫法:always @(a or b)  begin  #5 sum = a + b;  end    起始時刻為t,t+5時刻再將此時刻的a+b計算賦值。(right)

always @(a or b)  begin sum = #5 (a+b); end   起始時刻為t,t+5時刻再將t時刻a+b的值賦值給sum。

assign #5 b = ~ a;    //b是a延時5單位後的值。更新a和b都發生在5單位後。(right)

assign b = #5 ~ a;    //b是a延時5單位後,5單位前的值。更新a發生在剛開始,更新b發生在5單位後。

假設clk時鐘為200ns,則 assign #800 clk_delay = clk; 語句執行。 clk_delay將一直保持未初始化的值,因為clk的週期200ns的變化會一直重新整理事件,使得#800的事件一直執行不了。

2)過程時序模型:適用於initial, always, 。

特點:敏感表只是輸入的乙個子集。假設暫存器的乙個更新事件已經被排程,如果再排程同乙個暫存器的另乙個更新事件,即使在同一時刻,前乙個事件也不會被

取消。適用於模擬電路中的傳導延時。適用於時序邏輯建模。

傳導延時:金屬線上的傳輸延時,d觸發器中clk-to-q延時。

寫法:always @(posedge clk or negedge rst_n)  begin

if(~rst_n)     a <= 0;

else  a <= #2b;

end                   //b的值在延時2個單位後,將0時刻時的值賦值給a,期間b的變化不會影響a。(right)

always @(posedge clk or negedge rst_n)  begin

if(~rst_n)     a <= 0;

else  #2 a <= b;

end                   //b的值在延時2個單位後,將2時刻時的值賦值給a,期間b的變化不會影響a。

四 時間 認知 迭代

時間認知.迭代 世界是碎的 人性的深處深不見底 共同認知,破碎的力量 後真相我們過去一般都認為所有的辯論總有乙個正確的一方,總有把道理和事實全部講清楚,我們可以選擇支援的一方,但是至少我自己越來越覺得我不想支援誰。因為我每站乙個立場,實際上我就損失了了解另外乙個立場的機會。自己的認知進步和認知迭代就...

睡 順四時有節律

睡 順四時有節律 傳統養生認為睡覺是第一大補。民間有好多俗話 一夜好睡,精神百倍 徹夜難睡,渾身疲憊。睡個好覺,有如吃個母雞。睡覺為什麼如此重要?那就是老子講的 一 陰一陽謂之道。晚間睡覺是休養生息,養精蓄銳 白天工作學習是能量的釋放。陰陽各半,缺一不可。睡覺與起床都要科學把握時間。黃帝內經 關於養...

PHP函式(四) 時間函式

時間函式 函式名描述 例項輸入 輸出操作 time 返回當前的 unix 時間戳 time int time void 返回自從 unix 紀元 格林威治時間 1970 年 1 月 1 日 00 00 00 到當前時間的秒數 mktime 取得乙個日期的 unix 時間戳 mktime 0,0,0,...