精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA的設計中的時鐘使能電路

454398 ? 來源:博客園 ? 作者:fpga_hjh ? 2020-11-10 13:53 ? 次閱讀

時鐘使能電路是同步設計的重要基本電路,在很多設計中,雖然內部不同模塊的處理速度不同,但是由于這些時鐘是同源的,可以將它們轉化為單一的時鐘電路處理。在FPGA的設計中,分頻時鐘和源時鐘的skew不容易控制,難以保證分頻時鐘和源時鐘同相。故此推薦采用使用時鐘使能的方法,通過使用時鐘使能可以避免時鐘“滿天飛”的情況,進而避免了不必要的亞穩態發生,在降低設計復雜度的同時也提高了設計的可靠性。

我們可以利用帶有使能端的D觸發器來實現時鐘使能的功能。

在上圖中clk1x是CLK的四分頻后產生的時鐘,clk1x_en是與clk1x同頻的時鐘使能信號,用clk1x_en作為DFF的使能端,D端的數據只有在clk1x_en有效地時候才能打入D觸發器,從而在不引入新時鐘的前提,完成了下圖電路一致的邏輯功能。

在某系統中,前級數據輸入位寬為8,而后級的數據輸出位寬32,我們需要將8bit的數據轉換成32bit的數據,因此后級處理的時鐘頻率為前級的1/4,若不使用時鐘時能,則就要將前級時鐘進行4分頻來作為后級處理的時鐘,這種設計方法會引入新的時鐘域,為了避免這種情況,我們采用了時鐘時能的方法來減少設計的復雜度。

module gray
(
    input clk,
    input rst_n,
    input [7:0] data_in,
    output reg [31:0] data_out,
    output reg clk1x_en
);

reg [1:0] cnt;
reg [31:0] shift_reg;

always @ (posedge clk,negedge rst_n)
begin
    if(!rst_n)
        cnt <= 2'b0;
     else
        cnt <= cnt +1'b1;
end 

always @ (posedge clk,negedge rst_n)
begin
    if(!rst_n)
        clk1x_en <= 1'b0;
    else if(cnt ==2'b01)
        clk1x_en <= 1'b1;
    else
        clk1x_en <= 1'b0;
end

always @ (posedge clk,negedge rst_n)
begin
    if(!rst_n)
        shift_reg <= 32'b0;
    else
        shift_reg <= {shift_reg[23:0],data_in};
end

always @ (posedge clk,negedge rst_n)
begin
    if(!rst_n)
        data_out<= 32'b0;
    else if(clk1x_en==1'b1)//僅在clk1x_en為1時才將shift_reg的值賦給data_out
        data_out<=shift_reg;
end 

endmodule 

編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1626

    文章

    21665

    瀏覽量

    601828
  • D觸發器
    +關注

    關注

    3

    文章

    164

    瀏覽量

    47862
  • 時鐘電路
    +關注

    關注

    10

    文章

    236

    瀏覽量

    50696
收藏 人收藏

    評論

    相關推薦

    FPGA做深度學習走多遠?

    出現時鐘偏移,使 FPGA 無法正確同步,最終死機。 三、FPGA 內部狀態方面 配置丟失:某些 FPGA 在電源不穩定的情況下可能會丟失配
    發表于 09-27 20:53

    FPGA如何消除時鐘抖動

    FPGA(現場可編程門陣列)設計,消除時鐘抖動是一個關鍵任務,因為時鐘抖動會直接影響系統的時序性能、穩定性和可靠性。以下將詳細闡述FPGA
    的頭像 發表于 08-19 17:58 ?1034次閱讀

    伺服電機的使信號及其相關問題

    的作用 伺服電機的使信號是電機控制系統的一個重要信號,其主要作用如下: 1.1 控制電機啟動和停止 使信號是控制伺服電機啟動和停止的關
    的頭像 發表于 07-10 14:58 ?1406次閱讀

    在中斷關閉中斷使,在應用開啟中斷使,為什么沒有響應?

    請問我在中斷關閉中斷使,在應用開啟中斷使。但是開始會響應。才是多按幾次按鈕中斷就不響應呢
    發表于 06-26 06:34

    伺服開啟使ON接什么點

    伺服電機是一種高精度、高響應速度的電機,廣泛應用于自動化設備、機器人、數控機床等領域。在伺服電機的控制,使信號(Enable Signal)是一個非常重要的信號,它用于控制伺服電機的啟動和停止
    的頭像 發表于 06-14 10:21 ?1876次閱讀

    STM32CubeMX怎么使CRC時鐘

    請教各位大俠,STM32CubeMX,怎么使CRC時鐘,
    發表于 05-16 07:04

    時鐘使的八邊三格D型觸發器數據表

    電子發燒友網站提供《帶時鐘使的八邊三格D型觸發器數據表.pdf》資料免費下載
    發表于 05-15 10:42 ?0次下載
    帶<b class='flag-5'>時鐘</b><b class='flag-5'>使</b><b class='flag-5'>能</b>的八邊三格D型觸發器數據表

    stm32輔助時鐘AFIO,什么時候使時鐘?其作用是什么?

    一直不知道AFIO,請指點一下,什么時候使時鐘。其作用是什么?
    發表于 05-15 08:01

    FPGA時鐘電路結構原理

    FPGA 包含一些全局時鐘資源。以AMD公司近年的主流FPGA為例,這些時鐘資源由CMT(時鐘
    發表于 04-25 12:58 ?1751次閱讀
    <b class='flag-5'>FPGA</b>的<b class='flag-5'>時鐘</b><b class='flag-5'>電路</b>結構原理

    讀《FPGA入門教程》

    ’。電路‘clk’為時鐘信號,‘D1’,‘D2’,‘D3’為移位寄存器的輸出,‘enable’為該電路使
    發表于 03-29 16:42

    使用cubeMX6.5.0配置H750VBT6,PLL2DIVP2無法被使的原因?

    在使用cubeMX6.5.0 配置H750VBT6,時鐘樹和ADC都已配置,但是PLL2DIVP2無法被使,同時ADC時鐘也未
    發表于 03-27 08:11

    FPGA輸入的時鐘信號必須是方波么?正弦波會有影響么?

    FPGA設計,時鐘信號通常需要滿足一定的要求。 首先,時鐘信號在FPGA必須是一個周期性的信
    的頭像 發表于 01-31 11:31 ?3265次閱讀

    FPGA時鐘內部設計方案

    時鐘設計方案 在復雜的FPGA設計,設計時鐘方案是一項具有挑戰性的任務。設計者需要很好地掌握目標器件所能提供的時鐘資源及它們的限制,需
    發表于 01-22 09:30 ?567次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>時鐘</b>內部設計方案

    異步電路時鐘同步處理方法

    異步電路時鐘同步處理方法? 時鐘同步在異步電路是至關重要的,它確保了
    的頭像 發表于 01-16 14:42 ?1081次閱讀

    FPGA時鐘的用法

    生成時鐘包括自動生成時鐘(又稱為自動衍生時鐘)和用戶生成時鐘。自動生成時鐘通常由PLL或MMCM生成,也可以由具有分頻功能的
    的頭像 發表于 01-11 09:50 ?1665次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>中</b><b class='flag-5'>時鐘</b>的用法