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

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

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

FPGA學(xué)習(xí)系列:12. 邊沿檢測設(shè)計(jì)

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

設(shè)計(jì)背景:

在我們工程設(shè)計(jì)中,有時(shí)會需要到上升沿和下降沿這么一個(gè)說法,通過上升沿和下降沿來驅(qū)動一個(gè)電路,那么學(xué)習(xí)邊沿檢測就非常的重要了。

設(shè)計(jì)原理:

在學(xué)習(xí)邊沿檢測前我們先學(xué)習(xí)一下下面的電路,這樣方便我們學(xué)習(xí),邊沿檢測。







image.png

這個(gè)電路的意思就是,輸入一個(gè)信號后我們經(jīng)過一個(gè)寄存器,然后把這個(gè)寄存器的輸出,和下次輸出的值取反后相與,那么我們就可以這么想,如果一個(gè)高平的值經(jīng)過這個(gè)寄存器后延遲一個(gè)上升沿后輸出也為高電平,那么當(dāng)輸出的時(shí)候會有一個(gè)新的電平值,也就是一個(gè)電平的到來,然后通過低電平的值取反后和寄存器輸出的高電平值得與得到一個(gè)高電平的脈沖值,然后對低電平轉(zhuǎn)化為高電平也是一樣的道理,這樣我們就可以得到時(shí)鐘上升沿和下降沿的高脈沖,這樣就得到了我們設(shè)計(jì)的目的。

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

image.png

設(shè)計(jì)代碼:

設(shè)計(jì)模塊

0moduleedge_jiance(clk,rst_n,signle,nege_dge,pose_dge);

1

2 inputclk;

3 inputrst_n;

4 inputsignle;//輸入信號

5

6 outputnege_dge;//輸出下降沿的脈沖

7 outputpose_dge;//輸出上升沿的脈沖

8

9 reg[1:0]signle_s;

10 always@(posedgeclk ornegedgerst_n)

11 if(!rst_n)

12 begin

13 signle_s <=2'b11;

14 end

15 else

16 begin

17 signle_s[0]<=signle;//把輸入信號給一個(gè)寄存器

18 signle_s[1]<=signle_s[0];

19 end

20

21 assignpose_dge =signle_s[0]&&~signle_s[1];//取反相與得到上 升沿的高脈沖

22 assignnege_dge =~signle_s[0]&&signle_s[1];//取反相與得到下 降沿的高脈沖

23endmodule

測試模塊

0`timescale1ns/1ps

1

2moduleedge_tb();

3

4 regclk;

5 regrst_n;

6 regsignle;

7

8 wirenege_dge;

9 wirepose_dge;

10

11 initialbegin

12 clk =1'b1;

13 rst_n =1'b0;

14 signle <=1'b1;//復(fù)位賦值

15

16 #100.1rst_n =1'b1;

17

18 #36signle <=1'b1;//模擬下降沿

19 #36signle <=1'b0;

20

21 #100

22 #36signle <=1'b0;//模擬上升沿

23 #36signle <=1'b1;

24

25 #100

26 $stop;

27 end

28

29 always#10clk =~clk;//產(chǎn)生晶振時(shí)鐘

30

31 edge_jiance edge_dut(//模塊例化

32 .clk(clk),

33 .rst_n(rst_n),

34 .signle(signle),

35 .nege_dge(nege_dge),

36 .pose_dge(pose_dge)

37 );

38endmodule

仿真:

我們模擬的上升沿和下降沿在仿真中可以清楚的看到,然后我們通過邊沿檢測電路,可以得出我們一個(gè)高電平的上升沿,和一個(gè)低電平的下降沿。

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598886
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA設(shè)計(jì)經(jīng)驗(yàn)之邊沿檢測

    在同步電路設(shè)計(jì)中,邊沿檢測是必不可少的!
    發(fā)表于 03-01 09:59 ?5029次閱讀

    FPGA設(shè)計(jì)中的邊沿檢測問題

    在同步電路設(shè)計(jì)中,邊沿檢測是必不可少的!后一種方法所耗的資源要比前一種方法多(一個(gè)觸發(fā)器),但是就可以大大提高可靠性,這絕對是物有所值!!
    發(fā)表于 02-01 10:53 ?955次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)中的<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>問題

    FPGA設(shè)計(jì)經(jīng)驗(yàn):邊沿檢測

    在同步電路設(shè)計(jì)中,邊沿檢測是必不可少的!
    發(fā)表于 08-16 15:19 ?1852次閱讀
    <b class='flag-5'>FPGA</b>設(shè)計(jì)經(jīng)驗(yàn):<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>

    fpga應(yīng)用篇(二):邊沿檢測

    `fpga應(yīng)用篇(二):邊沿檢測上一篇介紹了阻塞賦值與非阻塞賦值,這次我們利用非阻塞賦值產(chǎn)生一個(gè)簡單的應(yīng)用即邊沿檢測
    發(fā)表于 04-06 21:28

    至芯昭哥帶你學(xué)FPGAFPGA_100天之旅_邊沿檢測

    至芯昭哥帶你學(xué)FPGAFPGA_100天之旅_邊沿檢測
    發(fā)表于 08-17 09:46

    FPGA_100天之旅_邊沿檢測

    FPGA_100天之旅_邊沿檢測
    發(fā)表于 09-28 13:37

    關(guān)于FPGA進(jìn)行外部邊沿檢測,檢測不準(zhǔn)確問題?

    程序邊沿檢測下降沿并統(tǒng)計(jì)數(shù)量(數(shù)量到達(dá)2后重新計(jì)數(shù),并發(fā)送動作信號),但是最終發(fā)現(xiàn)檢測結(jié)果不準(zhǔn)確,有時(shí)候能檢測到,有時(shí)候檢測不到。萬分感謝您
    發(fā)表于 08-21 12:58

    基于FPGA邊沿檢測的理解問題?

    我看到網(wǎng)上關(guān)于邊沿檢測的講解,有個(gè)地方不理解,t0時(shí)刻和t1時(shí)刻分別是怎樣的時(shí)刻,trigger在時(shí)鐘上升沿經(jīng)過觸發(fā)器輸出的信號和經(jīng)過非門的信號是什么樣的關(guān)系?我的理解是trigger分別輸出后是兩個(gè)電平相反的信號,為什么相與之后就可以
    發(fā)表于 05-10 14:52

    F2產(chǎn)品技術(shù)培訓(xùn)_12.模數(shù)轉(zhuǎn)換(ADC)

    F2產(chǎn)品技術(shù)培訓(xùn)_12.模數(shù)轉(zhuǎn)換(ADC)
    發(fā)表于 03-15 14:47 ?2次下載

    邊沿檢測與提取-輪廓跟蹤知識詳解

    邊沿檢測與提取程序
    發(fā)表于 01-29 14:56 ?0次下載

    邊沿檢測的目的及電路原理分析

    邊沿檢測電路(edge detection circuit)是個(gè)常用的基本電路。所謂邊沿檢測就是對前一個(gè)clock狀態(tài)和目前clock狀態(tài)的比較,如果是由0變?yōu)?,能夠
    的頭像 發(fā)表于 11-19 07:09 ?1.1w次閱讀

    FPGA學(xué)習(xí)-邊沿檢測技術(shù)

    邊沿采樣技術(shù)實(shí)現(xiàn)上升沿捕獲進(jìn)而實(shí)現(xiàn)外部信號的上升沿觸發(fā)。 邊沿檢測電路的實(shí)現(xiàn)方法; 1、always @ (posedge signal) FPGA不便于處理此類觸發(fā)信號,除非外部輸入
    的頭像 發(fā)表于 11-26 10:20 ?1530次閱讀

    Verilog邊沿檢測的基本原理和代碼實(shí)現(xiàn)

    本文將從Verilog和邊沿檢測的基本概念入手,介紹Verilog邊沿檢測的原理和應(yīng)用代碼示例。
    的頭像 發(fā)表于 05-12 17:05 ?3226次閱讀
    Verilog<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>的基本原理和代碼實(shí)現(xiàn)

    什么是邊沿檢測

    1、什么是邊沿檢測 邊沿檢測用于檢測信號的上升沿或下降沿,通常用于使能信號的捕捉等場景。 2、采用1級觸發(fā)器的
    的頭像 發(fā)表于 06-17 14:26 ?2221次閱讀
    什么是<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>

    Verilog實(shí)現(xiàn)邊沿檢測的原理

    邊沿檢測大致分為:上升沿檢測,下降沿檢測和,雙沿檢測。原理都是通過比輸入信號快很多的時(shí)鐘去采集信號,當(dāng)出現(xiàn)兩個(gè)連續(xù)的采集值不等的時(shí)候就是
    的頭像 發(fā)表于 06-28 15:19 ?2442次閱讀
    Verilog實(shí)現(xiàn)<b class='flag-5'>邊沿</b><b class='flag-5'>檢測</b>的原理