国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

FPGA設(shè)計(jì)的八個(gè)重要知識(shí)點(diǎn),你都會(huì)嗎

發(fā)布時(shí)間:2021-7-9 12:49    發(fā)布者:xyd小蜜蜂
1. 面積與速度的平衡與互換
這里的面積指一個(gè)設(shè)計(jì)消耗FPGA/CPLD的邏輯資源的數(shù)量,對(duì)于FPGA可以用消耗的FF(觸發(fā)器)和LUT(查找表)來(lái)衡量,更一般的衡量方式可以用設(shè)計(jì)所占的等價(jià)邏輯門(mén)數(shù)。
面積和速度這兩個(gè)指標(biāo)貫穿FPGA/CPLD設(shè)計(jì)的時(shí)鐘,是設(shè)計(jì)質(zhì)量的評(píng)價(jià)的終極標(biāo)準(zhǔn) —— 面積和速度是一對(duì)對(duì)立統(tǒng)一的矛盾體。
要求一個(gè)同時(shí)具備設(shè)計(jì)面積最小、運(yùn)行頻率最高是不現(xiàn)實(shí)的。更科學(xué)的設(shè)計(jì)目標(biāo)應(yīng)該是在滿(mǎn)足設(shè)計(jì)時(shí)序要求(包括對(duì)設(shè)計(jì)頻率的要求)的前提下,占用最小的芯片面積。或者在所規(guī)定的面積下,是設(shè)計(jì)的時(shí)序余量更大、頻率跑的更高。這兩種目標(biāo)充分體現(xiàn)了面積和速度的平衡的思想。
作為矛盾的兩個(gè)組成部分,面積和速度的地位是不一樣的。相比之下,滿(mǎn)足時(shí)序、工作頻率的要求更重要一些,當(dāng)兩者沖突時(shí),采用速度優(yōu)先的準(zhǔn)則。
從理論上講,如果一個(gè)設(shè)計(jì)時(shí)序余量較大,所能跑的速度遠(yuǎn)遠(yuǎn)高于設(shè)計(jì)要求,那么就通過(guò)功能模塊的復(fù)用來(lái)減少整個(gè)設(shè)計(jì)消耗的芯片面積,這就是用速度的優(yōu)勢(shì)換取面積的節(jié)約。反之,如果一個(gè)設(shè)計(jì)的時(shí)序要求很高,普通方法達(dá)不到設(shè)計(jì)頻率,那么一般可以通過(guò)將數(shù)據(jù)流串并轉(zhuǎn)換,并行復(fù)制多個(gè)操作模塊,對(duì)整個(gè)設(shè)計(jì)采取乒乓操作和串并轉(zhuǎn)換的思想運(yùn)行。  
2. 硬件原則
硬件原則主要針對(duì)HDL代碼編寫(xiě)而言:Verilog是采用了C語(yǔ)言形式的硬件的抽象,它的本質(zhì)作用在于描述硬件,它的最終實(shí)現(xiàn)結(jié)果是芯片內(nèi)部的實(shí)際電路。所以評(píng)判一段HDL代碼的優(yōu)劣的最終標(biāo)準(zhǔn)是:其描述并實(shí)現(xiàn)的硬件電路的性能,包括面積和速度兩個(gè)方面。
評(píng)價(jià)一個(gè)設(shè)計(jì)的代碼水平較高,僅僅是說(shuō)這個(gè)設(shè)計(jì)是由硬件想HDL代碼這種表現(xiàn)形式的轉(zhuǎn)換更加流暢、合理。而一個(gè)設(shè)計(jì)最終性能,在更大程度上取決于設(shè)計(jì)工程師所構(gòu)想的硬件實(shí)現(xiàn)方案的效率以及合理性。(HDL代碼僅僅是硬件設(shè)計(jì)的表達(dá)形式之一)
初學(xué)者片面追求代碼的整潔、簡(jiǎn)短,是錯(cuò)誤的,是與HDL的標(biāo)準(zhǔn)背道而馳的。正確的編碼方法,首先要做到對(duì)所需實(shí)現(xiàn)的硬件電路胸有成竹,對(duì)該部分的硬件的結(jié)構(gòu)和連接十分清晰,然后再用適當(dāng)?shù)?/font>HDL語(yǔ)句表達(dá)出來(lái)即可。
另外,Verilog作為一種HDL語(yǔ)言,是分層次的。系統(tǒng)級(jí)--算法級(jí)--寄存器傳輸級(jí)--邏輯級(jí)--門(mén)級(jí)--開(kāi)關(guān)級(jí)。構(gòu)建優(yōu)先級(jí)樹(shù)會(huì)消耗大量的組合邏輯,所以如果能夠使用case的地方,盡量使用case代替if.....else......
3. 系統(tǒng)原則
系統(tǒng)原則包含兩個(gè)層次的含義:更高層面上看,是一個(gè)硬件系統(tǒng),一塊單板如何進(jìn)行模塊花費(fèi)和任務(wù)分配,什么樣的算法和功能適合放在FPGA里面實(shí)現(xiàn),什么樣的算法和功能適合放在DSP/CPU里面實(shí)現(xiàn),以及FPGA的規(guī)模估算數(shù)據(jù)接口設(shè)計(jì)等。具體到FPGA設(shè)計(jì)就要對(duì)設(shè)計(jì)的全局有個(gè)宏觀上的合理安排,比如時(shí)鐘域、模塊復(fù)用、約束、面積、速度等問(wèn)題,在系統(tǒng)上模塊的優(yōu)化最為重要。
一般來(lái)說(shuō)實(shí)時(shí)性要求高,頻率快的功能模塊適合FPGA實(shí)現(xiàn)。而FPGACPLD相比,更適合實(shí)現(xiàn)規(guī)模較大、頻率較高、寄存器較多的設(shè)計(jì)。使用FPGA/CPLD設(shè)計(jì)時(shí),應(yīng)該對(duì)芯片內(nèi)部的各種底層硬件資源,和可用的設(shè)計(jì)資源有一個(gè)較深刻的認(rèn)識(shí)。
比如FPGA一般觸發(fā)器資源豐富,CPLD的組合邏輯資源更加豐富。FPGA/CPLD一般是由底層可編程硬件單元、BRAM、布線(xiàn)資源、可配置IO單元、時(shí)鐘資源等構(gòu)成。
底層可編程硬件單元一般由觸發(fā)器和查找表組成。Xilinx的底層可編程硬件資源較SLICE,由兩個(gè)FF2個(gè)LUT構(gòu)成。Altera的底層硬件資源叫LE,由1個(gè)FF1個(gè)LUT構(gòu)成。使用片內(nèi)RAN可以實(shí)現(xiàn)單口RAM、雙口RAM、同步/異步FIFOROMCAM等常用單元模塊。
一般的FPGA系統(tǒng)規(guī)劃的簡(jiǎn)化流程
4. 同步設(shè)計(jì)原則
異步電路的邏輯核心是用組合邏輯電路實(shí)現(xiàn),比如異步的FIFO/RAM讀寫(xiě)信號(hào),地址譯碼等電路。電路的主要信號(hào)、輸出信號(hào)等并不依賴(lài)于任何一個(gè)時(shí)鐘性信號(hào),不是由時(shí)鐘信號(hào)驅(qū)動(dòng)FF產(chǎn)生的。異步時(shí)序電路的最大缺點(diǎn)是容易產(chǎn)生毛刺,在布局布線(xiàn)后仿真和用邏輯分析儀觀測(cè)實(shí)際信號(hào)時(shí),這種毛刺尤其明顯。
同步時(shí)序電路的核心邏輯用各種各樣的觸發(fā)器實(shí)現(xiàn),電路的主要信號(hào)、輸出信號(hào)都是由某個(gè)時(shí)鐘沿驅(qū)動(dòng)觸發(fā)器產(chǎn)生出來(lái)的。同步時(shí)序電路可以很好的避免毛刺,布局布線(xiàn)后仿真,和用邏輯分析儀采樣實(shí)際工作信號(hào)都沒(méi)有毛刺。
是否時(shí)序電路一定比異步電路使用更多的資源呢?從單純的ASCI設(shè)計(jì)來(lái)看,大約需要7個(gè)門(mén)來(lái)實(shí)現(xiàn)一個(gè)D觸發(fā)器,而一個(gè)門(mén)即可實(shí)現(xiàn)一個(gè)2輸入與非門(mén),所以一般來(lái)說(shuō),同步時(shí)序電路比異步電路占用更大的面積。(FPGA/CPLD中不同,主要是因?yàn)閱卧獕K的計(jì)算方式)
如何實(shí)現(xiàn)同步時(shí)序電路的延時(shí)?異步電路產(chǎn)生延時(shí)的一般方法是插入一個(gè)Buffer、兩級(jí)與非門(mén)等,這種延時(shí)調(diào)整手段是不適用同步時(shí)序設(shè)計(jì)思想的。首先要明確一點(diǎn)HDL語(yǔ)法中的延時(shí)控制語(yǔ)法,是行為級(jí)的代碼描述,常用于仿真測(cè)試激勵(lì),但是在電路綜合是會(huì)被忽略,并不能啟動(dòng)延時(shí)作用。
5. 乒乓操作
“ 乒乓操作 ” 是一個(gè)常常應(yīng)用于數(shù)據(jù)流控制的處理技巧,乒乓操作的處理流程為:輸入數(shù)據(jù)流通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 將數(shù)據(jù)流等時(shí)分配到兩個(gè)數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖模塊可以為任何存儲(chǔ)模塊,比較常用的存儲(chǔ)單元為雙口 RAM(DPRAM) 、單口 RAM(SPRAM) FIFO 等。
在第一個(gè)緩沖周期,將輸入的數(shù)據(jù)流緩存到 “ 數(shù)據(jù)緩沖模塊 1” ;在第 2 個(gè)緩沖周期,通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 的切換,將輸入的數(shù)據(jù)流緩存到 “ 數(shù)據(jù)緩沖模塊 2” ,同時(shí)將 “ 數(shù)據(jù)緩沖模塊 1” 緩存的第 1 個(gè)周期數(shù)據(jù)通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 的選擇,送到 “ 數(shù)據(jù)流運(yùn)算處理模塊 ” 進(jìn)行運(yùn)算處理;在第 3 個(gè)緩沖周期通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 的再次切換,將輸入的數(shù)據(jù)流緩存到 “ 數(shù)據(jù)緩沖模塊 1” ,同時(shí)將 “ 數(shù)據(jù)緩沖模塊 2” 緩存的第 2 個(gè)周期的數(shù)據(jù)通過(guò) “ 輸入數(shù)據(jù)選擇單元 ” 切換,送到 “ 數(shù)據(jù)流運(yùn)算處理模塊 ” 進(jìn)行運(yùn)算處理。如此循環(huán)。
6. 串并轉(zhuǎn)換設(shè)計(jì)技巧
串并轉(zhuǎn)換是 FPGA 設(shè)計(jì)的一個(gè)重要技巧,它是數(shù)據(jù)流處理的常用手段,也是面積與速度互換思想的直接體現(xiàn)。串并轉(zhuǎn)換的實(shí)現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)的排序和數(shù)量的要求,可以選用寄存器、 RAM 等實(shí)現(xiàn)。
前面在乒乓操作的圖例中,就是通過(guò) DPRAM 實(shí)現(xiàn)了數(shù)據(jù)流的串并轉(zhuǎn)換,而且由于使用了 DPRAM ,數(shù)據(jù)的緩沖區(qū)可以開(kāi)得很大,對(duì)于數(shù)量比較小的設(shè)計(jì)可以采用寄存器完成串并轉(zhuǎn)換。如無(wú)特殊需求,應(yīng)該用同步時(shí)序設(shè)計(jì)完成串并之間的轉(zhuǎn)換。比如數(shù)據(jù)從串行到并行,數(shù)據(jù)排列順序是高位在前,可以用下面的編碼實(shí)現(xiàn):prl_temp<={prl_temp,srl_in}
其中, prl_temp 是并行輸出緩存寄存器, srl_in 是串行數(shù)據(jù)輸入。對(duì)于排列順序有規(guī)定的串并轉(zhuǎn)換,可以用 case 語(yǔ)句判斷實(shí)現(xiàn)。對(duì)于復(fù)雜的串并轉(zhuǎn)換,還可以用狀態(tài)機(jī)實(shí)現(xiàn)。串并轉(zhuǎn)換的方法比較簡(jiǎn)單,在此不必贅述。
7. 流水線(xiàn)操作設(shè)計(jì)思想
首先需要聲明的是,這里所講述的流水線(xiàn)是指一種處理流程和順序操作的設(shè)計(jì)思想,并非 FPGA ASIC 設(shè)計(jì)中優(yōu)化時(shí)序所用的 “Pipelining” 。
流水線(xiàn)處理是高速設(shè)計(jì)中的一個(gè)常用設(shè)計(jì)手段。如果某個(gè)設(shè)計(jì)的處理流程分為若干步驟,而且整個(gè)數(shù)據(jù)處理是 “ 單流向 ” 的,即沒(méi)有反饋或者迭代運(yùn)算,前一個(gè)步驟的輸出是下一個(gè)步驟的輸入,則可以考慮采用流水線(xiàn)設(shè)計(jì)方法來(lái)提高系統(tǒng)的工作頻率。
流水線(xiàn)設(shè)計(jì)的結(jié)構(gòu)
流水線(xiàn)設(shè)計(jì)的結(jié)構(gòu)示意圖如圖所示。其基本結(jié)構(gòu)為:將適當(dāng)劃分的 n 個(gè)操作步驟單流向串聯(lián)起來(lái)。流水線(xiàn)操作的最大特點(diǎn)和要求是,數(shù)據(jù)流在各個(gè)步驟的處理從時(shí)間上看是連續(xù)的,如果將每個(gè)操作步驟簡(jiǎn)化假設(shè)為通過(guò)一個(gè) D 觸發(fā)器 ( 就是用寄存器打一個(gè)節(jié)拍 ) ,那么流水線(xiàn)操作就類(lèi)似一個(gè)移位寄存器組,數(shù)據(jù)流依次流經(jīng) D 觸發(fā)器,完成每個(gè)步驟的操作。
8. 數(shù)據(jù)接口的同步方法
數(shù)據(jù)接口的同步是 FPGA/CPLD 設(shè)計(jì)的一個(gè)常見(jiàn)問(wèn)題,也是一個(gè)重點(diǎn)和難點(diǎn),很多設(shè)計(jì)不穩(wěn)定都是源于數(shù)據(jù)接口的同步有問(wèn)題。在電路圖設(shè)計(jì)階段,一些工程師手工加入 BUFT 或者非門(mén)調(diào)整數(shù)據(jù)延遲,從而保證本級(jí)模塊的時(shí)鐘對(duì)上級(jí)模塊數(shù)據(jù)的建立、保持時(shí)間要求。
還有一些工程師為了有穩(wěn)定的采樣,生成了很多相差 90 度的時(shí)鐘信號(hào),時(shí)而用正沿打一下數(shù)據(jù),時(shí)而用負(fù)沿打一下數(shù)據(jù),用以調(diào)整數(shù)據(jù)的采樣位置。這兩種做法都十分不可取,因?yàn)橐坏┬酒聯(lián)Q代或者移植到其它芯片 組的芯片上,采樣實(shí)現(xiàn)必須重新設(shè)計(jì)。而且,這兩種做法造成電路實(shí)現(xiàn)的余量不夠,一旦外界條件變換 ( 比如溫度升高 ) ,采樣時(shí)序就有可能完全紊亂,造成電路癱瘓。
設(shè)計(jì)數(shù)據(jù)接口同步是否需要添加約束?建議最好添加適當(dāng)?shù)募s束,特別是對(duì)于高速設(shè)計(jì),一定要對(duì)周期、建立、保持時(shí)間等添加相應(yīng)的約束。這里附加約束的作用有兩點(diǎn):提高設(shè)計(jì)的工作頻率,滿(mǎn)足接口數(shù)據(jù)同步要求;獲得正確的時(shí)序分析報(bào)告。


本文地址:http://m.qingdxww.cn/thread-770282-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專(zhuān)區(qū)
  • 利用SAM E54 Xplained Pro評(píng)估工具包演示CAN轉(zhuǎn)USB橋接器以及基于CAN的主機(jī)和自舉程序應(yīng)用程序
  • 使用SAM-IoT Wx v2開(kāi)發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開(kāi)發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專(zhuān)區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩三区 | h肉动漫在线观看免费资源 h肉动漫在线观看高清 | 91制片厂果冻传媒七夕 | 久久久久逼 | 97中文字幕在线观看 | 中文字幕一区二区三区久久网站 | 色婷婷亚洲综合五月 | 青青草成人免费在线视频 | 亚洲一区浅井舞香在线播放 | 特级片毛片 | 玖玖精品在线视频 | 麻豆精品视频在线 | 成年女人午夜毛片免费看 | 中文字幕麻豆 | 国产一区二 | 国产精品每日更新在线观看 | 成人夜色香网站在线观看 | 国产成人精品一区二三区 | 国产a自拍| 色婷婷久| 国产一级高清免费观看 | 鸥美性生交xxxxx久久久 | 日韩欧美视频一区二区三区 | 国产麻豆91网在线看 | 国产精品综合视频 | 激情欧美成人狠狠色金八天国 | 免费羞羞网站视频 | 99在线热视频 | 日韩高清一级毛片 | 成年人三级毛片 | 四虎综合九九色九九综合色 | 亚洲欧美日韩中文字幕在线一 | 日韩中文在线视频 | 国产美女视频国产视视频 | 亚洲第一香蕉视频 | 四虎影视久久久 | 欧美啪视频 | 亚洲精品色婷婷在线影院麻豆 | 精品国产免费第一区二区三区日韩 | 日本欧美一区二区三区高清 | 成人黄色免费观看 |