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

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

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

3天內不再提示

數字IC設計中為什么要避免鎖存器呢?

冬至子 ? 來源:TrustZone ? 作者:皮皮寬 ? 2023-11-09 12:28 ? 次閱讀

前言

數字IC設計中為什么要避免鎖存器(Latches)?

上學時,老師說判斷語句要把條件寫全, 不然會生成鎖存器,做項目時又說多比特寄存器信號的賦值一定要加if條件,不讓出現else的賦值 。就很矛盾,本文主要講下什么是鎖存器,什么情況下會出現鎖存器,以及鎖存器的危害。

基本邏輯門電路圖形符號

image.png

零、鎖存器,D觸發器和寄存器的關系與區別

前言

數字IC設計里,常會出現鎖存器,D觸發器和寄存器,很多人(比如我)老傻傻分不清,搞不懂他們的區別是什么。這篇博客主要解釋鎖存器,D觸發器和寄存器的工作原理以及他們的關系和區別。

一、鎖存器

鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態【1】。換句話說,如果一個模塊的只有在特定電平的作用下,才會將輸入信息更新到他的輸出引腳,否則該模塊的輸出將保持不變,那么這個模塊就可以被看成是一個鎖存器。

舉個例子:

image.png

二、鎖存器構建D觸發器

image.png

如圖是一個D觸發器的示意圖,當CLK輸入一個上升沿時,D端的輸入被傳輸到Q。而CLK未輸入上升沿時,Q保持不變。

image.png

如圖所示,當CLK = 0時,Q1=D;當CLK=1時,Q=Q1;也就是說,當CLK上升沿來臨時,D信號被傳輸到Q端,因此這兩個鎖存器組成了一個D觸發器;

三、什么是寄存器?

寄存器,是集成電路中非常重要的一種存儲單元,通常由觸發器組成寄存器是有限存貯容量的高速存貯部件 ,它們可用來暫存指令、數據和地址【2】。也就是說, 擁有緩存數據功能的,都可以被稱為寄存器 ,而寄存器常被用于CPU中,因此屬于邊沿信號敏感器件。

D觸發器具有緩存數據的功能 ,當CLK輸入上升沿時,D被傳輸到Q,之后Q將在CLK下一個上升沿到來前保持不變。因此D觸發器可以作為寄存器使用,即(D觸發器∈寄存器),鎖存器狀態的變化和特定電平有關(高電平和低電平),而寄存器的狀態變化往往需要邊沿信號(上升沿和下降沿),因此鎖存器notin寄存器,由于兩個鎖存器可以構建一個邊沿信號敏感的觸發器(如上節所示),因此鎖存器可以搭建寄存器。

四、總結

  • 鎖存器為電平敏感器件,而D觸發器和寄存器為邊沿信號敏感器件;
  • 兩個鎖存器可以搭建一個D觸發器;
  • D觸發器屬于寄存器;

一、什么是鎖存器?

鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路 ,它們可以在特定輸入脈沖電平作用下改變狀態【1】。

換句話說, 如果一個模塊的只有在特定電平的作用下,才會將輸入信息更新到他的輸出引腳 ,否則該模塊的輸出將保持不變,那么這個模塊就可以被看成是一個鎖存器。

常見的S-R寄存器的結構如下所示:

image.png

真值表為

由于S,R為00時,可以使輸出Q保持不變,從而達到用組合邏輯來實現存儲的目的;

image.png

二、什么情況下會出現鎖存器?

時序邏輯由于寄存器的存在 ,因此不需要鎖存器來存儲數據; 而組合邏輯的條件未給全時則會出現鎖存器

always@(*)    if(vld)        a = b;

這時由于沒有寫vld為0的情況,因此不會例化成二選一的選擇器,而是會例化出鎖存器,達到當vld為0時,保持數據不變的存儲功能;

三、為什么要避免出現鎖存器?

鎖存器有以下缺點:

  • 不能異步復位,在上電后處于不確定的狀態。
  • 鎖存器會使靜態時序分析變得非常復雜;
  • 如果是FPGA上的搭建電路的話,由于FPGA中基本的單元是由查找表和觸發器組成的,若生成鎖存器反而需要更多的資源;
  • 鎖存器對毛刺敏感,會造成電路的不穩定

例化成選擇器就能解決這個問題嗎?

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

    關注

    1626

    文章

    21665

    瀏覽量

    601828
  • IC設計
    +關注

    關注

    37

    文章

    1291

    瀏覽量

    103763
  • 鎖存器
    +關注

    關注

    8

    文章

    904

    瀏覽量

    41444
  • D觸發器
    +關注

    關注

    3

    文章

    164

    瀏覽量

    47862
  • CLK
    CLK
    +關注

    關注

    0

    文章

    127

    瀏覽量

    17125
收藏 人收藏

    評論

    相關推薦

    FPGA的設計為什么避免使用

    前言 在FPGA的設計避免使用是幾乎所有FPGA工程師的共識,Xilinx和Altera也在手冊中提示大家
    的頭像 發表于 11-16 11:42 ?8377次閱讀
    FPGA的設計<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>

    的工作原理

    的處理時間,消耗了處理的處理能力,還浪費了處理的功耗。 的使用可以大大的緩解處理在這
    發表于 03-26 20:41

    的作用

    數碼管的動態顯示截取了部分程序,使用了74hc573,但是我覺得去掉程序照樣可以執行
    發表于 03-11 16:59

    數字時鐘程序

    就用C語言編程的數字時鐘程序
    發表于 10-10 21:32

    寫FPGA代碼時,產生了有什么影響嗎

    經常看到各種寫HDL代碼時說避免生成,但是在某些情況,我不關心那種情況即使它生成了
    發表于 01-08 23:54

    寄存和觸發的區別

    暫存。缺點:時序分析較困難。不要的原因:1、
    發表于 07-03 11:50

    的缺點和優點

    ASIC設計應該說比ff簡單,但是在FPGA的資源,大部分器件沒有這個東西,所以需要
    發表于 04-23 03:35

    的作用是什么?

    數碼管的動態顯示截取了部分程序,使用了74hc573,但是我覺得去掉程序照樣可以執行
    發表于 10-26 07:18

    ,是什么意思

    ,是什么意思
    發表于 03-09 09:44 ?1.2w次閱讀

    的工作原理

    的工作原理? (latch)是一種用于存儲和記憶
    的頭像 發表于 12-08 11:18 ?5910次閱讀

    什么是數字IC設計為什么避免

    數字IC設計里,常會出現,D觸發和寄存,很
    的頭像 發表于 02-17 15:04 ?1979次閱讀
    什么是<b class='flag-5'>鎖</b><b class='flag-5'>存</b><b class='flag-5'>器</b>?<b class='flag-5'>數字</b><b class='flag-5'>IC</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>?

    電路的中間是什么元件

    電路概述 定義與功能 (Latch)是數字
    的頭像 發表于 07-23 11:29 ?328次閱讀

    的組成、功能及應用

    (Latch)是一種具有記憶功能的數字電路元件,用于存儲和保持數字信號的狀態。
    的頭像 發表于 07-23 11:32 ?2179次閱讀

    d解決了sr的什么問題

    D(Data Latch)和SR(Set-Reset Latch)是
    的頭像 發表于 08-28 09:16 ?464次閱讀

    電壓監控(復位IC)

    電子發燒友網站提供《電壓監控(復位IC).pdf》資料免費下載
    發表于 09-18 10:34 ?0次下載
    <b class='flag-5'>鎖</b><b class='flag-5'>存</b>電壓監控<b class='flag-5'>器</b>(復位<b class='flag-5'>IC</b>)