最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ù)而是看硬件。


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

分享到微博請遵守國家法律
喀喇| 章丘市| 呼和浩特市| 临西县| 双峰县| 平昌县| 沅江市| 汾西县| 综艺| 巫溪县| 南召县| 天台县| 晋城| 舞钢市| 屯门区| 蒙山县| 伊宁市| 南部县| 德安县| 隆德县| 胶南市| 阿图什市| 揭东县| 靖安县| 彩票| 惠州市| 富川| 涡阳县| 纳雍县| 寿宁县| 班玛县| 扬州市| 贞丰县| 正镶白旗| 湘阴县| 工布江达县| 津市市| 济南市| 永定县| 铜川市| 武安市|