一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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 級描述方式。第一種是always 模塊的觸發(fā)事件為電平敏感信號列表;第二種就是用assign 關(guān)鍵字描述的數(shù)據(jù)流賦值語句。

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

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

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

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

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


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

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

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

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

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

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

二、鎖存器

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

(1)鎖存器的概述

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

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

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

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

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

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

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

? 鎖存器會使靜態(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ū)動能力、隔離前后級。

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

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

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

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

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

如下圖所示:


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

①信號反相的處理策略

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

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

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

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

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

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

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

    關(guān)注

    1646

    文章

    22054

    瀏覽量

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

    關(guān)注

    8

    文章

    926

    瀏覽量

    42411
  • VerilogHDL
    +關(guān)注

    關(guān)注

    2

    文章

    39

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于FPGA實(shí)現(xiàn)FOC算法PWM模塊設(shè)計(jì)

    哈嘍,大家好,從今天開始正式帶領(lǐng)大家從零到一,在FPGA平臺上實(shí)現(xiàn)FOC算法,整個算法的框架如下圖所示,如果大家對算法的原理不是特別清楚的話,可以先去百度上學(xué)習(xí)一下,本教程著重介紹實(shí)現(xiàn)過程,弱化原理的介紹。那么本文將從PWM模塊開始進(jìn)入FOC算法中去。
    的頭像 發(fā)表于 07-17 15:21 ?872次閱讀
    基于<b class='flag-5'>FPGA</b>實(shí)現(xiàn)FOC算法<b class='flag-5'>之</b>PWM模塊設(shè)計(jì)

    電纜隧道綜合監(jiān)測的技術(shù)應(yīng)用分析

    的適配性。電纜隧道綜合監(jiān)測系統(tǒng),是一款實(shí)現(xiàn)電纜隧道在線監(jiān)測的軟硬件結(jié)合的解決方案,從電纜隧道實(shí)際情況出發(fā),選配適用的監(jiān)測內(nèi)容,保證監(jiān)測內(nèi)容覆蓋全面,才能有效實(shí)現(xiàn)電纜隧道監(jiān)測。 電纜隧道綜合監(jiān)測核心監(jiān)測技術(shù)
    的頭像 發(fā)表于 06-10 10:53 ?242次閱讀
    電纜隧道<b class='flag-5'>綜合</b>監(jiān)測的技術(shù)應(yīng)用分析

    FPGA調(diào)試方式VIO/ILA的使用

    在Vivado中,VIO(Virtual Input/Output)是一種用于調(diào)試和測試FPGA設(shè)計(jì)的IP核,它允許設(shè)計(jì)者通過JTAG接口實(shí)時(shí)讀取和寫入FPGA內(nèi)部的寄存器,從而檢查設(shè)計(jì)的運(yùn)行狀態(tài)并修改其行為。VIO IP核提供了一個簡單易用的接口,使得用戶可以輕松地與
    的頭像 發(fā)表于 06-09 09:32 ?1411次閱讀
    <b class='flag-5'>FPGA</b>調(diào)試方式<b class='flag-5'>之</b>VIO/ILA的使用

    從發(fā)明到 AI 加速:慶祝 FPGA 創(chuàng)新 40 周年

    今年是首款商用現(xiàn)場可編程門陣列( FPGA )誕生 40 周年,其帶來了重編程硬件的概念。通過打造“與軟件一樣靈活的硬件”,FPGA 重編程邏輯改變了半導(dǎo)體設(shè)計(jì)的面貌。這是開發(fā)人員
    發(fā)表于 06-05 17:32 ?961次閱讀
    從發(fā)明到 AI 加速:慶祝 <b class='flag-5'>FPGA</b> 創(chuàng)新 40 周年

    FPGA芯片的概念和結(jié)構(gòu)

    FPGA(Field Programmable Gate Array,現(xiàn)場可編程門陣列),是一種可在出廠后由用戶根據(jù)實(shí)際需求進(jìn)行編程配置的集成電路。與專用集成電路(如ASIC)不同,FPGA在硬件層面具備高度的重構(gòu)性,能夠靈活
    的頭像 發(fā)表于 05-12 09:30 ?1017次閱讀

    鄭州麗健獲贈首顆重復(fù)使用返回式技術(shù)試驗(yàn)衛(wèi)星搭載證書

    ?日前,記者從鄭州麗健體育用品有限公司獲悉,鄭州麗健獲贈首顆重復(fù)使用返回式技術(shù)試驗(yàn)衛(wèi)星搭載證書,搭載證書內(nèi)容顯示:實(shí)踐十九號衛(wèi)星是由中國航天科技集團(tuán)有限公司第五研究院抓總研制的首顆
    的頭像 發(fā)表于 04-14 16:28 ?224次閱讀
    鄭州麗<b class='flag-5'>之</b>健獲贈首顆<b class='flag-5'>可</b>重復(fù)使用返回式技術(shù)試驗(yàn)衛(wèi)星搭載證書

    MRAM存儲替代閃存,FPGA升級新技術(shù)

    電子發(fā)燒友網(wǎng)綜合報(bào)道,日前,萊迪思宣布在FPGA設(shè)計(jì)上前瞻性的布局,使其能夠結(jié)合MRAM技術(shù),推出了包括Certus-NX、CertusPro-NX和Avant等多款創(chuàng)新產(chǎn)品。這些FPGA器件采用
    發(fā)表于 03-08 00:10 ?688次閱讀

    FPGA+GPU+CPU國產(chǎn)化人工智能平臺

    平臺采用國產(chǎn)化FPGA+GPU+CPU構(gòu)建嵌入式多核異構(gòu)智算終端,形成FPGA+GPU、FPGA+CPU、CPU+FPGA等組合模式,形成
    的頭像 發(fā)表于 01-07 16:42 ?1103次閱讀
    <b class='flag-5'>FPGA</b>+GPU+CPU國產(chǎn)化人工智能平臺

    FPGA在AI方面有哪些應(yīng)用

    隨著人工智能技術(shù)的飛速發(fā)展,對計(jì)算性能的需求也日益增長。FPGA(現(xiàn)場可編程門陣列)作為一種高性能、低功耗、靈活編程的硬件平臺,正逐漸在 AI 領(lǐng)域嶄露頭角,展現(xiàn)出獨(dú)特的優(yōu)勢,為 AI 應(yīng)用的落地
    的頭像 發(fā)表于 01-06 17:37 ?1408次閱讀

    正點(diǎn)原子fpga開發(fā)指南

    正點(diǎn)原子(ZYNQ)是一種集成了ARM處理器和FPGA(現(xiàn)場可編程門陣列)的SoC(系統(tǒng)級芯片)解決方案,由Xilinx公司推出。它結(jié)合了處理器的靈活性和FPGA的可編程性,適用于需要高性能計(jì)算和
    的頭像 發(fā)表于 11-13 09:35 ?2177次閱讀

    FPGA基礎(chǔ)知識及設(shè)計(jì)和執(zhí)行FPGA應(yīng)用所需的工具

    本文將首先介紹FPGA的基礎(chǔ)知識,包括FPGA的工作原理以及為什么要使用FPGA等,然后討論設(shè)計(jì)和執(zhí)行FPGA應(yīng)用所需的工具。
    的頭像 發(fā)表于 11-11 11:29 ?1826次閱讀
    <b class='flag-5'>FPGA</b>基礎(chǔ)知識及設(shè)計(jì)和執(zhí)行<b class='flag-5'>FPGA</b>應(yīng)用所需的工具

    基于FPGA的LCD1602液晶顯示模塊驅(qū)動設(shè)計(jì)

    本文通過以LCD1602液晶顯示模塊為基礎(chǔ),介紹FPGA驅(qū)動LCD1602原理,詳細(xì)介紹硬件原理圖設(shè)計(jì)及FPGA驅(qū)動LCD1602軟件設(shè)計(jì),通過萬年歷功能綜合實(shí)現(xiàn)時(shí)鐘功能、LCD1602顯示功能。
    的頭像 發(fā)表于 10-24 14:42 ?4118次閱讀
    基于<b class='flag-5'>FPGA</b>的LCD1602液晶顯示模塊驅(qū)動設(shè)計(jì)

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    。 易于綜合和優(yōu)化:三段式寫法符合硬件設(shè)計(jì)的原則,易于綜合工具進(jìn)行分析和優(yōu)化,提高電路的性能和資源利用率。 擴(kuò)展性:三段式寫法便于對狀態(tài)機(jī)進(jìn)行擴(kuò)展和修改,可以方便地添加新的狀態(tài)或修改狀態(tài)轉(zhuǎn)移邏輯
    發(fā)表于 09-23 18:26

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

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

    FPGA和ASIC有什么不同之處

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