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

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

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

關(guān)于FPGA中鎖存器的生成:if語句和case語句的完整性影響

FPGA設(shè)計(jì)論壇 ? 來源:未知 ? 2023-02-09 21:05 ? 次閱讀
鎖存器(Latch)是數(shù)字邏輯電路中很重要的一種基本電路,常見的鎖存器包括三個(gè)端口:數(shù)據(jù)輸入口、數(shù)據(jù)輸出口、使能端。當(dāng)使能端為高電平時(shí),輸入口的數(shù)據(jù)直接送到輸出口,此時(shí)輸入輸出口可以看成是直接連通的;當(dāng)使能端為低電平時(shí),輸出口的數(shù)據(jù)保持之前的數(shù)據(jù)不變,無論輸入口的數(shù)據(jù)怎么變化,輸出都保持不變,就是把原來的狀態(tài)鎖存下來了(所以才叫鎖存器)。鎖存器與觸發(fā)器的區(qū)別在于:**鎖存器是電平觸發(fā),而觸發(fā)器是邊沿觸發(fā)。**鎖存器在不鎖存數(shù)據(jù)時(shí),輸出隨輸入變化;但一旦數(shù)據(jù)鎖存時(shí),輸入對(duì)輸出不產(chǎn)生任何影響。

數(shù)字電路設(shè)計(jì)中,不規(guī)范的描述語言,往往會(huì)產(chǎn)生意想不到的鎖存器,導(dǎo)致綜合出的數(shù)字電路出現(xiàn)邏輯錯(cuò)誤。

在數(shù)字電路中,產(chǎn)生意外的鎖存器的情況一般有以下兩種:

1、if…else…語句結(jié)構(gòu)中沒有else

是不是在所有情況下,只要if后邊沒有else就會(huì)產(chǎn)生鎖存器呢?

(1)缺少else時(shí),先看時(shí)序電路代碼和RTL圖:

沒有else時(shí),再看組合邏輯電路代碼和RTL圖:


小結(jié):
(1)缺少else時(shí),時(shí)序電路的RTL圖生成的是一個(gè)FDRE,即D型觸發(fā)器,沒有生成鎖存器。
(2)缺少else時(shí),組合邏輯電路的RTL圖中生成了一個(gè)LDCE,即帶異步復(fù)位的鎖存器 。

(2) if…else…完整時(shí),先看時(shí)序電路代碼和RTL圖:

再看組合邏輯電路代碼和RTL圖:

小結(jié):
(1)if…else,結(jié)構(gòu)完整時(shí),時(shí)序電路的RTL圖生成的還是一個(gè)FDRE,即D型觸發(fā)器,與沒有else時(shí)結(jié)果一樣。
(2)if…else,結(jié)構(gòu)完整時(shí),組合邏輯電路的RTL圖中生成了一個(gè)LUT2,即查找表,不再生成鎖存器了 。
結(jié)論:
在時(shí)序電路中,if…else…結(jié)構(gòu)完整與否對(duì)是否生成鎖存器沒有關(guān)系
在組合邏輯電路中,if…else…結(jié)構(gòu)完整與否,直接影響組合邏輯電路是否生成鎖存器。
在組合邏輯電路中,if…else…結(jié)構(gòu)不完整時(shí)會(huì)導(dǎo)致電路生成不必要的鎖存器,可能會(huì)導(dǎo)致綜合出的組合邏輯電路的邏輯是錯(cuò)誤的。

2、case結(jié)構(gòu)中的分支沒有包含所有情況且沒有default語句、
此種情況經(jīng)測(cè)試,與if…else…結(jié)構(gòu)是否完整的結(jié)果是一樣的。此處就省略去一萬個(gè)字了。

因此,在設(shè)計(jì)組合邏輯電路時(shí),要注意將 if…else… 結(jié)構(gòu)中的else寫完整,case結(jié)構(gòu)中一定要加上default語句,這樣可以減少綜合出鎖存器的可能性。





掃描二維碼獲取

更多精彩

FPGA設(shè)計(jì)論壇




歡迎關(guān)注至芯科技

至芯官網(wǎng):www.zxopen.com

至芯科技技術(shù)論壇:www.fpgaw.com

至芯科技淘寶網(wǎng)址:

https://zxopen.taobao.com

至芯科技FPGA初級(jí)課程(B站):

https://space.bilibili.com/521850676

至芯科技FPGA在線課程(騰訊課堂):

https://zxopenbj.ke.qq.com/

至芯科技-FPGA 交流群(QQ):282124839

更多資料下載歡迎注冊(cè)http://www.fpgaw.com




掃碼加微信回復(fù)加群

邀請(qǐng)您加入FPGA學(xué)習(xí)交流群




歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!




點(diǎn)個(gè)在看你最好看





原文標(biāo)題:關(guān)于FPGA中鎖存器的生成:if語句和case語句的完整性影響

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    1630

    文章

    21777

    瀏覽量

    604765

原文標(biāo)題:關(guān)于FPGA中鎖存器的生成:if語句和case語句的完整性影響

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    聽懂什么是信號(hào)完整性

    2024年12月20日14:00-16:00星聯(lián)華科技將舉辦“高速信號(hào)完整性分析與測(cè)試”-“碼”上行動(dòng)系列線上講堂線上講堂。本期會(huì)議我們將為大家介紹高速串行總線傳輸基本框架,什么是信號(hào)完整性?高速
    的頭像 發(fā)表于 12-15 23:33 ?242次閱讀
    聽懂什么是信號(hào)<b class='flag-5'>完整性</b>

    信號(hào)完整性和信號(hào)一致你還不知道嗎?#示波器 #信號(hào)完整性

    信號(hào)完整性
    安泰儀器維修
    發(fā)布于 :2024年09月25日 17:59:54

    高速電路的信號(hào)完整性和電源完整性研究

    高速電路的信號(hào)完整性和電源完整性研究
    發(fā)表于 09-25 14:44 ?0次下載

    高速高密度PCB信號(hào)完整性與電源完整性研究

    高速高密度PCB信號(hào)完整性與電源完整性研究
    發(fā)表于 09-25 14:43 ?5次下載

    高速PCB的信號(hào)完整性、電源完整性和電磁兼容研究

    電子發(fā)燒友網(wǎng)站提供《高速PCB的信號(hào)完整性、電源完整性和電磁兼容研究.pdf》資料免費(fèi)下載
    發(fā)表于 09-19 17:37 ?0次下載

    D的基本實(shí)現(xiàn)

    在Verilog HDL實(shí)現(xiàn)(Latch)通常涉及對(duì)硬件描述語言的基本理解,特別是關(guān)于信號(hào)如何根據(jù)控制信號(hào)的變化而保持或更新其值。
    的頭像 發(fā)表于 08-30 10:45 ?885次閱讀

    d解決了sr的什么問題

    D(Data Latch)和SR(Set-Reset Latch)是數(shù)字電路中常見的
    的頭像 發(fā)表于 08-28 09:16 ?635次閱讀

    信號(hào)完整性與電源完整性-電源完整性分析

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性-電源完整性分析.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:31 ?45次下載

    信號(hào)完整性與電源完整性-差分對(duì)的特性

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性-差分對(duì)的特性.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:28 ?1次下載

    信號(hào)完整性與電源完整性-信號(hào)的串?dāng)_

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性-信號(hào)的串?dāng)_.pdf》資料免費(fèi)下載
    發(fā)表于 08-12 14:27 ?0次下載

    信號(hào)完整性與電源完整性 第一章 概論

    電子發(fā)燒友網(wǎng)站提供《信號(hào)完整性與電源完整性 第一章 概論.pdf》資料免費(fèi)下載
    發(fā)表于 08-09 14:49 ?1次下載

    電路的中間是什么元件

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

    什么是信號(hào)完整性

    在現(xiàn)代電子通信和數(shù)據(jù)處理系統(tǒng),信號(hào)完整性(Signal Integrity, SI)是一個(gè)至關(guān)重要的概念。它涉及信號(hào)在傳輸過程的質(zhì)量保持,對(duì)于確保系統(tǒng)性能和穩(wěn)定性具有決定性的影響。本文將從信號(hào)
    的頭像 發(fā)表于 05-28 14:30 ?1231次閱讀

    assign語句和always語句的用法

    的用法和功能。 一、Assign語句 Assign語句的定義和語法 Assign語句用于在HDL連續(xù)賦值,它允許在設(shè)計(jì)為信號(hào)或變量分配一
    的頭像 發(fā)表于 02-22 16:24 ?2718次閱讀

    深入探討嵌入式C編程的goto語句

    什么是goto語句? goto 語句被稱為 C 語言中的跳轉(zhuǎn)語句。 用于無條件跳轉(zhuǎn)到其他標(biāo)簽。它將控制權(quán)轉(zhuǎn)移到程序的其他部分。 goto 語句一般很少使用,因?yàn)樗钩?/div>
    發(fā)表于 01-21 10:41 ?634次閱讀
    深入探討嵌入式C編程的goto<b class='flag-5'>語句</b>