五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

時序邏輯代碼和硬件

2022-12-09 07:12 作者:明德?lián)P易老師  | 我要投稿

本節(jié)的文檔編號:001100000062

需要看對應(yīng)的視頻,請點擊視頻編號:001100000071

1、本節(jié)主要介紹,時序邏輯的代碼,一般有兩種:同步復(fù)位時序邏輯和異步復(fù)位時序邏輯(本教學(xué)統(tǒng)一采用異步時鐘邏輯);D型觸發(fā)器的介紹,包括:D觸發(fā)器的結(jié)構(gòu)、波形、代碼以及如何看FPGA波形;時鐘的介紹,時鐘的意義,時鐘頻率和時鐘周期的換算;時序邏輯代碼和硬件的關(guān)系,即評估verilog代碼好壞的最基本標準,不是看代碼行數(shù)而是看硬件;阻塞賦值和非阻塞賦值,前者位順序賦值,后者位同時賦值。
2、這是ALTERA和VIVADO文檔

6.4?時序邏輯代碼和硬件

先來分析一下下面這段代碼:

仍然從語法上分析該段代碼的功能。該段代碼總是在“時鐘clk上升沿或者復(fù)位rst_n下降沿”的時候執(zhí)行一次。


具體執(zhí)行方法如下:

1.? ?? ?如果復(fù)位rst_n=0,則q的值為0;

2.? ?? ?如果復(fù)位rst_n=1,則將(a+d)的結(jié)果賦給q(注意,前提條件是時鐘上升沿的時候)。


假設(shè)用信號c表示a+d的結(jié)果,則第2點可改為:如果復(fù)位rst_n=1,則將c的值賦給q(注意,前提條件是時鐘上升沿的時刻)。很明顯這是一個D觸發(fā)器,輸入信號為d,輸出為q,時鐘為clk,復(fù)位為rst_n,其電路示意圖如下圖所示:

可知c是a+d的結(jié)果,因此其自然是通過一個加法器實現(xiàn),畫出上面代碼所對應(yīng)的電路結(jié)構(gòu)圖,可以看出在D觸發(fā)器的基礎(chǔ)上增加了一個加法器。

很容易分析出上面電路的功能:信號a和信號b相加得到c,c連到D觸發(fā)器的輸入端。當clk出現(xiàn)上升沿時,將c的值傳給q。這與代碼功能是一致的。

下面是代碼和硬件所對應(yīng)的波形圖。

先看信號c的波形:c的產(chǎn)生只有與a和d有關(guān),與rst_n和clk無關(guān)。c是a+d的結(jié)果,按照二進制加法:0+0=0,0+1=1,1+1=0可以畫出c的波形。

在第1個時鐘期間,a=0,d=0,所以c=0+0=0;

在第2個時鐘期間,a=1,d=0,所以c=1+0=1;

在第3個時鐘期間,a=1,d=1,所以c=1+1=0;

在第4個時鐘期間,a=0,d=1,所以c=0+1=1;

在第5到第6個時鐘期間,a=0,d=0,所以c=0+0=0;

在第7個時鐘期間,a=1,d=1,所以c=1+1=0;

在第8個時鐘期間,a=0,d=1,所以c=0+1=1;

在第9個時鐘期間,a=0,d=0,所以c=0+0=0;

在第10個時鐘期間,a=0,d=1,所以c=0+1=1。

再看信號q的波形:q是D觸發(fā)器的輸出,其只在rst_n的下降沿或者clk的上升沿才變化,其他時刻不變化,即a、d、c發(fā)生變化時,q不會立刻發(fā)生改變。

下面具體分析每個時鐘下q信號的情況:

在rst_n由1變0時,q立刻變成0。

在第2個時鐘上升沿,看到rst_n為0。按代碼功能,q仍然為0。

在第3個時鐘上升沿,看到rst_n為0。按代碼功能,q仍然為0。

在第4個時鐘上升沿,看到rst_n為1,c值為0,q值為0。按代碼功能,q變成0;

在第5個時鐘上升沿,看到rst_n為1,c值為1,q值為0。按代碼功能,q變成1;

在第6個時鐘上升沿,看到rst_n為1,c值為0,q值為1。按代碼功能,q變成0;

在第7個時鐘上升沿,看到rst_n為1,c值為0,q值為0。按代碼功能,q變成0;

在第8個時鐘上升沿,看到rst_n為1,c值為0,q值為0。按代碼功能,q變成0;

在第9個時鐘上升沿,看到rst_n為1,c值為1,q值為0。按代碼功能,q變成1;

在第10個時鐘上升沿,看到rst_n為1,c值為0,q值為1。按代碼功能,q變成0;

在第11個時鐘上升沿,看到rst_n為1,c值為1,q值為0。按代碼功能,q變成1。


在討論時序邏輯的加法器時,筆者對加法器的輸出c和D觸發(fā)器的輸出q分開進行討論,就像兩塊獨立的電路。同樣的道理,在設(shè)計Verilog代碼時也可以將其分開來進行編寫。

先將下面的硬件電路用Verilog描述出來:

該電路對應(yīng)的電路可以寫成:

也可以寫成:

上面的兩段代碼,都是描述同一加法器硬件電路。接著用Verilog對觸發(fā)器進行描述。


其代碼的寫法如下:

最后可以看到,兩段代碼都有信號c,說明這兩段代碼是相連的,利用硬件連接起來可以變成如下圖所示的電路。


由此可見,下面兩段代碼所對應(yīng)的硬件電路是一模一樣的。



有的讀者也許會問:這兩種代碼哪一種比較好呢?答案是這兩段代碼并無區(qū)別,因為兩者的硬件是相同的。由此也可以得知評估verilog代碼好壞的最基本標準,即不是看代碼行數(shù)而是看硬件。


時序邏輯代碼和硬件的評論 (共 條)

分享到微博請遵守國家法律
娄烦县| 株洲县| 罗定市| 红原县| 油尖旺区| 吉木萨尔县| 宜州市| 锦屏县| 察隅县| 澄迈县| 祁阳县| 南康市| 桦南县| 安徽省| 漳浦县| 辉县市| 铜山县| 射阳县| 濉溪县| 赤壁市| 仙游县| 嵊州市| 宿迁市| 海盐县| 盖州市| 镇远县| 喀什市| 柘城县| 南和县| 浠水县| 张家界市| 兖州市| 古丈县| 建瓯市| 辰溪县| 桑日县| 芦溪县| 海盐县| 吉首市| 黔江区| 徐水县|