0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA學(xué)習(xí)系列:6.組合邏輯和時序邏輯

FPGA學(xué)習(xí)交流 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-05-31 11:40 ? 次閱讀

設(shè)計背景:

Verilog HDL語言分為面向綜合和面向仿真兩大類語句,且可綜合語句遠(yuǎn)少于仿真語句,讀者可能會有可綜合設(shè)計相對簡單的感覺。然而事實剛好與此相反,這是因為:首先,可綜合設(shè)計是用來構(gòu)建硬件平臺的,因此對設(shè)計的指標(biāo)要求很高,包括資源、頻率和功耗,這都需要通過代碼來體現(xiàn);其次,在實際開發(fā)中要利用基本Verilog HDL語句完成種類繁多的硬件開發(fā),給設(shè)計人員帶來了很大的挑戰(zhàn)。所有的仿真語句只是為了可綜合設(shè)計的驗證而存在。為了讓讀者深入地理解可綜合設(shè)計、靈活運用已學(xué)內(nèi)容,本章將可綜合設(shè)計中的基本知識點和難點提取出來,融入Verilog HDL語法以及開發(fā)工具等諸多方面,以深入淺出的方式向讀者說明設(shè)計中的難點本質(zhì)。

設(shè)計原理:

本次的設(shè)計主要是用來理解組合和時序邏輯的關(guān)系和寫法,通過描述組合和時序邏輯電路來仿真出對用的仿真波形,然后來分析其邏輯特點和相應(yīng)的關(guān)系。

設(shè)計架構(gòu)圖:

image.png

設(shè)計代碼:

組合邏輯設(shè)計模塊

0modulestudy(data_1,data_2,data_out);//端口列表

1

2 inputdata_1,data_2;//輸入

3 outputregdata_out;//輸出

4

5 //描述一個組合邏輯電路

6 always@(*)

7 begin

8 data_out =data_1 &&data_2;//與邏輯

9 end

10

11endmodule

測試模塊

0`timescale1ns/1ps

1

2moduletb;

3

4 regdata_1,data_2;//定義輸入寄存器

5 wiredata_out;//定義輸出線型

6

7 study study_dut(//設(shè)計模塊端口例化

8 .data_1(data_1),

9 .data_2(data_2),

10 .data_out(data_out)

11 );

12

13 initialbegin//描述數(shù)據(jù)流的變化

14 data_1 =0;data_2 =0;

15 #200

16 data_1 =1;data_2 =0;

17 #200

18 data_1 =0;data_2 =1;

19 #200

20 data_1 =1;data_2 =1;

21 #200

22 data_1 =0;data_2 =0;

23 #200

24 $stop;//系統(tǒng)任務(wù)停止

25 end

26

27endmodule

組合邏輯仿真圖:

image.png

在仿真波形中可以清楚的看到輸入數(shù)據(jù)流的變化順序,數(shù)據(jù)翻轉(zhuǎn)后,輸出立馬改變沒有延遲。

時序邏輯設(shè)計模塊

0modulestudy(clk,data_1,data_2,data_out);//端口列表

1

2 inputclk,data_1,data_2;//輸入

3 outputregdata_out; //輸出

4

5 //描述一個組合邏輯電路

6 always@(posedgeclk)

7 begin

8 data_out <=data_1 &&data_2;//與邏輯

9 end

10

11endmodule

測試模塊

0`timescale1ns/1ps

1

2moduletb;

3

4 regclk,data_1,data_2;//定義輸入寄存器

5 wiredata_out;//定義輸出線型

6

7 study study_dut(//設(shè)計模塊端口例化

8 .clk(clk),

9 .data_1(data_1),

10 .data_2(data_2),

11 .data_out(data_out)

12 );

13

14 initialbegin//描述數(shù)據(jù)流的變化

15 clk =1;data_1 =0;data_2 =0;

16 #200.1

17 data_1 =1;data_2 =0;

18 #200.1

19 data_1 =0;data_2 =1;

20 #200.1

21 data_1 =1;data_2 =1;

22 #200.1

23 data_1 =0;data_2 =0;

24 #200

25 $stop;//系統(tǒng)任務(wù)停止

26 end

27

28 always#10clk =~clk;

29

30endmodule

時序邏輯仿真圖:

image.png

在仿真中可以清楚的看到,在時序邏輯中,我們或綜合處寄存器,也就是說得到的數(shù)據(jù)會在寄存器中存一個上升沿,因為用的是上升沿觸發(fā),在波形中一看到。當(dāng)兩個輸入都為高電平的時候輸出也應(yīng)該為高電平,可是沒有立馬的變?yōu)楦唠娖?,要等下一個上升沿來了才能變?yōu)楦唠娖健?/span>

這樣就直觀的看清楚了組合和時序邏輯綜合出的波形的差距,也就是一個有綜合出是線型,一個是寄存器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21628

    瀏覽量

    601252
  • 時序邏輯
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    9134
收藏 人收藏

    評論

    相關(guān)推薦

    一文解析FPGA的片上資源使用情況(組合邏輯時序邏輯

    本文主要介紹的是FPGA的片上資源使用情況,分別是從組合邏輯時序邏輯來詳細(xì)的分析。
    發(fā)表于 04-18 09:06 ?1.7w次閱讀
    一文解析<b class='flag-5'>FPGA</b>的片上資源使用情況(<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>及<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>)

    FPGA組合邏輯時序邏輯、同步邏輯與異步邏輯的概念

    數(shù)字電路根據(jù)邏輯功能的不同特點,可以分成兩大類:一類叫做組合邏輯電路,簡稱組合電路或組合邏輯;另
    發(fā)表于 12-01 09:04 ?712次閱讀

    FPGA中何時用組合邏輯時序邏輯

    數(shù)字邏輯電路分為組合邏輯電路和時序邏輯電路。時序邏輯
    發(fā)表于 03-21 09:49 ?828次閱讀

    soc中的組合邏輯時序邏輯應(yīng)用說明

    芯片設(shè)計是現(xiàn)代電子設(shè)備的重要組成部分,其中組合邏輯時序邏輯是芯片設(shè)計中非常重要的概念。組合邏輯
    的頭像 發(fā)表于 08-30 09:32 ?1153次閱讀

    勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載25:組合邏輯時序邏輯

    ```勇敢的芯伴你玩轉(zhuǎn)Altera FPGA連載25:組合邏輯時序邏輯特權(quán)同學(xué),版權(quán)所有配套例程和更多資料下載鏈接:http://pan.
    發(fā)表于 11-17 18:47

    【技巧分享】時序邏輯組合邏輯的區(qū)別和使用

    根據(jù)邏輯電路的不同特點,數(shù)字電路分為組合邏輯時序邏輯,明德?lián)P粉絲里的同學(xué)提出,無法正確區(qū)分,今天讓我跟一起來
    發(fā)表于 03-01 19:50

    FPGA中何時用組合邏輯時序邏輯

    的。話不多說,上貨。 在FPGA中何時用組合邏輯時序邏輯 在設(shè)計FPGA時,大多數(shù)采
    發(fā)表于 03-06 16:31

    為什么FPGA可以用來實現(xiàn)組合邏輯電路和時序邏輯電路呢?

    為什么FPGA可以用來實現(xiàn)組合邏輯電路和時序邏輯電路呢?
    發(fā)表于 04-23 11:53

    FPGA組合邏輯時序邏輯的區(qū)別

    數(shù)字電路根據(jù)邏輯功能的不同特點,可以分成兩大類,一類叫組合邏輯電路(簡稱組合電路),另一類叫做時序邏輯
    發(fā)表于 11-20 12:26 ?8829次閱讀

    組合邏輯電路和時序邏輯電路比較_組合邏輯電路和時序邏輯電路有什么區(qū)別

    組合邏輯電路和時序邏輯電路都是數(shù)字電路,組合邏輯電路在邏輯
    發(fā)表于 01-30 17:26 ?9.3w次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路和<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>電路比較_<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路和<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>電路有什么區(qū)別

    數(shù)字設(shè)計FPGA應(yīng)用:時序邏輯電路FPGA的實現(xiàn)

    本課程以目前流行的Xilinx 7系列FPGA的開發(fā)為主線,全面講解FPGA的原理及電路設(shè)計、Verilog HDL語言及VIVADO的應(yīng)用,并循序漸進地從組合
    的頭像 發(fā)表于 12-05 07:08 ?2931次閱讀
    數(shù)字設(shè)計<b class='flag-5'>FPGA</b>應(yīng)用:<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>電路<b class='flag-5'>FPGA</b>的實現(xiàn)

    數(shù)字設(shè)計FPGA應(yīng)用:FPGA的基本邏輯結(jié)構(gòu)

    本課程以目前流行的Xilinx 7系列FPGA的開發(fā)為主線,全面講解FPGA的原理及電路設(shè)計、Verilog HDL語言及VIVADO的應(yīng)用,并循序漸進地從組合
    的頭像 發(fā)表于 12-03 07:04 ?2443次閱讀
    數(shù)字設(shè)計<b class='flag-5'>FPGA</b>應(yīng)用:<b class='flag-5'>FPGA</b>的基本<b class='flag-5'>邏輯</b>結(jié)構(gòu)

    組合邏輯電路和時序邏輯電路的學(xué)習(xí)課件免費下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是組合邏輯電路和時序邏輯電路的學(xué)習(xí)課件免費下載包括了:任務(wù)一 組合
    發(fā)表于 10-27 15:58 ?31次下載
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路和<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>電路的<b class='flag-5'>學(xué)習(xí)</b>課件免費下載

    FPGA時序邏輯組合邏輯的入門基礎(chǔ)教程

    組合邏輯電路是指在任何時刻,輸出狀態(tài)只決定于同一時刻各組合邏輯電路輸入狀態(tài)的組合,而與電路以前狀態(tài)無關(guān)而與其他時間的狀態(tài)無關(guān)。如:加法器、編
    發(fā)表于 12-09 14:49 ?12次下載
    <b class='flag-5'>FPGA</b><b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>和<b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>的入門基礎(chǔ)教程

    組合邏輯電路和時序邏輯電路的區(qū)別和聯(lián)系

    數(shù)字電路根據(jù)邏輯功能的不同特點,可以分成兩大類,一類叫組合邏輯電路(簡稱組合電路),另一類叫做時序邏輯
    的頭像 發(fā)表于 03-14 17:06 ?6524次閱讀
    <b class='flag-5'>組合</b><b class='flag-5'>邏輯</b>電路和<b class='flag-5'>時序</b><b class='flag-5'>邏輯</b>電路的區(qū)別和聯(lián)系