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

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

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

詳解FPGA的基本電路結(jié)構(gòu)

潘文明 ? 來源:明德?lián)P吳老師 ? 作者:明德?lián)P吳老師 ? 2022-03-24 11:22 ? 次閱讀

第二章 FPGA知識大串講02_知識串聯(lián)

作者:潘文明

本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請注明出處!

在上一篇文章中,我們概括地講述了FPGA的一些學(xué)習(xí)誤區(qū)。本文我們將FPGA的關(guān)鍵知識串聯(lián)起來,系統(tǒng)地介紹各個知識點所處的層次和位置,為后面幾仿篇文章的詳細(xì)講解做好鋪墊。

第1節(jié) FPGA的基本電路結(jié)構(gòu)

詳解FPGA的基本電路結(jié)構(gòu)

首先,我們來講解一下FPGA的基本電路結(jié)構(gòu)。請看上圖中左邊紅色方框,該方框內(nèi)包含了組合邏輯電路以及一個D觸發(fā)器。組合邏輯里可能是加法器、減法器、選擇器,甚至是什么都沒有,就是連線;組合邏輯的輸出將連接到D觸發(fā)器的輸入端;D觸發(fā)器在時鐘的驅(qū)動下,將組合邏輯的運算結(jié)構(gòu),輸出到D觸發(fā)器的輸出端。

這就是一個FPGA的基本電路結(jié)構(gòu),而這個電路結(jié)構(gòu)則與VERILOG中的一個ALWAYS對應(yīng),如下面的代碼

詳解FPGA的基本電路結(jié)構(gòu)

上面代碼在綜合器的作用下,其綜合的FPGA電路結(jié)構(gòu),也是組合邏輯+D觸發(fā)器的形式。其中組合邏輯由比較器(cnt==0、cnt==1、cnt==2就是比較器)、選擇器(從1、2、3或者保持不變中選擇)等組成;D觸發(fā)器的時鐘就是代碼中的clk,輸入則是組合邏輯的結(jié)果,輸出則是信號cnt。

有讀者可能會對基本電路結(jié)構(gòu)有疑問,難道所有代碼都這樣結(jié)構(gòu)嗎?例如下面代碼中的add_cnt0和end_cnt0信號,它是由assign設(shè)計的,它們就沒有D觸發(fā)器。

詳解FPGA的基本電路結(jié)構(gòu)

單純只看add_cnt0和end_cnt0的代碼,貌似是沒有D觸發(fā)器,但仔細(xì)看第5行和第6行,這個兩個信號是參與了判斷(事實就是選擇器),決定了D觸發(fā)器的輸出cnt0。即從add_cnt0到cnt0之間,就是組合邏輯+D觸發(fā)器的結(jié)構(gòu)。

FPGA代碼是由一個又一個ALWAYS代碼組成的,這說明FPGA的絕大部分電路,就是由一個又一個“組合邏輯+D觸發(fā)器”的電路組合起來的,如下圖

詳解FPGA的基本電路結(jié)構(gòu)

上面這種結(jié)構(gòu)是我們設(shè)計的基本單位。這種結(jié)構(gòu)還有一種隱含的意思:組合邏輯決定電路的運算及功能,D觸發(fā)器就像一個節(jié)點,將運算結(jié)果保存下來,為下一級運算作準(zhǔn)備。FPGA代碼設(shè)計過程,就像是設(shè)計一個功能,保存一下,設(shè)計下一個功能,保存一下。文字難以描述,請讀者認(rèn)真體會體會。

還有注意的是,上面推薦的是“組合邏輯+D觸發(fā)器”結(jié)構(gòu)思維,不要使用“D觸發(fā)器+組合邏輯”思維,這種思維是不正確的。

詳解FPGA的基本電路結(jié)構(gòu)

再看上圖,為什么說FPGA代碼里,各個ALWAYS是并行的呢?從上圖就很容易理解了。圖中可以看到,三個D觸發(fā)器都連接時鐘CLK。當(dāng)時鐘CLK的上升沿的時候,這三個D觸發(fā)器將同時受到此信息,同時將D觸發(fā)器的輸入值給到輸出。這些電路都是同時工作的,不存在誰先誰后的。沒有所謂說這個電路在工作,另一個不在工作的情況。

這個就是FPGA 的基本電路結(jié)構(gòu),讀者務(wù)必做到非常清楚這個電路結(jié)構(gòu),這是我們后面描述的一個重要基礎(chǔ)。

第2節(jié) FPGA的知識點

我們在FPGA基礎(chǔ)電路結(jié)構(gòu)圖的基礎(chǔ),將FPGA的所有知識點串聯(lián)起來,然后通過4篇文章,逐一進(jìn)行詳細(xì)的講解。

詳解FPGA的基本電路結(jié)構(gòu)

1. 先講述組合邏輯部分。組合邏輯是由加法器、減法器、比較器、選擇器等電路組成的,所以一開始我們要理解組合邏輯的電路有哪些類型;然后據(jù)此掌握這些類型的VERILOG代碼的寫法;接下來討論這些組合邏輯的時序,引出組合邏輯才有的競爭和冒險現(xiàn)象,最后提出競爭和冒險的解決方法。

詳解FPGA的基本電路結(jié)構(gòu)

2. 完成組合邏輯的講述后,我們將討論D觸發(fā)器。首先會講解D觸發(fā)器的結(jié)構(gòu),進(jìn)而會講述D觸發(fā)器的時序,討論D觸發(fā)器時序與組合邏輯的異同。從D觸發(fā)器時序中,有一個非常重要的概念:建立時間和保持時間。如果建立時間和保持時間不滿足,就會有一個叫亞穩(wěn)態(tài)的情況。亞穩(wěn)態(tài)有什么危害,亞穩(wěn)態(tài)出現(xiàn)的場合有哪些。在明確了出現(xiàn)的場合后,就要想辦法解決亞穩(wěn)態(tài)問題,提出了亞穩(wěn)態(tài)的解決方法。其解決方法分兩種:一種是單一信號,也就是一比特信號的解決方法;還有一種是多比特信號的解決方法。

詳解FPGA的基本電路結(jié)構(gòu)

3. 講完了D觸發(fā)器之后,我們將把組合邏輯和D觸發(fā)器聯(lián)合起來。前面已經(jīng)講魔神,組合邏輯+D觸發(fā)器是一個正確的的電路結(jié)構(gòu)。有正確,那么就不正確,根據(jù)收集讀者的反饋情況,我們列出了一些經(jīng)常會犯的、不合理的結(jié)構(gòu)。之后將討論這個基本結(jié)構(gòu)的時序;接下來是講述如何用VERILOG來實現(xiàn)。實現(xiàn)的話,就有行為描述以及狀態(tài)機(jī)的實現(xiàn)這幾種方法了。

詳解FPGA的基本電路結(jié)構(gòu)

4. 最后一部分,我們將單獨對時鐘進(jìn)行講解。時鐘是FPGA的一個基礎(chǔ),是一個很重要的概念,是FPGA設(shè)計的重點和難點。首先我們將講述時鐘的概念;然后是時鐘抖動SKEW和時鐘頻率。經(jīng)常有被問到:我這個電腦CPU能跑1G,他那個電腦CPU能跑2G,這就是使用頻率。那這個頻率取決于什么因素,為什么有些跑得快,有些跑得慢?這個問題將引出關(guān)鍵路徑的概念。為了提高時鐘頻率,我們可以怎么做?流水線的設(shè)計!!!

以上就是我們FPGA 的所有知識點,將其展示到一張圖,方便讀者使用。

詳解FPGA的基本電路結(jié)構(gòu)

審核編輯:湯梓紅

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

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600533
  • 電路
    +關(guān)注

    關(guān)注

    172

    文章

    5816

    瀏覽量

    171603
  • 結(jié)構(gòu)
    +關(guān)注

    關(guān)注

    1

    文章

    117

    瀏覽量

    21549
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA的時鐘電路結(jié)構(gòu)原理

    FPGA 中包含一些全局時鐘資源。以AMD公司近年的主流FPGA為例,這些時鐘資源由CMT(時鐘管理器)產(chǎn)生,包括DCM、PLL和MMCM等。
    發(fā)表于 04-25 12:58 ?1572次閱讀
    <b class='flag-5'>FPGA</b>的時鐘<b class='flag-5'>電路</b><b class='flag-5'>結(jié)構(gòu)</b>原理

    深入理解 FPGA 的基礎(chǔ)結(jié)構(gòu)

    時間對 FPGA 的內(nèi)部結(jié)構(gòu)產(chǎn)生了一定的興趣,所以找來了一本書看,這篇博客相當(dāng)于是對其中相關(guān)知識點的梳理與總結(jié), 前置知識是數(shù)字電路邏輯 。參考書目寫在了下面: FPGA 原理和
    發(fā)表于 04-03 17:39

    集成芯片原理圖詳解

    集成芯片的原理圖詳解涉及多個方面,包括芯片的結(jié)構(gòu)、功能模塊、信號傳輸以及內(nèi)部電路連接等。
    的頭像 發(fā)表于 03-19 16:36 ?1487次閱讀

    fpga開發(fā)是什么意思

    配置內(nèi)部的邏輯門和連接關(guān)系來實現(xiàn)特定的電路功能。因此,FPGA開發(fā)實質(zhì)上是一種將軟件算法或硬件電路轉(zhuǎn)化為可編程邏輯結(jié)構(gòu)的過程,以實現(xiàn)各種復(fù)雜的邏輯和數(shù)據(jù)處理任務(wù)。
    的頭像 發(fā)表于 03-15 14:28 ?1001次閱讀

    FPGA的數(shù)字時鐘電路解析

    FPGA 在通信領(lǐng)域的應(yīng)用可以說是無所不能,得益于 FPGA 內(nèi)部結(jié)構(gòu)的特點,它可以很容易地實現(xiàn)分布式的算法結(jié)構(gòu),這一點對于實現(xiàn)無線通信中的高速數(shù)字信號處理十分有利。
    發(fā)表于 01-24 13:46 ?672次閱讀
    <b class='flag-5'>FPGA</b>的數(shù)字時鐘<b class='flag-5'>電路</b>解析

    什么是fpga和cpld cpld與fpga結(jié)構(gòu)上有何異同

    ,Programmable Logic Device)的一種。它們在數(shù)字電路設(shè)計中扮演重要的角色,具有高度的可定制性和靈活性。 首先,讓我們來了解FPGA和CPLD的基本概念和原理。FPGA是一種集成
    的頭像 發(fā)表于 01-22 18:05 ?2419次閱讀

    詳解FPGA六大應(yīng)用領(lǐng)域

    FPGA 所能應(yīng)用的領(lǐng)域大概可以分成六大類,下面聽我一一道來。 01 FPGA在通信系統(tǒng)的應(yīng)用簡介 FPGA 在通信領(lǐng)域的應(yīng)用可以說是無所不能,得益于 FPGA 內(nèi)部
    發(fā)表于 01-17 17:03

    一文帶你詳解電路

    【科普】詳解電路
    的頭像 發(fā)表于 12-15 10:41 ?1496次閱讀
    一文帶你<b class='flag-5'>詳解</b>門<b class='flag-5'>電路</b>

    拖動系統(tǒng)基本控制電路詳解

    拖動系統(tǒng)基本控制電路詳解
    的頭像 發(fā)表于 12-13 09:19 ?517次閱讀
    拖動系統(tǒng)基本控制<b class='flag-5'>電路</b><b class='flag-5'>詳解</b>

    一文詳解pcb電路板是怎么制作的

    一文詳解pcb電路板是怎么制作的
    的頭像 發(fā)表于 12-05 11:18 ?1335次閱讀

    詳解高密 PCB走線布線的垂直導(dǎo)電結(jié)構(gòu) (VeCS)

    詳解高密 PCB走線布線的垂直導(dǎo)電結(jié)構(gòu) (VeCS)
    的頭像 發(fā)表于 11-28 17:00 ?1377次閱讀
    <b class='flag-5'>詳解</b>高密 PCB走線布線的垂直導(dǎo)電<b class='flag-5'>結(jié)構(gòu)</b> (VeCS)

    LED電源驅(qū)動電路詳解

    電子發(fā)燒友網(wǎng)站提供《LED電源驅(qū)動電路詳解.doc》資料免費下載
    發(fā)表于 11-15 14:25 ?18次下載
    LED電源驅(qū)動<b class='flag-5'>電路</b>圖<b class='flag-5'>詳解</b>

    詳解pcb電路板的高壓安全距離

    詳解pcb電路板的高壓安全距離
    的頭像 發(fā)表于 11-09 17:00 ?3243次閱讀

    FPGA | 查找表(Look-Up-Table)的原理與結(jié)構(gòu)(Xilinx Spartan-II)

    APEX的結(jié)構(gòu)與此基本相同,具體請參閱數(shù)據(jù)手冊)。 三、查找表結(jié)構(gòu)FPGA邏輯實現(xiàn)原理 我們還是以這個電路的為例: A,B,C,D由
    發(fā)表于 11-03 11:18

    LED驅(qū)動電源的恒流電路方案分析詳解

    電子發(fā)燒友網(wǎng)站提供《LED驅(qū)動電源的恒流電路方案分析詳解.doc》資料免費下載
    發(fā)表于 11-01 10:04 ?5次下載
    LED驅(qū)動電源的恒流<b class='flag-5'>電路</b>方案分析<b class='flag-5'>詳解</b>