0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

時鐘設計技巧

ZYNQ ? 來源:CSDN技術社區(qū) ? 作者:FPGA大叔 ? 2022-10-26 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

時鐘信號在很大程度上決定了整個設計的性能和可靠性,盡量避免使用FPGA內(nèi)部邏輯產(chǎn)生的時鐘,因為它很容易導致功能或時序出現(xiàn)問題。內(nèi)部邏輯(組合邏輯)產(chǎn)生的時鐘容易出現(xiàn)毛刺,影響設計的功能實現(xiàn);組合邏輯固有的延時也容易導致時序問題。

一、內(nèi)部邏輯產(chǎn)生的時鐘

若使用組合邏輯的輸出作為時鐘信號或異步復位信號,設計者必須對有可能出現(xiàn)的問題采取必要的預防措施。我們知道,在正常的同步設計中,一個時鐘一個節(jié)拍的數(shù)據(jù)流控制能夠保證系統(tǒng)持續(xù)穩(wěn)定的工作。但是,組合邏輯產(chǎn)生的時鐘不可避免地會有毛刺出現(xiàn),如果此時輸入端口的數(shù)據(jù)正處于變化過程,那么它將違反建立和保持時間要求,從而影響后續(xù)電路的輸出狀態(tài),甚至導致整個系統(tǒng)運行失敗。

對于必須采用內(nèi)部邏輯作時鐘或者復位信號的應用,也還是有解決辦法的。思路并不復雜,和異步復位、同步釋放的原理是一樣的。在輸出時鐘或者復位信號之前,再用系統(tǒng)專用時鐘信號(通常指外部晶振輸入時鐘或者PLL處理后的時鐘信號)打一拍,從而避免組合邏輯直接輸出,達到同步處理的效果。對于輸出的時鐘信號或復位信號,最好讓它走全局時鐘網(wǎng)絡,從而減小時鐘網(wǎng)絡延時,提升系統(tǒng)時序性能。

內(nèi)部邏輯產(chǎn)生的時鐘處理如下:

5867fd0a-54c7-11ed-a3b6-dac502259ad0.png

二、分頻時鐘與使能時鐘

設計中往往需要用到主時鐘的若干分頻信號作為時鐘,即分頻時鐘??蓜e小看這個所謂的分頻時鐘,簡簡單單不加處理的亂用時鐘那就叫時鐘滿天飛,是很不好的設計風格。言歸正傳,如果設計中確實需要用到系統(tǒng)主時鐘的分頻信號來降低頻率時,該如何處理呢?

對于資源較豐富的FPGA,一般都有內(nèi)嵌的多個PLL或者DLL專門用于時鐘管理,利用它們就可以很容易地達到多個時鐘的設計,輸出時鐘能夠配置成設計者期望的不同頻率和相位差(相對于輸入時鐘),這樣的時鐘分頻是最穩(wěn)定的。但是對于某些無法使用PLL或者DLL資源的器件又該怎么辦呢?推薦使用“使能時鐘”進行設計,在“使能時鐘”設計中只使用原有的時鐘,讓分頻信號作為使能信號來用。

下面舉一個實例來說明如何進行使能時鐘的設計,該設計需要得到一個50MHz鐘的5分頻信號即10MHz。

input clk;      //50MHz時鐘信號
input rst n; 
 
reg[2:0]ent;
wire en;        //使能信號,高電平有效
 
//5分頻計數(shù)0~4
always@( posedge clk or negedge rst _n)begin
    if(!rst _n) ent<=3'd0;
    else if(ent<3'd4) ent<=ent+1b1;
    else ent<=3'd0;
end
assign en=(cnt==3'd4);//每5個時鐘周期產(chǎn)生1個時鐘周期高脈沖
 
//使用使能時鐘
always@( posedge clk or negedge rst _n)begin
    if(!rst _n)…;
    else if(en)…;
 
    ...
 
end

如下圖所示,使能信號不直接作為時鐘使用,而是作為數(shù)據(jù)輸入端的選擇信號,這避免了使用分頻時鐘。

587f0950-54c7-11ed-a3b6-dac502259ad0.png

三、門控時鐘

組合邏輯中多用門控時鐘,一般驅(qū)動門控時鐘的邏輯都是只包含一個與門(或門).如其他的附加邏輯,容易因競爭產(chǎn)生不希望的毛刺。如圖a所示,門控時鐘通過一個使號控制時鐘的開或者關。當系統(tǒng)不工作時可以關閉時鐘,整個系統(tǒng)就處于非激活狀態(tài),這種夠在某種程度上降低系統(tǒng)功耗。

圖a:門控時鐘

5886f818-54c7-11ed-a3b6-dac502259ad0.png

然而,使用門控時鐘并不符合同步設計的思想,它可能會影響系統(tǒng)設計的實現(xiàn)和驗證。單純從功能實現(xiàn)來看,使用使能時鐘替代門控時鐘是一個不錯的選擇;但是使能時鐘在使能信號關閉時,時鐘信號仍然在工作,它無法像門控時鐘那樣降低系統(tǒng)功耗。

是否有一種設計方法既可以降低系統(tǒng)功耗,又能夠穩(wěn)定可靠的替代門控時鐘呢?Altera就提出了一種解決方案,且待我慢慢道來。如圖b所示,對于上升沿有效的系統(tǒng)時鐘cì k,它的下降沿先把門控信號(gating signal)打一拍,然后再用這個使能信號(enable)和系統(tǒng)時鐘(clk)相與后作為后續(xù)電路的門控時鐘。

圖b:推薦的門控時鐘

588f916c-54c7-11ed-a3b6-dac502259ad0.png

這樣的門控時鐘電路很好地解決了組合邏輯常見的一些問題。它避免了毛刺的出現(xiàn),同時也有效抑制了亞穩(wěn)態(tài)可能帶來的危害。但是從另一個方面來說,如果這個設計的系統(tǒng)時鐘(clk)占空比不是很穩(wěn)定,或者輸出的使能信號(enable)與時鐘信號(clk)的邏輯過于復雜(不止這個例子中一個與門那么簡單),那么它也會帶來一些功能或時序上的問題??偟膩碚f,只要設計者控制好這個設計中時鐘的占空比和門控邏輯復雜度,它還是比圖a給出的門控時鐘方案更可行。

審核編輯:湯梓紅

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

    關注

    1645

    文章

    22025

    瀏覽量

    617492
  • pll
    pll
    +關注

    關注

    6

    文章

    888

    瀏覽量

    136300
  • 時鐘信號
    +關注

    關注

    4

    文章

    468

    瀏覽量

    29195

原文標題:【FPGA技巧篇】時鐘設計技巧

文章出處:【微信號:ZYNQ,微信公眾號:ZYNQ】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    時鐘樹優(yōu)化與有用時鐘延遲

    時鐘樹優(yōu)化與有用時鐘延遲在 “后端時序修正基本思路” 提到了時序優(yōu)化的基本步驟。其中,最關鍵的階段就是時鐘樹建立。
    發(fā)表于 10-26 09:29 ?4666次閱讀
    <b class='flag-5'>時鐘</b>樹優(yōu)化與有用<b class='flag-5'>時鐘</b>延遲

    時鐘設計中時鐘切換電路設計案例

    在多時鐘設計中可能需要進行時鐘的切換。由于時鐘之間可能存在相位、頻率等差異,直接切換時鐘可能導致產(chǎn)生glitch。
    的頭像 發(fā)表于 09-24 11:20 ?6035次閱讀
    多<b class='flag-5'>時鐘</b>設計中<b class='flag-5'>時鐘</b>切換電路設計案例

    航空時鐘~風雷儀表

    時鐘
    風雷儀表
    發(fā)布于 :2023年03月03日 15:54:36

    IC數(shù)據(jù)和時鐘時鐘線緩沖電路

    IC數(shù)據(jù)和時鐘時鐘線緩沖電路
    發(fā)表于 09-12 11:57 ?1640次閱讀
    IC數(shù)據(jù)和<b class='flag-5'>時鐘</b><b class='flag-5'>時鐘</b>線緩沖電路

    門控時鐘時鐘偏移研究

    所謂門控時鐘就是指連接到觸發(fā)器時鐘端的時鐘來自于組合邏輯;凡是組合邏輯在布局布線之后肯定會產(chǎn)生毛刺,而如果采用這種有毛刺的信號來作為時鐘使用的話將會出現(xiàn)功能上的錯
    發(fā)表于 09-07 16:11 ?35次下載
    門控<b class='flag-5'>時鐘</b>與<b class='flag-5'>時鐘</b>偏移研究

    什么是時鐘周期_時鐘周期怎么算

    時鐘周期也稱為振蕩周期,定義為時鐘頻率的倒數(shù)。時鐘周期是計算機中最基本的、最小的時間單位。在一個時鐘周期內(nèi),CPU僅完成一個最基本的動作。時鐘
    發(fā)表于 03-11 10:07 ?5.2w次閱讀

    STM32時鐘系統(tǒng)時鐘樹和時鐘配置函數(shù)介紹及系統(tǒng)時鐘設置步驟資料

    本文檔的主要內(nèi)容詳細介紹的是STM32時鐘系統(tǒng)時鐘樹和時鐘配置函數(shù)介紹及系統(tǒng)時鐘設置步驟資料。
    發(fā)表于 10-11 08:00 ?22次下載
    STM32<b class='flag-5'>時鐘</b>系統(tǒng)<b class='flag-5'>時鐘</b>樹和<b class='flag-5'>時鐘</b>配置函數(shù)介紹及系統(tǒng)<b class='flag-5'>時鐘</b>設置步驟資料

    什么是時鐘時鐘信號的關鍵指標

    首先,我們看一下時鐘信號中最常見到的波形 - 矩形波(尤其是方波更常用)。在較低時鐘頻率的系統(tǒng)中我們看到的基本上都是以矩形波為主的時鐘信號,因為電路基本上都是靠時鐘的邊沿(上升沿或下降
    的頭像 發(fā)表于 12-06 11:53 ?6.3w次閱讀
    什么是<b class='flag-5'>時鐘</b>呢 <b class='flag-5'>時鐘</b>信號的關鍵指標

    stm32內(nèi)部時鐘有哪些時鐘源 stm32使用內(nèi)部時鐘配置教程

    stm32內(nèi)部時鐘有哪些時鐘源 在STM32中,可以用內(nèi)部時鐘,也可以用外部時鐘,在要求進度高的應用場合最好用外部晶體震蕩器,內(nèi)部時鐘存在一
    的頭像 發(fā)表于 07-22 10:38 ?1.8w次閱讀

    什么是門控時鐘 門控時鐘降低功耗的原理

    門控時鐘的設計初衷是實現(xiàn)FPGA的低功耗設計,本文從什么是門控時鐘、門控時鐘實現(xiàn)低功耗的原理、推薦的FPGA門控時鐘實現(xiàn)這三個角度來分析門控時鐘
    的頭像 發(fā)表于 09-23 16:44 ?1.5w次閱讀
    什么是門控<b class='flag-5'>時鐘</b> 門控<b class='flag-5'>時鐘</b>降低功耗的原理

    verilog的時鐘分頻與時鐘使能

    時鐘使能電路是同步設計的基本電路,在很多設計中,雖然內(nèi)部不同模塊的處理速度不同,但由于這些時鐘是同源的,可以將它們轉(zhuǎn)化為單一時鐘處理;在ASIC中可以通過STA約束讓分頻始終和源時鐘
    的頭像 發(fā)表于 01-05 14:00 ?2244次閱讀

    什么是時鐘偏斜?了解時鐘分配網(wǎng)絡中的時鐘偏斜

    通過了解同步電路、時鐘傳輸和時鐘分配網(wǎng)絡,了解時鐘偏斜、它是什么及其對現(xiàn)代系統(tǒng)的影響。 現(xiàn)代數(shù)字電子產(chǎn)品設計的最大挑戰(zhàn)之一是滿足時序限制的能力。保持可預測且組織良好的邏輯操作流的一種方法是在數(shù)
    的頭像 發(fā)表于 01-27 10:05 ?4372次閱讀
    什么是<b class='flag-5'>時鐘</b>偏斜?了解<b class='flag-5'>時鐘</b>分配網(wǎng)絡中的<b class='flag-5'>時鐘</b>偏斜

    時鐘偏差和時鐘抖動的相關概念

    本文主要介紹了時鐘偏差和時鐘抖動。
    的頭像 發(fā)表于 07-04 14:38 ?2767次閱讀
    <b class='flag-5'>時鐘</b>偏差和<b class='flag-5'>時鐘</b>抖動的相關概念

    什么是時鐘芯片?時鐘芯片的工作原理 時鐘芯片的作用

    什么是時鐘芯片?時鐘芯片的工作原理 時鐘芯片的作用 時鐘芯片是一種用于計算機或其他電子設備中的集成電路,它提供精準的時鐘信號。
    的頭像 發(fā)表于 10-25 15:02 ?7712次閱讀

    時鐘抖動和時鐘偏移的區(qū)別

    時鐘抖動(Jitter)和時鐘偏移(Skew)是數(shù)字電路設計中兩個重要的概念,它們對電路的時序性能和穩(wěn)定性有著顯著的影響。下面將從定義、原因、影響以及應對策略等方面詳細闡述時鐘抖動和時鐘
    的頭像 發(fā)表于 08-19 18:11 ?2085次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品