色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

FPGA設(shè)計(jì)案例之VerilogHDL可綜合設(shè)計(jì)

454398 ? 來源:博客園 ? 作者:IC_learner ? 2020-11-23 13:05 ? 次閱讀

一、邏輯設(shè)計(jì)

(1)組合邏輯設(shè)計(jì)

下面是一些用Verilog進(jìn)行組合邏輯設(shè)計(jì)時(shí)的一些注意事項(xiàng):

①組合邏輯可以得到兩種常用的RTL 級(jí)描述方式。第一種是always 模塊的觸發(fā)事件為電平敏感信號(hào)列表;第二種就是用assign 關(guān)鍵字描述的數(shù)據(jù)流賦值語句。

②always 模塊的敏感表為電平敏感信號(hào)的電路可幾乎可以完成對(duì)所有組合邏輯電路的建模。always模塊的敏感列表為所有判斷條件信號(hào)和輸入信號(hào),但一定要注意敏感列表的完整性(注意通配符*的使用)。

由于賦值語句有阻塞賦值和非阻塞賦值兩類,建議讀者使用阻塞賦值語句“=”,原因?qū)⒃凇白枞x值和非阻塞賦值”中(現(xiàn)在還沒有寫)進(jìn)行說明。

always 模塊中的信號(hào)必須定義為reg 型,不過最終的實(shí)現(xiàn)結(jié)果中并沒有寄存器。這是由于在組合邏輯電路描述中,將信號(hào)定義為reg 型,只是為了滿足語法要求。

③assign 語句的描述,利用條件符“?”可以描述一些相對(duì)簡(jiǎn)單的組合邏輯電路,左邊的賦值信號(hào)只能被定義為wire 型。當(dāng)組合邏輯比較復(fù)雜時(shí),需要很多條語句assign 語句或者多重嵌套“?”,使得代碼可讀性極差,因此此時(shí)推薦always組合邏輯建模方式。

④設(shè)計(jì)時(shí)要注意不要出現(xiàn)組合邏輯環(huán)路:


不要在組合邏輯中引入環(huán)路,在組合邏輯中引入環(huán)路會(huì)導(dǎo)致電路產(chǎn)生振蕩、毛刺以及沖突等問題,從而降低設(shè)計(jì)的穩(wěn)定性和可靠性,此外,環(huán)回邏輯的延時(shí)完全依靠組合邏輯門延遲和布線延遲。一旦這些傳播時(shí)延有所變化,則環(huán)路的整體邏輯將徹底失效。其次,環(huán)路的時(shí)序分析是個(gè)死循環(huán)過程。目前的EDA 開發(fā)工具為了計(jì)算環(huán)路的時(shí)序邏輯都會(huì)主動(dòng)割斷時(shí)序路徑,引入許多不確定的因素。因此要徹底避免環(huán)路。

(2)時(shí)序邏輯設(shè)計(jì)

①時(shí)序電路的行為決定了其只能通過always 塊語句實(shí)現(xiàn),通過關(guān)鍵詞“posedge”和“negedge”來捕獲時(shí)鐘信號(hào)的上升沿和下降沿。在always 語句塊中可以使用任何可綜合的標(biāo)志符。

②在描述時(shí)序電路的always 塊中的reg 型信號(hào)都會(huì)被綜合成寄存器,這是和組合邏輯電路所不同的。

③時(shí)序邏輯中推薦使用非阻塞賦值“

④時(shí)序邏輯的敏感信號(hào)列表只需要加入所用的時(shí)鐘觸發(fā)沿即可,其余所有的輸入和條件判斷信號(hào)都不用加入,這是因?yàn)闀r(shí)序邏輯是通過時(shí)鐘信號(hào)的跳變沿來控制的。

二、鎖存器

鎖存器是個(gè)“奇葩”的器件,在FPGA邏輯設(shè)計(jì)中很避諱;在ASIC設(shè)計(jì)中,以前很喜歡(因?yàn)槊娣e小),現(xiàn)在不是很喜歡了。在這里就記錄一下關(guān)于鎖存器的一些事項(xiàng)吧。

(1)鎖存器的概述

①鎖存器的詳細(xì)CMOS電路結(jié)果在前面電路基礎(chǔ)章節(jié)中已經(jīng)有描述,這里不詳細(xì)描述它的結(jié)構(gòu),詳情請(qǐng)挫這個(gè)鏈接:http://www.cnblogs.com/IClearner/p/6443539.html。

②鎖存器是一種對(duì)脈沖電平敏感的存儲(chǔ)單元電路,可以在特定輸入脈沖電平作用下改變狀態(tài),其本身也是一類常用的邏輯單元,有著特定的需求。

③鎖存器在數(shù)據(jù)未鎖存時(shí),輸出端的信號(hào)隨輸入信號(hào)變化,就像信號(hào)通過一個(gè)緩沖器一樣,一旦鎖存信號(hào)有效,則數(shù)據(jù)被鎖住,輸入信號(hào)不起作用。因此,鎖存器也被稱為透明鎖存器,指的是不鎖存時(shí)輸出對(duì)于輸入是透明的。

④鎖存器和寄存器都是數(shù)字電路的基本存儲(chǔ)單元,但鎖存器是電平觸發(fā)的存儲(chǔ)器,觸發(fā)器是邊沿觸發(fā)的存儲(chǔ)器。

本質(zhì)上,鎖存器和D 觸發(fā)器的邏輯功能是基本相同的,都可存儲(chǔ)數(shù)據(jù),且鎖存器所需的門邏輯更少,具備更高的集成度。

⑤鎖存器具備下列三個(gè)缺點(diǎn):

? 對(duì)毛刺敏感,不能異步復(fù)位,因此在上電后處于不確定的狀態(tài)。

? 鎖存器會(huì)使靜態(tài)時(shí)序分析變得非常復(fù)雜,不具備可重用性。

? 在FPGA/CPLD芯片中,基本的單元是由查找表和觸發(fā)器組成的,若生成鎖存器反而需要更多的資源。

(2)鎖存器的產(chǎn)生

①鎖存器產(chǎn)生于組合邏輯的設(shè)計(jì)中,在基于always的組合邏輯描述語句中,可能產(chǎn)生鎖存器的情況具體可分為兩種:其一是在if 語句中,另一種是在case 語句中。

②在always 塊中使用if 語句,但缺乏else 分支而造成鎖存器。

③在always 塊中使用case 語句,由于缺乏default 分支而造成鎖存器。

④如果用到if 語句,最好有else 分支;如果用到case 語句,最好有default 語句。即使需要鎖存器,也通過else 分支或default 分支來顯式說明。

(3)鎖存器的應(yīng)用

①在總線應(yīng)用上,鎖存器能提高驅(qū)動(dòng)能力、隔離前后級(jí)。

②地址鎖存器、數(shù)據(jù)鎖存器、復(fù)位信號(hào)鎖存器;門控時(shí)鐘鐘的應(yīng)用等等。

三、設(shè)計(jì)思維

這個(gè)設(shè)計(jì)思維本來屬于設(shè)計(jì)技巧里面的,放在這里說明,是為了告訴自己,在進(jìn)行電路描述的時(shí)候, 是基于這些準(zhǔn)則的,在設(shè)計(jì)時(shí)能夠根據(jù)這些基本準(zhǔn)則進(jìn)行優(yōu)化電路。下面是常見的設(shè)計(jì)思維,主要是基于FPGA的,關(guān)于ASIC其他設(shè)計(jì)技巧或者設(shè)計(jì)思維,我記錄在了“技巧”篇。

(1)速度面積互換準(zhǔn)則

①速度與面積是設(shè)計(jì)時(shí)常考慮的的一個(gè)問題,因此在設(shè)計(jì)的時(shí)候要考慮怎么在這二者之間的權(quán)衡。當(dāng)然,現(xiàn)在功耗也與速度、面積成為需要考慮的重大因素之一。

②面積和速度互換的具體操作很多,比如模塊復(fù)用、乒乓操作、串并轉(zhuǎn)換以及流水線操作等。在設(shè)計(jì)技巧策略和技巧那一章節(jié)中將會(huì)進(jìn)行敘述。

③串并轉(zhuǎn)換乘法器:假設(shè)數(shù)據(jù)速率是乘法器模塊處理速度的3 倍,那么由于乘法器模塊的數(shù)據(jù)吞吐量滿足不了要求,在這種情況下,就利用面積換速度的思想,復(fù)制3 個(gè)乘法器模塊。首先將輸入數(shù)據(jù)進(jìn)行串并轉(zhuǎn)換,然后利用這3 個(gè)模塊并行處理所分配到的數(shù)據(jù),最后將處理結(jié)果并串轉(zhuǎn)換,達(dá)到數(shù)據(jù)速率的要求。

如下圖所示:


(2)FPGA中的設(shè)計(jì)思維

①信號(hào)反相的處理策略

在處理反相信號(hào)時(shí),設(shè)計(jì)時(shí)應(yīng)盡可能地遵從分散反相原則。即應(yīng)使用多個(gè)反相器分別反相,每個(gè)反相器驅(qū)動(dòng)一個(gè)負(fù)載,這個(gè)原則無論對(duì)時(shí)鐘信號(hào)還是對(duì)其它信號(hào)都是適用的。

因?yàn)樵贔PGA設(shè)計(jì)中,反相是被吸收到CLB或IOB中的,使用多個(gè)反相器并不占用更多的資源,而使用一個(gè)反相器將信號(hào)反相后驅(qū)動(dòng)多個(gè)負(fù)載卻往往會(huì)多占資源,而且延遲也增加了。

②首先,如果輸入信號(hào)需要反相,則應(yīng)盡可能地調(diào)用輸入帶反相功能的符號(hào),而不是用分離的反相器對(duì)輸入信號(hào)進(jìn)行反相。

因?yàn)樵谑褂米詭Х聪喙δ艿钠骷校捎诤瘮?shù)發(fā)生器用查表方式實(shí)現(xiàn)邏輯,反相操作是不占資源的,也沒有額外延遲;而分開使用不同邏輯使用反相操作實(shí)現(xiàn),從而消耗額外的資源,增加額外的延遲。

③其次,如果一個(gè)信號(hào)反相后驅(qū)動(dòng)了多個(gè)負(fù)載,則應(yīng)將反相功能分散到各個(gè)負(fù)載中實(shí)現(xiàn),而不能采用傳統(tǒng)TTL電路設(shè)計(jì),采用集中反相驅(qū)動(dòng)多個(gè)負(fù)載來減少所用的器件的數(shù)量。

因?yàn)樵贔PGA設(shè)計(jì)中,集中反相驅(qū)動(dòng)多個(gè)負(fù)載往往會(huì)多占一個(gè)邏輯塊或半個(gè)邏輯塊,而且延遲也增加了。分散信號(hào)的反相往往可以與其它邏輯在同一單元內(nèi)完成而不消耗額外的邏輯資源。

聲明:本文內(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

    文章

    21796

    瀏覽量

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

    關(guān)注

    8

    文章

    908

    瀏覽量

    41635
  • VerilogHDL
    +關(guān)注

    關(guān)注

    2

    文章

    39

    瀏覽量

    19117
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Xilinx FPGA命名規(guī)則,替代參數(shù),速度等級(jí)常識(shí)

    FPGA
    芯廣場(chǎng)
    發(fā)布于 :2024年08月22日 19:01:55

    FPGA和ASIC有什么不同之處

    FPGA是“重構(gòu)邏輯”器件。先制造的芯片,再次設(shè)計(jì)時(shí)“重新配置”。
    的頭像 發(fā)表于 07-24 09:32 ?1102次閱讀
    <b class='flag-5'>FPGA</b>和ASIC有什么不同之處

    基于FPGA的CCD工業(yè)相機(jī)系統(tǒng)設(shè)計(jì)

    基于FPGA的CCD工業(yè)相機(jī)系統(tǒng)設(shè)計(jì)是一個(gè)綜合性的項(xiàng)目,它結(jié)合了硬件電路設(shè)計(jì)、FPGA編程以及圖像處理技術(shù)。以下是一個(gè)詳細(xì)的系統(tǒng)設(shè)計(jì)方案,包括設(shè)計(jì)概述、硬件架構(gòu)、FPGA編程要點(diǎn)以及部
    的頭像 發(fā)表于 07-17 11:24 ?1352次閱讀

    FPGA設(shè)計(jì)經(jīng)驗(yàn)圖像處理

    今天和大俠簡(jiǎn)單聊一聊基于FPGA的圖像處理,之前也和各位大俠聊過相關(guān)的圖像處理,這里面也超鏈接了幾篇,具體如下: 圖像邊緣檢測(cè)算法體驗(yàn)步驟(Photoshop,Matlab)算法
    發(fā)表于 06-12 16:26

    FPGA基礎(chǔ)知識(shí)學(xué)習(xí)

    語言(HDL)如VHDL或Verilog來描述。這些描述定義了電路的功能和信號(hào)流,然后通過各種電子設(shè)計(jì)自動(dòng)化(EDA)工具進(jìn)行輔助設(shè)計(jì)、綜合化、布局和布線等處理,最終將設(shè)計(jì)轉(zhuǎn)化為可以在FPGA上實(shí)現(xiàn)
    發(fā)表于 04-29 23:26

    Xilinx FPGA的約束設(shè)置基礎(chǔ)

    LOC約束是FPGA設(shè)計(jì)中最基本的布局約束和綜合約束,能夠定義基本設(shè)計(jì)單元在FPGA芯片中的位置,實(shí)現(xiàn)絕對(duì)定位、范圍定位以及區(qū)域定位。
    發(fā)表于 04-26 17:05 ?1319次閱讀
    Xilinx <b class='flag-5'>FPGA</b>的約束設(shè)置基礎(chǔ)

    # FPGA 編程如何工作?

    FPGA 在提高智能電網(wǎng)的擴(kuò)展性和性能方面非常有用,同時(shí)仍保持低功耗。 =#3。= 航空航天和國(guó)防 飛機(jī)有時(shí)會(huì)飛過惡劣的環(huán)境。因此,制造公司生產(chǎn)抗輻射和抗輻射 FPGA,與傳統(tǒng) ASIC 實(shí)現(xiàn)
    發(fā)表于 03-30 11:50

    讀《FPGA入門教程》

    驟被省略掉。布局布線 布局布線就是使用綜合后的網(wǎng)表文件,將工程的邏輯與時(shí)序要求與器件的可用資源相匹配。也可以簡(jiǎn)單地將布局布線理解為對(duì)FPGA內(nèi)部查找表和寄存器資源的合理配置,那么‘布局’可以被理解挑選
    發(fā)表于 03-29 16:42

    FPGA開源項(xiàng)目:Verilog常用綜合IP模塊庫(kù)

    所有代碼在典型的 FPGA 和主流 FPGA 供應(yīng)商中都具有高度重用性。 可以出于任何目的對(duì)文件進(jìn)行重新混合、轉(zhuǎn)換和構(gòu)建,甚至是商業(yè)用途。
    發(fā)表于 03-29 11:31 ?1103次閱讀
    <b class='flag-5'>FPGA</b>開源項(xiàng)目:Verilog常用<b class='flag-5'>可</b><b class='flag-5'>綜合</b>IP模塊庫(kù)

    FPGA軟件測(cè)試面臨哪些挑戰(zhàn)?

    FPGA軟件包含進(jìn)行設(shè)計(jì)而產(chǎn)生的程序、文檔和數(shù)據(jù),同時(shí)包含與相關(guān)的軟件特性和硬件特性。FPGA軟件測(cè)試需要考慮軟件代碼正確性、軟硬件接口協(xié)調(diào)性、時(shí)序性等方面的全面覆蓋。
    發(fā)表于 03-20 12:23 ?1212次閱讀

    fpga全稱是什么?fpga的工作原理是什么?

    FPGA的全稱是Field Programmable Gate Array,即現(xiàn)場(chǎng)可編程門陣列。它是一種半導(dǎo)體邏輯芯片,可以根據(jù)用戶需要,通過編程配置其內(nèi)部邏輯電路結(jié)構(gòu),以實(shí)現(xiàn)特定的功能。FPGA的出現(xiàn)極大地提高了電子系統(tǒng)的靈活性和
    的頭像 發(fā)表于 03-15 14:27 ?1898次閱讀

    fpga芯片的主要特點(diǎn)包括 fpga芯片上市公司

    上具有顯著優(yōu)勢(shì),特別適用于實(shí)時(shí)性要求高的應(yīng)用場(chǎng)景。 設(shè)計(jì)靈活與重構(gòu)性:FPGA芯片屬于硬件重構(gòu)的芯片結(jié)構(gòu),其內(nèi)部設(shè)置了數(shù)量豐富的輸入輸出單元引腳及觸發(fā)器。這種靈活性使得FPGA能夠
    的頭像 發(fā)表于 03-14 16:46 ?1252次閱讀

    為什么對(duì)FPGA軟件進(jìn)行測(cè)評(píng)?

    FPGA軟件包含進(jìn)行設(shè)計(jì)而產(chǎn)生的程序、文檔和數(shù)據(jù),同時(shí)包含與相關(guān)的軟件特性和硬件特性。FPGA軟件測(cè)試需要考慮軟件代碼正確性、軟硬件接口協(xié)調(diào)性、時(shí)序性等方面的全面覆蓋。
    發(fā)表于 03-06 11:39 ?812次閱讀

    初識(shí)FPGA需要關(guān)注的注意事項(xiàng)!

    ,特別是從軟件轉(zhuǎn)過來的,設(shè)計(jì)的程序既費(fèi)資源又速度慢,而且很有可能綜合不了,這就要求我們熟悉一些固定模塊的寫法,綜合的模塊很多書上都有,語言介紹上都有,不要想當(dāng)然的用軟件的思想去寫硬件。 4.學(xué)習(xí)
    發(fā)表于 02-22 10:57

    時(shí)序電路為什么在FPGA綜合成了latch?

    有朋友提問,下面的代碼為什么在DC里可以綜合成DFF,而在FPGA上卻綜合成了latch。
    的頭像 發(fā)表于 02-20 16:12 ?903次閱讀
    時(shí)序電路為什么在<b class='flag-5'>FPGA</b>上<b class='flag-5'>綜合</b>成了latch?
    主站蜘蛛池模板: 国精产品一区一区三区M | 贵妇局长的蕾丝乳罩 | 曰本真人00XX动太图 | 成人麻豆日韩在无码视频 | 少妇系列之白嫩人妻 | 国产女人与黑人在线播放 | 久青草国产观看在线视频 | 亚洲免费视频日本一区二区 | 中文字幕AV在线一二三区 | 国产不卡一卡2卡三卡4卡网站 | 日本A级作爱片金瓶双艳 | 野花香在线观看免费观看大全动漫 | 成都电影免费中文高清 | 国产欧美日韩综合精品一区二区 | 色www精品视频在线观看 | 日本乱子人伦在线视频 | 中文字幕人成人乱码亚洲AV | 欧美激情视频一区二区 | 国产午夜精品理论片久久影视 | 成人毛片手机版免费看 | 国产成人在线免费观看 | 亚洲精品午夜久久久伊人 | 受喷汁红肿抽搐磨NP双性 | 爽娇妻快高h | 丁香成人网址 | 在线精品视频免费观看 | 日本黄色成年人免费观看 | 教室眠催白丝美女校花 | 男人把女人桶到高潮嗷嗷叫 | 被强J高H纯肉公交车啊 | 色婷婷AV国产精品欧美毛片 | 草莓AV福利网站导航 | 脱jk裙的美女露小内内无遮挡 | 爽爽窝窝午夜精品一区二区 | 一边亲着一面膜下奶韩剧免费 | 国产香蕉尹人视频在线 | 亚洲欧美成人综合 | 永久免费在线视频 | 动漫护士被乳羞羞漫 | gay吊粗大双龙 | 伊人青青久 |