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

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

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

為什么語(yǔ)句的不完整會(huì)導(dǎo)致鎖存器的產(chǎn)生?

西西 ? 來(lái)源:博客園 ? 作者:caiqingfei ? 2020-06-26 09:19 ? 次閱讀

verilog中if與case語(yǔ)句必須完整,即if要加上else,case后要加上default語(yǔ)句,以防止鎖存器的發(fā)生,接下來(lái)就來(lái)說(shuō)說(shuō)其中原因。

鎖存器與觸發(fā)器最大的區(qū)別在于,鎖存器是電平觸發(fā),而觸發(fā)器是邊沿觸發(fā)。鎖存器在不鎖存數(shù)據(jù)時(shí),輸出隨輸入變化;但一旦數(shù)據(jù)鎖存時(shí),輸入對(duì)輸出不產(chǎn)生任何影響。

為什么語(yǔ)句的不完整會(huì)導(dǎo)致鎖存器的產(chǎn)生?

解:

老阮 (2014-10-21 19:30:10)

1、時(shí)序電路,生成觸發(fā)器,觸發(fā)器是有使能端的,使能端無(wú)效時(shí)數(shù)據(jù)不變,這是觸發(fā)器的特性。

2、組合邏輯,由于數(shù)據(jù)要保持不變,只能通過(guò)鎖存器來(lái)保存。

樓主位的第二個(gè)代碼就是在enable為低時(shí),數(shù)據(jù)不變,因此要生成鎖存器。 第一個(gè)代碼,由于是時(shí)序邏輯,生成的觸發(fā)器在enable無(wú)效時(shí)就可以保存數(shù)據(jù)。跟鎖存器無(wú)關(guān)。

walkman416

個(gè)人理解: 所謂生成latch其實(shí)是針對(duì)使用always語(yǔ)句描述一個(gè)組合邏輯而言,因?yàn)槿绻枋鰰r(shí)序邏輯總是使用時(shí)鐘或者時(shí)鐘+復(fù)位作為敏感列表?xiàng)l件,所生成的電路總是組合邏輯+DFF;如果是描述組合邏輯,敏感列表中必然沒(méi)有時(shí)鐘復(fù)位,而是組合邏輯的輸入信號(hào)。在FPGA設(shè)計(jì),避免使用latch,不利于時(shí)序分析和仿真。 樓上有提到latch比DFF省資源, 這個(gè)在FPGA設(shè)計(jì)中其實(shí)還好, 因?yàn)樵贔PGA中DFF就是一個(gè)專用的硬件資源,并且數(shù)量也比較多。

使用always描述組合邏輯時(shí),好的習(xí)慣是使用always @(*)作為敏感列表, 并且需要檢查每個(gè)分支都有明確的賦值,從而避免生成latch.

黎釋注

我是這么理解的,在一份資料看的,

時(shí)序電路=組合邏輯電路+儲(chǔ)存電路;

儲(chǔ)存電路有兩個(gè):鎖存器(latch)和觸發(fā)器;

邊沿觸發(fā)產(chǎn)生觸發(fā)器,

電平觸發(fā)產(chǎn)生鎖存器,

多個(gè)觸發(fā)器組成寄存器

當(dāng)描述的是時(shí)序電路,寄存器變量對(duì)應(yīng)的寄存器,

描述的是完整的組合邏輯電路,對(duì)應(yīng)為硬件連線,

當(dāng)描述的是不完整組合邏輯,則寄存器對(duì)應(yīng)的是鎖存

總結(jié):

1,存儲(chǔ)單元按照觸發(fā)的方式分為電平觸發(fā)和邊沿觸發(fā),電平觸發(fā)的為鎖存器,邊沿觸發(fā)的觸發(fā)器。 2,對(duì)于if,case的完整性,@老阮已經(jīng)說(shuō)的很清楚了,在FPGA建議使用觸發(fā)器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 存儲(chǔ)單元
    +關(guān)注

    關(guān)注

    1

    文章

    62

    瀏覽量

    16115
  • 時(shí)序電路
    +關(guān)注

    關(guān)注

    1

    文章

    114

    瀏覽量

    21652
  • 鎖存器
    +關(guān)注

    關(guān)注

    8

    文章

    903

    瀏覽量

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

    關(guān)注

    14

    文章

    1990

    瀏覽量

    60871
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    BMP解碼顯示圖片不完整

    再次請(qǐng)教原子個(gè)你的那個(gè)圖片解碼的(BMP部分的)工程已經(jīng)移植完畢(用的是znFAT32文件系統(tǒng))但是顯示的圖片不完整(左邊顯示的是圖片的右一半,右邊邊顯示的是圖片的左一半)
    發(fā)表于 07-10 04:35

    怎么實(shí)現(xiàn)二進(jìn)制計(jì)數(shù)?

    ,因?yàn)樗鼈兛赡?b class='flag-5'>會(huì)導(dǎo)致時(shí)序問(wèn)題。警告:Xst:737 - 找到信號(hào)的8位
    發(fā)表于 03-13 09:16

    QT解決串口數(shù)據(jù)接收不完整問(wèn)題

    1. 相關(guān)文章匯總(1)QT解決串口數(shù)據(jù)接收不完整問(wèn)題(貌似貼出的代碼可以存下串口接受的全部數(shù)據(jù))(2)qt中使用串口類接收數(shù)據(jù)不完整 (3)Qt5.7串口接收數(shù)據(jù)不完整因?yàn)榇诒緛?lái)就不是一次接收
    發(fā)表于 08-18 06:58

    如何解決串口接收數(shù)據(jù)不完整

    如何解決串口接收數(shù)據(jù)不完整?
    發(fā)表于 11-22 07:37

    stm32 printf打印出錯(cuò)導(dǎo)致信息不完整怎么解決?

    stm32 printf打印出錯(cuò)導(dǎo)致信息不完整怎么解決?
    發(fā)表于 12-02 08:02

    怎樣去解決stm32串口DMA數(shù)據(jù)接收不完整的問(wèn)題呢

    stm32串口DMA數(shù)據(jù)接收不完整問(wèn)題說(shuō)明最近做了一個(gè)項(xiàng)目需要用串口來(lái)接收模塊端的應(yīng)答數(shù)據(jù),由于使用了實(shí)時(shí)操作系統(tǒng),考慮中斷嵌套或被打斷的問(wèn)題導(dǎo)致數(shù)據(jù)接收不完整的問(wèn)題,使用串口dma接收數(shù)據(jù),但
    發(fā)表于 02-21 06:19

    rt-thread使用ps顯示的線程名字不完整怎么解決?

    使用ps顯示的線程名字不完整
    發(fā)表于 05-09 10:04

    verilog中if與case語(yǔ)句不完整產(chǎn)生的原因分析

      在很多地方都能看到,verilog中if與case語(yǔ)句必須完整,即if要加上else,case后要加上default語(yǔ)句,以防止
    發(fā)表于 09-16 09:29 ?24次下載

    不完整地址轉(zhuǎn)發(fā)表的拓?fù)浒l(fā)現(xiàn)方法

    出的AFT基本推導(dǎo)規(guī)則BRR的完備性.此外還對(duì)基于不完整AFT進(jìn)行拓?fù)浒l(fā)現(xiàn)的NP難問(wèn)題進(jìn)行了討論,深入剖析了任意實(shí)際的局域網(wǎng)絡(luò)的不完整AFT通過(guò)BRR推導(dǎo)完成后的各種可能情況,并分析了單純依靠AFT進(jìn)行拓?fù)浒l(fā)現(xiàn)的局限性.該工作對(duì)于基于AFT進(jìn)
    發(fā)表于 01-12 16:28 ?0次下載
    <b class='flag-5'>不完整</b>地址轉(zhuǎn)發(fā)表的拓?fù)浒l(fā)現(xiàn)方法

    stm32串口DMA數(shù)據(jù)接收不完整問(wèn)題說(shuō)明

    stm32串口DMA數(shù)據(jù)接收不完整問(wèn)題說(shuō)明最近做了一個(gè)項(xiàng)目需要用串口來(lái)接收模塊端的應(yīng)答數(shù)據(jù),由于使用了實(shí)時(shí)操作系統(tǒng),考慮中斷嵌套或被打斷的問(wèn)題導(dǎo)致數(shù)據(jù)接收不完整的問(wèn)題,使用串口dma接收數(shù)據(jù),但
    發(fā)表于 12-24 19:37 ?21次下載
    stm32串口DMA數(shù)據(jù)接收<b class='flag-5'>不完整</b>問(wèn)題說(shuō)明

    APM32F091RCT6_SPI_從機(jī)接收數(shù)據(jù)不完整

    APM32F091RCT6_SPI_從機(jī)接收數(shù)據(jù)不完整
    發(fā)表于 11-09 21:04 ?0次下載
    APM32F091RCT6_SPI_從機(jī)接收數(shù)據(jù)<b class='flag-5'>不完整</b>

    淺談C語(yǔ)言中的三種不完整類型

    不完整類型(Incomplete types)是缺少足夠信息來(lái)確定該類型對(duì)象大小的對(duì)象類型,不完整類型可以在翻譯單元的某些點(diǎn)完整
    發(fā)表于 12-16 09:52 ?446次閱讀

    如何獲取ChatGPT回答不完整的內(nèi)容

    ____tz_zs 對(duì)于 ChatGPT 回答不完整的情況(篇幅限制,沒(méi)有說(shuō)完),可以輸入“繼續(xù)”指令,讓其繼續(xù)回答下去,獲得完整內(nèi)容。 如下圖,發(fā)問(wèn) “使用web3js 調(diào)用 eth鏈智能合約” 直到這里才是獲得了剛剛問(wèn)題 “使用web3js 調(diào)用 eth鏈智能合約”
    發(fā)表于 02-10 10:48 ?0次下載
    如何獲取ChatGPT回答<b class='flag-5'>不完整</b>的內(nèi)容

    C語(yǔ)言中的不完整類型是什么

    C語(yǔ)言中存在這樣一種類型,名叫不完整類型(Incomplete types),雖然我們可能不太理解,或許也沒(méi)有仔細(xì)研究過(guò),但是在實(shí)際的編程中,我們卻已經(jīng)用到過(guò)很多次了。
    的頭像 發(fā)表于 02-21 10:03 ?1129次閱讀

    時(shí)序邏輯會(huì)產(chǎn)生

    時(shí)序邏輯電路本身并不直接“產(chǎn)生,但是時(shí)
    的頭像 發(fā)表于 08-28 11:03 ?208次閱讀