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

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

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

如何設(shè)計(jì)邊沿采樣的觸發(fā)器呢?

冬至子 ? 來(lái)源:Andy的ICer之路 ? 作者:AndyICer ? 2023-06-05 16:27 ? 次閱讀

下降沿采樣寄存器

01

在設(shè)計(jì)雙邊沿采樣電路(Dual-edge triggered flip-flop)之前,先從單邊沿采樣電路設(shè)計(jì)(Edge capture register)開(kāi)始。

題目:對(duì)于32位向量中的每個(gè)位,當(dāng)輸入信號(hào)從一個(gè)時(shí)鐘周期的1變?yōu)橄乱粋€(gè)時(shí)鐘周期的0時(shí)捕獲?!安东@”表示在寄存器復(fù)位(同步復(fù)位)之前,輸出將保持為1。

每個(gè)輸出位的行為都類(lèi)似于SR觸發(fā)器:應(yīng)在從1到0的跳變發(fā)生后的周期內(nèi)將輸出位設(shè)置(設(shè)置為1)。復(fù)位為高電平時(shí),應(yīng)在時(shí)鐘的上升沿將輸出位復(fù)位(清零)。如果以上兩個(gè)事件同時(shí)發(fā)生,則復(fù)位優(yōu)先。

在下面的示例波形中,為清楚起見(jiàn),分別顯示了reset,in [1]和out [1]。

圖片

這里要注意的是,這題與專題十的邊緣檢測(cè)不一樣,本題是邊緣“捕獲”,即捕獲到下降沿之后要一直保持1,直到復(fù)位信號(hào)為1才變位0。

module top_module (
    input clk, 
    input reset, 
    input [31:0] in, 
    output [31:0] out 
); 
    reg[31:0] p1,in_last; 
    always@(posedge clk) begin 
        in_last <= in; 
        if(reset) 
            out <= 0; 
        else begin 
            p1 = in_last&~in; 
            if(p1!=0) 
                out <= p1|out; 
            else 
                out <= out; 
        end 
    end 
endmodule

第9行 in_last <= in ; 記錄信號(hào)in上一個(gè)cycle的狀態(tài);

第13行 p1 = in_last&~ in ;檢測(cè)下降沿,簡(jiǎn)答來(lái)說(shuō)就是檢測(cè)輸入信號(hào)in由1變0。

第14-17行的mux是保持“捕獲”or“未捕獲”狀態(tài),**if(p1!=0)**表示有下降沿信號(hào)發(fā)生,**out <= p1|out; **表示繼續(xù)更新置1的位數(shù);else p1==0,則out保持原來(lái)的狀態(tài),即已經(jīng)被捕獲的位保持“1”狀態(tài)、還未被捕獲的位保持“0”狀態(tài)。

正確的仿真波形如下圖所示:

圖片

這里有一個(gè)很重要的細(xì)節(jié): 第十三行用的是阻塞賦值p1 = in_last&~in; 。即要等p1信號(hào)更新完畢之后才能進(jìn)行if的判斷,假如用非阻塞語(yǔ)句會(huì)導(dǎo)致out會(huì)晚一個(gè)周期才有反應(yīng),錯(cuò)誤波形如下:

圖片

雙邊沿采樣觸發(fā)器

02

題目:您熟悉在時(shí)鐘的上升沿或時(shí)鐘的下降沿觸發(fā)的觸發(fā)器。雙沿觸發(fā)觸發(fā)器在時(shí)鐘的兩個(gè)邊沿觸發(fā)。但是,FPGA沒(méi)有雙沿觸發(fā)觸發(fā)器,因此始終不接受@(posedge clk或negedge clk)作為合法敏感性列表。

構(gòu)建功能上類(lèi)似于雙沿觸發(fā)觸發(fā)器的電路:

圖片

module top_module (
    input clk,
    input d,
    output q
);
    reg q1,q2;
    always@(posedge clk)begin
        q1 <= d;
    end

    always@(negedge clk)begin
        q2 <= d;
    end
    assign q = clk?q1:q2;

endmodule

還有一種可行的方案:

module top_module(
  input clk,
  input d,
  output q);

  reg p, n;

  // A positive-edge triggered flip-flop
    always @(posedge clk)
        p <= d ^ n;

    // A negative-edge triggered flip-flop
    always @(negedge clk)
        n <= d ^ p;

    // Why does this work? 
    // After posedge clk, p changes to d^n. Thus q = (p^n) = (d^n^n) = d.
    // After negedge clk, n changes to p^n. Thus q = (p^n) = (p^p^n) = d.
    // At each (positive or negative) clock edge, p and n FFs alternately
    // load a value that will cancel out the other and cause the new value of d to remain.
    assign q = p ^ n;   
endmodule
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA設(shè)計(jì)
    +關(guān)注

    關(guān)注

    9

    文章

    428

    瀏覽量

    26517
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5343

    瀏覽量

    120365
  • 采樣電路
    +關(guān)注

    關(guān)注

    10

    文章

    65

    瀏覽量

    28304
  • SR觸發(fā)器
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    12631
  • 狀態(tài)機(jī)
    +關(guān)注

    關(guān)注

    2

    文章

    492

    瀏覽量

    27541
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    CMOS觸發(fā)器在CP邊沿的工作特性研究

    CMOS觸發(fā)器在CP邊沿的工作特性研究  對(duì)時(shí)鐘脈沖(簡(jiǎn)稱CP)邊沿時(shí)間的要求,是觸發(fā)器品質(zhì)評(píng)價(jià)的重要指標(biāo)之一。觸發(fā)器只有在CP
    發(fā)表于 10-17 08:52 ?1982次閱讀
    CMOS<b class='flag-5'>觸發(fā)器</b>在CP<b class='flag-5'>邊沿</b>的工作特性研究

    邊沿觸發(fā)SR觸發(fā)器

    可以將電平觸發(fā)器轉(zhuǎn)換成更為靈活的邊沿觸發(fā)器(采用時(shí)間控制方法)。邊沿觸發(fā)器只在上升沿或下降沿處對(duì)輸入采樣
    發(fā)表于 08-10 11:10 ?6453次閱讀
    <b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)</b>SR<b class='flag-5'>觸發(fā)器</b>

    jk邊沿觸發(fā)器工作原理

    本文開(kāi)始介紹了JK觸發(fā)器工作特性與邊沿JK觸發(fā)器的特點(diǎn),其次介紹了邊沿JK觸發(fā)器工作原理與特點(diǎn),最后介紹了集成
    發(fā)表于 01-30 17:17 ?3.7w次閱讀
    jk<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b>工作原理

    什么是邊沿觸發(fā)器_邊沿D觸發(fā)器介紹

    邊沿觸發(fā)器,指的是接收時(shí)鐘脈沖CP 的某一約定跳變(正跳變或負(fù)跳變)來(lái)到時(shí)的輸入數(shù)據(jù)。在CP=l 及CP=0 期間以及CP非約定跳變到來(lái)時(shí),觸發(fā)器不接收數(shù)據(jù)的觸發(fā)器。具有下列特點(diǎn)的
    發(fā)表于 01-31 09:02 ?7.2w次閱讀
    什么是<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b>_<b class='flag-5'>邊沿</b>D<b class='flag-5'>觸發(fā)器</b>介紹

    常用邊沿觸發(fā)器電路結(jié)構(gòu)和工作原理

    邊沿觸發(fā)器只在時(shí)鐘脈沖CP上升沿或下降沿時(shí)刻接收輸入信號(hào),電路狀態(tài)才發(fā)生翻轉(zhuǎn),從而提高了觸發(fā)器工作的可靠性和抗干擾能力,它沒(méi)有空翻現(xiàn)象。邊沿觸發(fā)器
    發(fā)表于 01-31 09:17 ?3.1w次閱讀
    常用<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b>電路結(jié)構(gòu)和工作原理

    脈沖和邊沿觸發(fā)器區(qū)別

    脈沖通常是指電子技術(shù)中經(jīng)常運(yùn)用的一種象脈搏似的短暫起伏的電沖擊(電壓或電流)。主要特性有波形、幅度、寬度和重復(fù)頻率。具有下列特點(diǎn)的觸發(fā)器稱為邊沿觸發(fā)方式觸發(fā)器,簡(jiǎn)稱
    發(fā)表于 01-31 13:41 ?5.4w次閱讀
    脈沖和<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b>區(qū)別

    一文詳解邊沿觸發(fā)器

    在時(shí)鐘為穩(wěn)定的0或1期間,輸入信號(hào)都不能進(jìn)入觸發(fā)器,觸發(fā)器的新?tīng)顟B(tài)僅決定于時(shí)鐘脈沖有效邊沿到達(dá)前一瞬間以及到達(dá)后極短一段時(shí)間內(nèi)的輸入信號(hào). 邊沿觸發(fā)
    的頭像 發(fā)表于 03-16 15:35 ?1.1w次閱讀
    一文詳解<b class='flag-5'>邊沿</b><b class='flag-5'>觸發(fā)器</b>

    邊沿觸發(fā)器的狀態(tài)變化由什么控制

    邊沿觸發(fā)器(Edge-Triggered Flip-Flop)是一種數(shù)字邏輯電路,其狀態(tài)變化由輸入信號(hào)的邊沿控制,即由輸入信號(hào)從低電平變?yōu)楦唠娖交驈母唠娖阶優(yōu)榈碗娖降乃查g觸發(fā)。
    的頭像 發(fā)表于 08-09 17:29 ?624次閱讀

    邊沿觸發(fā)器和主從觸發(fā)器的區(qū)別是什么

    邊沿觸發(fā)器和主從觸發(fā)器是數(shù)字電路中兩種常見(jiàn)的觸發(fā)器類(lèi)型,它們?cè)谠O(shè)計(jì)和應(yīng)用上有著明顯的區(qū)別。 觸發(fā)器的基本概念
    的頭像 發(fā)表于 08-09 17:33 ?955次閱讀

    邊沿觸發(fā)器的動(dòng)作特點(diǎn)是什么?

    邊沿觸發(fā)器是一種數(shù)字邏輯電路,其動(dòng)作特點(diǎn)主要體現(xiàn)在以下幾個(gè)方面: 觸發(fā)方式:邊沿觸發(fā)器的動(dòng)作是由輸入信號(hào)的
    的頭像 發(fā)表于 08-09 18:17 ?935次閱讀

    邊沿觸發(fā)器的類(lèi)型有哪些

    邊沿觸發(fā)器(Edge Triggered Flip-Flop)是一種數(shù)字電路中的基本存儲(chǔ)單元,它能夠存儲(chǔ)一位二進(jìn)制信息。邊沿觸發(fā)器的特點(diǎn)是只有在時(shí)鐘信號(hào)的上升沿或下降沿到來(lái)時(shí)才能改變輸
    的頭像 發(fā)表于 08-11 09:07 ?736次閱讀

    邊沿觸發(fā)器應(yīng)具備的條件有哪些

    邊沿觸發(fā)器(Edge-triggered flip-flop)是一種數(shù)字電路元件,它在數(shù)字邏輯設(shè)計(jì)中扮演著重要的角色。邊沿觸發(fā)器在接收到輸入信號(hào)的上升沿或下降沿時(shí),會(huì)改變其輸出狀態(tài)。
    的頭像 發(fā)表于 08-11 09:09 ?562次閱讀

    主從觸發(fā)器邊沿觸發(fā)器的特點(diǎn)及應(yīng)用

    在數(shù)字電路設(shè)計(jì)中,觸發(fā)器是一種非常重要的基本邏輯元件,用于存儲(chǔ)一位二進(jìn)制信息。觸發(fā)器的種類(lèi)繁多,但主要分為兩大類(lèi):主從觸發(fā)器(Master-Slave Flip-Flop)和邊沿
    的頭像 發(fā)表于 08-11 09:35 ?2203次閱讀

    同步觸發(fā)器邊沿觸發(fā)器的區(qū)別

    同步觸發(fā)器邊沿觸發(fā)器是數(shù)字電路中兩種常見(jiàn)的觸發(fā)器類(lèi)型,它們?cè)?b class='flag-5'>觸發(fā)方式、工作原理、性能特點(diǎn)以及應(yīng)用場(chǎng)景等方面存在顯著的差異。
    的頭像 發(fā)表于 08-12 11:26 ?1436次閱讀

    主從觸發(fā)器邊沿觸發(fā)器的區(qū)別

    主從觸發(fā)器邊沿觸發(fā)器是數(shù)字電路設(shè)計(jì)中常用的兩種觸發(fā)器類(lèi)型,它們?cè)?b class='flag-5'>觸發(fā)機(jī)制、動(dòng)作特點(diǎn)、應(yīng)用場(chǎng)景等方面存在顯著的區(qū)別。以下是對(duì)兩者區(qū)別的詳細(xì)闡
    的頭像 發(fā)表于 08-12 14:50 ?2065次閱讀