[導讀]1. 面積與速度的平衡與互換 這里的面積指一個設計消耗FPGA/CPLD的邏輯資源的數(shù)量,對于FPGA可以用消耗的FF(觸發(fā)器)和LUT(查找表)來衡量,更一般的衡量方式可以用設計所占的等價邏輯門數(shù)。 速度指設計在芯片上穩(wěn)定運行所能達到的最高頻率,這個頻率由設計
這里的面積指一個設計消耗FPGA/CPLD的邏輯資源的數(shù)量,對于FPGA可以用消耗的FF(觸發(fā)器)和LUT(查找表)來衡量,更一般的衡量方式可以用設計所占的等價邏輯門數(shù)。
速度指設計在芯片上穩(wěn)定運行所能達到的最高頻率,這個頻率由設計的時序狀況來決定,以及設計滿足的時鐘要求:PAD to PAD time 、Clock Setup Time、Clock Hold Time、Clock-to-Output Delay等眾多時序特征量密切相關。
面積和速度這兩個指標貫穿FPGA/CPLD設計的時鐘,是設計質量的評價的終極標準 ——
面積和速度是一對對立統(tǒng)一的矛盾體。
要求一個同時具備設計面積最小、運行頻率最高是不現(xiàn)實的。
更科學的設計目標應該是在滿足設計時序要求(包括對設計頻率的要求)的前提下,占用最小的芯片面積。
或者在所規(guī)定的面積下,是設計的時序余量更大、頻率跑的更高。
這兩種目標充分體現(xiàn)了面積和速度的平衡的思想。
作為矛盾的兩個組成部分,面積和速度的地位是不一樣的。
相比之下,滿足時序、工作頻率的要求更重要一些,當兩者沖突時,采用速度優(yōu)先的準則。
從理論上講,如果一個設計時序余量較大,所能跑的速度遠遠高于設計要求,那么就通過功能模塊的復用來減少整個設計消耗的芯片面積,這就是用速度的優(yōu)勢換取面積的節(jié)約。
反之,如果一個設計的時序要求很高,普通方法達不到設計頻率,那么一般可以通過將數(shù)據(jù)流串并轉換,并行復制多個操作模塊,對整個設計采取乒乓操作和串并轉換的思想運行。
硬件原則主要針對HDL代碼編寫而言:Verilog是采用了C語言形式的硬件的抽象,它的本質作用在于描述硬件,它的最終實現(xiàn)結果是芯片內部的實際電路。所以評判一段HDL代碼的優(yōu)劣的最終標準是:其描述并實現(xiàn)的硬件電路的性能,包括面積和速度兩個方面。
評價一個設計的代碼水平較高,僅僅是說這個設計是由硬件想HDL代碼這種表現(xiàn)形式的轉換更加流暢、合理。
而一個設計最終性能,在更大程度上取決于設計工程師所構想的硬件實現(xiàn)方案的效率以及合理性。
(HDL代碼僅僅是硬件設計的表達形式之一)
初學者片面追求代碼的整潔、簡短,是錯誤的,
是與HDL的標準背道而馳的。
正確的編碼方法,首先要做到對所需實現(xiàn)的硬件電路胸有成竹,對該部分的硬件的結構和連接十分清晰,然后再用適當?shù)腍DL語句表達出來即可。
另外,Verilog作為一種HDL語言,是分層次的。系統(tǒng)級--算法級--寄存器傳輸級--邏輯級--門級--
開關
級。構建優(yōu)先級樹會消耗大量的組合邏輯,所以如果能夠使用case的地方,盡量使用case代替if.....else......
系統(tǒng)原則包含兩個層次的含義:更高層面上看,是一個硬件系統(tǒng),一塊單板如何進行模塊花費和任務分配,什么樣的算法和功能適合放在FPGA里面實現(xiàn),什么樣的算法和功能適合放在DSP/CPU里面實現(xiàn),以及FPGA的規(guī)模估算數(shù)據(jù)接口設計等。具體到FPGA設計就要對設計的全局有個宏觀上的合理安排,比如時鐘域、模塊復用、約束、面積、速度等問題,在系統(tǒng)上模塊的優(yōu)化最為重要。
一般來說實時性要求高,頻率快的功能模塊適合FPGA實現(xiàn)。
而FPGA和CPLD相比,更適合實現(xiàn)規(guī)模較大、頻率較高、寄存器較多的設計。
使用FPGA/CPLD設計時,應該對芯片內部的各種底層硬件資源,和可用的設計資源有一個較深刻的認識。
比如FPGA一般觸發(fā)器資源豐富,CPLD的組合邏輯資源更加豐富。
FPGA/CPLD一般是由底層可編程硬件單元、BRAM、布線資源、可配置IO單元、時鐘資源等構成。
底層可編程硬件單元一般由觸發(fā)器和查找表組成。Xilinx的底層可編程硬件資源較SLICE,由兩個FF和2個LUT構成。Altera的底層硬件資源叫LE,由1個FF和1個LUT構成。
使用片內RAN可以實現(xiàn)單口RAM、雙口RAM、同步/異步FIFO、ROM、CAM等常用單元模塊。
一般的FPGA系統(tǒng)規(guī)劃的簡化流程
異步電路的邏輯核心是用組合邏輯電路實現(xiàn),比如異步的FIFO/RAM讀寫信號,地址譯碼等電路。電路的主要信號、輸出信號等并不依賴于任何一個時鐘性信號,不是由時鐘信號驅動FF產生的。異步時序電路的最大缺點是容易產生毛刺,在布局布線后仿真和用邏輯分析儀觀測實際信號時,這種毛刺尤其明顯。
同步時序電路的核心邏輯用各種各樣的觸發(fā)器實現(xiàn),電路的主要信號、輸出信號都是由某個時鐘沿驅動觸發(fā)器產生出來的。同步時序電路可以很好的避免毛刺,布局布線后仿真,和用
邏輯分析儀
采樣實際工作信號都沒有毛刺。
-
是否時序電路一定比異步電路使用更多的資源呢?
從單純的ASCI設計來看,大約需要7個門來實現(xiàn)一個D觸發(fā)器,而一個門即可實現(xiàn)一個2輸入與非門,所以一般來說,同步時序電路比異步電路占用更大的面積。
(FPGA/CPLD中不同,主要是因為單元塊的計算方式)
-
如何實現(xiàn)同步時序電路的延時?
異步電路產生延時的一般方法是插入一個Buffer、兩級與非門等,
這種延時調整手段是不適用同步時序設計思想的。
首先要明確一點HDL語法中的延時控制語法,是行為級的代碼描述,常用于仿真測試激勵,但是在電路綜合是會被忽略,并不能啟動延時作用。
同步時序電路的延時一般是通過時序控制完成的,換句話說,同步時序電路的延時被當做一個電路邏輯來設計。對于比較大的和特殊定時要求的延時,一般用高速時鐘產生一個
計數(shù)器
,通過計數(shù)器的計數(shù)控制延遲;對于比較小的延時,可以用D觸發(fā)器打一下,這種做法不僅僅使信號延時了一個時鐘周期,而且完成了信號與時鐘的初次同步,在輸入信號采樣和增加時序約束余量中使用。
-
同步時序電路的時鐘如何產生?
時鐘的質量和穩(wěn)定性直接決定著同步時序電路的性能。
輸入信號的同步時序電路要求對輸入信號進行同步化,如果輸入數(shù)據(jù)的節(jié)拍和本級芯片的處理時鐘同頻,并且建立保持時間匹配,可以直接用本級芯片的主時鐘對輸入數(shù)據(jù)寄存器采樣,完成輸入數(shù)據(jù)的同步化。
如果輸入數(shù)據(jù)和本級芯片的處理時鐘是異步的,特別是頻率不匹配的時候,則要用處理時鐘對輸入數(shù)據(jù)做兩次寄存器采樣,才能完成輸入數(shù)據(jù)的同步化。
-
是不是定義為Reg型,就一定綜合成寄存器,并且是同步時序電路呢?
答案的否定的。
Verilog中最常用的兩種數(shù)據(jù)類型Wire和Reg,一般來說,Wire型指定書數(shù)據(jù)和網(wǎng)線通過組合邏輯實現(xiàn),而reg型指定的數(shù)據(jù)不一定就是用寄存器實現(xiàn)。
“ 乒乓操作 ” 是一個常常應用于數(shù)據(jù)流控制的處理技巧,
乒乓操作的處理流程為:
輸入數(shù)據(jù)流通過 “ 輸入數(shù)據(jù)選擇單元 ” 將數(shù)據(jù)流等時分配到兩個數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩沖模塊可以為任何存儲模塊,比較常用的存儲單元為雙口 RAM(DPRAM) 、單口 RAM(SPRAM) 、 FIFO 等。
乒乓操作的最大特點是,通過輸入數(shù)據(jù)選擇單元和輸出數(shù)據(jù)選擇單元、進行運算和處理。
把乒乓操作模塊當成一個整體,站在兩端看數(shù)據(jù),輸入數(shù)據(jù)和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒有任何停頓,因此非常適合對數(shù)據(jù)流進行流水線式處理。所以乒乓操作常常應用于流水線式算法,完成數(shù)據(jù)的無縫緩沖和處理。
乒乓操作的第二個優(yōu)點是可以節(jié)約緩沖區(qū)空間。比如在WCDMA基帶應用中,1幀是由15個時隙組成的,有時需要將1整幀的數(shù)據(jù)延時一個時隙后處理,比較直接的方法就是將這幀數(shù)據(jù)緩存起來,然后延時一個時隙,進行處理。這時緩沖區(qū)的長度為1幀的數(shù)據(jù)長,假設數(shù)據(jù)速率是3.84Mb/s,1幀10ms,此時需要緩沖區(qū)的長度是38400bit,如果采用乒乓操作,只需定義兩個緩沖1時隙的數(shù)據(jù)RAM,當向一個RAM寫數(shù)據(jù)時,從另一塊RAM讀數(shù)據(jù),然后送到處理單元處理,此時每塊RAM的容量僅需2560bit,2塊加起來5120bit的容量。
乒乓操作用低速模塊處理高速數(shù)據(jù)流
另外,巧妙運用乒乓操作還可以達到用低速模塊處理高速數(shù)據(jù)流的效果。如圖 2 所示,數(shù)據(jù)緩沖模塊采用了雙口 RAM ,并在 DPRAM 后引入了一級數(shù)據(jù)預處理模塊,這個數(shù)據(jù)預處理可以根據(jù)需要的各種數(shù)據(jù)運算,比如在 WCDMA 設計中,對輸入數(shù)據(jù)流的解擴、解擾、去旋轉等。假設端口 A 的輸入數(shù)據(jù)流的速率為 100Mbps ,乒乓操作的緩沖周期是 10ms 。
串并轉換是 FPGA 設計的一個重要技巧,它是數(shù)據(jù)流處理的常用手段,也是面積與速度互換思想的直接體現(xiàn)。串并轉換的實現(xiàn)方法多種多樣,根據(jù)數(shù)據(jù)的排序和數(shù)量的要求,可以選用寄存器、 RAM 等實現(xiàn)。
前面在乒乓操作的圖例中,就是通過 DPRAM 實現(xiàn)了數(shù)據(jù)流的串并轉換,而且由于使用了 DPRAM ,數(shù)據(jù)的緩沖區(qū)可以開得很大,對于數(shù)量比較小的設計可以采用寄存器完成串并轉換。如無特殊需求,應該用同步時序設計完成串并之間的轉換。比如數(shù)據(jù)從串行到并行,數(shù)據(jù)排列順序是高位在前,可以用下面的編碼實現(xiàn):
prl_temp<={prl_temp,srl_in}。
其中, prl_temp 是并行輸出緩存寄存器, srl_in 是串行數(shù)據(jù)輸入。
對于排列順序有規(guī)定的串并轉換,可以用 case 語句判斷實現(xiàn)。
對于復雜的串并轉換,還可以用狀態(tài)機實現(xiàn)。
串并轉換的方法比較簡單,在此不必贅述。
首先需要聲明的是,這里所講述的流水線是指一種處理流程和順序操作的設計思想,并非 FPGA 、 ASIC 設計中優(yōu)化時序所用的 “Pipelining” 。
流水線處理是高速設計中的一個常用設計手段。
如果某個設計的處理流程分為若干步驟,而且整個數(shù)據(jù)處理是 “ 單流向 ” 的,即沒有反饋或者迭代運算,前一個步驟的輸出是下一個步驟的輸入,則可以考慮采用流水線設計方法來提高系統(tǒng)的工作頻率。
流水線設計的結構示意圖如圖所示。其基本結構為:將適當劃分的 n 個操作步驟單流向串聯(lián)起來。流水線操作的最大特點和要求是,數(shù)據(jù)流在各個步驟的處理從時間上看是連續(xù)的,如果將每個操作步驟簡化假設為通過一個 D 觸發(fā)器 ( 就是用寄存器打一個節(jié)拍 ) ,那么流水線操作就類似一個移位寄存器組,數(shù)據(jù)流依次流經(jīng) D 觸發(fā)器,完成每個步驟的操作。
流水線設計的一個關鍵在于整個設計時序的合理安排,要求每個操作步驟的劃分合理。如果前級操作時間恰好等于后級的操作時間,設計最為簡單,前級的輸出直接匯入后級的輸入即可;如果前級操作時間大于后級的操作時間,則需要對前級的輸出數(shù)據(jù)適當緩存才能匯入到后級輸入端;如果前級操作時間恰好小于后級的操作時間,則必須通過復制邏輯,將數(shù)據(jù)流分流,或者在前級對數(shù)據(jù)采用存儲、后處理方式,否則會造成后級數(shù)據(jù)溢出。
在 WCDMA 設計中經(jīng)常使用到流水線處理的方法,如 RAKE 接收機、搜索器、前導捕獲等。流水線處理方式之所以頻率較高,是因為復制了處理模塊,它是面積換取速度思想的又一種具體體現(xiàn)。
數(shù)據(jù)接口的同步是 FPGA/CPLD 設計的一個常見問題,也是一個重點和難點,很多設計不穩(wěn)定都是源于數(shù)據(jù)接口的同步有問題。在電路圖設計階段,一些工程師手工加入 BUFT 或者非門調整數(shù)據(jù)延遲,從而保證本級模塊的時鐘對上級模塊數(shù)據(jù)的建立、保持時間要求。
還有一些工程師為了有穩(wěn)定的采樣,生成了很多相差 90 度的時鐘信號,時而用正沿打一下數(shù)據(jù),時而用負沿打一下數(shù)據(jù),用以調整數(shù)據(jù)的采樣位置。這兩種做法都十分不可取,因為一旦芯片更新?lián)Q代或者移植到其它芯片 組的芯片上,采樣實現(xiàn)必須重新設計。而且,這兩種做法造成電路實現(xiàn)的余量不夠,一旦外界條件變換 ( 比如溫度升高 ) ,采樣時序就有可能完全紊亂,造成電路癱瘓。
-
輸入、輸出的延時 ( 芯片間、 PCB 布線、一些驅動接口元件的延時等 ) 不可測,或者有可能變動的條件下,如何完成數(shù)據(jù)同步?
對于數(shù)據(jù)的延遲不可測或變動,就需要建立同步機制,可以用一個同步使能或同步指示信號。
另外,使數(shù)據(jù)通過 RAM 或者 FIFO 的存取,也可以達到數(shù)據(jù)同步目的。
-
設計數(shù)據(jù)接口同步是否需要添加約束?
建議最好添加適當?shù)募s束,特別是對于高速設計,一定要對周期、建立、保持時間等添加相應的約束。
這里附加約束的作用有兩點:
提高設計的工作頻率,滿足接口數(shù)據(jù)同步要求;
獲得正確的時序分析報告。
-END-
免責聲明:整理文章為傳播相關技術,版權歸原作者所有,如有侵權,請聯(lián)系刪除
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!
掃描二維碼,關注更多精彩內容
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。
關鍵字:
驅動電源
在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。
關鍵字:
工業(yè)電機
驅動電源
LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...
關鍵字:
驅動電源
照明系統(tǒng)
散熱
根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。
關鍵字:
LED
設計
驅動電源
電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...
關鍵字:
電動汽車
新能源
驅動電源
在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...
關鍵字:
發(fā)光二極管
驅動電源
LED
在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...
關鍵字:
LED照明技術
電磁干擾
驅動電源
開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源
關鍵字:
LED
驅動電源
開關電源
LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。
關鍵字:
LED
隧道燈
驅動電源
LED驅動電源在LED照明系統(tǒng)中扮演著至關重要的角色。由于LED具有節(jié)能、環(huán)保、長壽命等優(yōu)點,使得LED照明在各個領域得到廣泛應用。然而,LED的電流、電壓特性需要特定的驅動電源才能正常工作。本文將介紹常用的LED驅動電...
關鍵字:
LED驅動電源
led照明
LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電源轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。
關鍵字:
LED
驅動電源
高壓工頻交流
種種跡象都在表明,半導體行業(yè)或已提前進入寒冬時期,越來越多的廠商開始扛不住了……
關鍵字:
LED
半導體
驅動電源
崧盛股份9日發(fā)布投資者關系活動記錄表,就植物照明發(fā)展趨勢、行業(yè)壁壘等問題進行分享。植物照明未來市場需求廣闊崧盛股份指出,植物照明將會走向長期產業(yè)領域。主要原因有三:第一,LED植物照明賦能終端種植更具有經(jīng)濟價值。由于LE...
關鍵字:
崧盛股份
驅動電源
在當今高度發(fā)展的技術中,電子產品的升級越來越快,LED燈技術也在不斷發(fā)展,這使我們的城市變得豐富多彩。 LED驅動電源將電源轉換為特定的電壓和電流,以驅動LED發(fā)光。通常情況下:LED驅動電源的輸入包括高壓工頻交流電(即...
關鍵字:
LED
驅動電源
高壓直流
人類社會的進步離不開社會上各行各業(yè)的努力,各種各樣的電子產品的更新?lián)Q代離不開我們的設計者的努力,其實很多人并不會去了解電子產品的組成,比如LED電源。
關鍵字:
LED
驅動電源
低壓直流
隨著科學技術的發(fā)展,LED技術也在不斷發(fā)展,為我們的生活帶來各種便利,為我們提供各種各樣生活信息,造福著我們人類。LED驅動電源實際上是一種電源,但是它是一種特定的電源,用于驅動LED發(fā)射帶有電壓或電流的光。 因此,LE...
關鍵字:
LED
驅動電源
電流
LED燈作為一種新型節(jié)能和無污染光源,由于其特有的發(fā)光照明特性,在現(xiàn)代照明應用中發(fā)揮著革命性的作用。作為 LED 照明產業(yè)鏈中最為核心的部件之一,LED 驅動電源的驅動控制技術所存在的可靠性低、成本高等典型問題一直制約著...
關鍵字:
多路
LED
驅動電源
隨著社會的快速發(fā)展,LED技術也在飛速發(fā)展,為我們的城市的燈光煥發(fā)光彩,讓我們的生活越來越有趣,那么你知道LED需要LED驅動電源嗎?那么你知道什么是LED驅動電源嗎?
關鍵字:
LED
開關電源
驅動電源
早前有新聞稱,Cree在2018年開始宣布轉型高科技半導體領域,并一邊逐漸脫離照明與LED相關業(yè)務,一邊持續(xù)投資半導體。在今日,Cree宣布與SMART Global Holdings, Inc.達成最終協(xié)議,擬將LED...
關鍵字:
cree
led照明