www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]  通過(guò)減少寄存器間的邏輯延時(shí)來(lái)提高工作頻率,或通過(guò)流水線設(shè)計(jì)來(lái)優(yōu)化數(shù)據(jù)處理時(shí)的數(shù)據(jù)通路來(lái)滿足高速環(huán)境下FPGA或CPLD中的狀態(tài)機(jī)設(shè)計(jì)要求。本文給出了采用這些技術(shù)的高速環(huán)境狀態(tài)機(jī)設(shè)計(jì)的規(guī)范及分析方法和優(yōu)化方

  通過(guò)減少寄存器間的邏輯延時(shí)來(lái)提高工作頻率,或通過(guò)流水線設(shè)計(jì)來(lái)優(yōu)化數(shù)據(jù)處理時(shí)的數(shù)據(jù)通路來(lái)滿足高速環(huán)境下FPGA或CPLD中的狀態(tài)機(jī)設(shè)計(jì)要求。本文給出了采用這些技術(shù)的高速環(huán)境狀態(tài)機(jī)設(shè)計(jì)的規(guī)范及分析方法和優(yōu)化方法,并給出了相應(yīng)的示例。

  為了使FPGA或CPLD中的狀態(tài)機(jī)設(shè)計(jì)滿足高速環(huán)境要求,設(shè)計(jì)工程師需要認(rèn)識(shí)到以下幾點(diǎn):寄存器資源和邏輯資源已經(jīng)不是問(wèn)題的所在,狀態(tài)機(jī)本身所占用的 FPGA或CPLD邏輯資源或寄存器資源非常??;狀態(tài)機(jī)對(duì)整體數(shù)據(jù)流的是串行操作,如果希望數(shù)據(jù)處理的延時(shí)非常小,就必須提高操作的并行程度,壓縮狀態(tài)機(jī)中狀態(tài)轉(zhuǎn)移的路徑長(zhǎng)度;高速環(huán)境下應(yīng)合理分配狀態(tài)機(jī)的狀態(tài)及轉(zhuǎn)移條件。本文將結(jié)合實(shí)際應(yīng)用案例來(lái)說(shuō)明。

  狀態(tài)機(jī)設(shè)計(jì)規(guī)范

  1. 使用一位有效的方式進(jìn)行狀態(tài)編碼

  狀態(tài)機(jī)中狀態(tài)編碼主要有三種:連續(xù)編碼(sequential encoding)、一位有效(one-hot encoding)方式編碼以及不屬于這兩種的編碼。例如,對(duì)于一個(gè)5個(gè)狀態(tài)(State0~State4)的狀態(tài)機(jī),連續(xù)編碼方式狀態(tài)編碼為:State0-000、State1-001、State2-010、State3-011、State4-100。一位有效方式為下為:State0-00001、State1-00010、State2-00100、State3-01000、State4-10000。對(duì)于自行定義的編碼則差別很大,例如試圖將狀態(tài)機(jī)的狀態(tài)位直接作為輸出所需信號(hào),這可能會(huì)增加設(shè)計(jì)難度。

  使用一位有效編碼方式使邏輯實(shí)現(xiàn)更簡(jiǎn)潔,因?yàn)橐粋€(gè)狀態(tài)只需要用一位來(lái)指示,而為此增加的狀態(tài)寄存器數(shù)目相對(duì)于整個(gè)設(shè)計(jì)來(lái)說(shuō)可以忽略。一位有效至少有兩個(gè)含義:對(duì)每個(gè)狀態(tài)位,該位為1對(duì)應(yīng)唯一的狀態(tài),判斷當(dāng)前狀態(tài)是否為該狀態(tài),只需判斷該狀態(tài)位是否為1;如果狀態(tài)寄存器輸入端該位為1,則下一狀態(tài)將轉(zhuǎn)移為該狀態(tài),判斷下一狀態(tài)是否為該狀態(tài),只需判斷表示下一狀態(tài)的信號(hào)中該位是否為1。

  2. 合理分配狀態(tài)轉(zhuǎn)移條件

  在狀態(tài)轉(zhuǎn)移圖中,每個(gè)狀態(tài)都有對(duì)應(yīng)的出線和入線,從不同狀態(tài)經(jīng)不同的轉(zhuǎn)移條件到該狀態(tài)的入線數(shù)目不能太多。以采用與或邏輯的CPLD設(shè)計(jì)來(lái)分析,如果這樣的入線太多則將會(huì)需要較多的乘積項(xiàng)及或邏輯,這就需要更多級(jí)的邏輯級(jí)聯(lián)來(lái)完成,從而增加了寄存器間的延遲;對(duì)于FPGA則需要多級(jí)查找表來(lái)實(shí)現(xiàn)相應(yīng)的邏輯,同樣會(huì)增加延遲。狀態(tài)機(jī)的應(yīng)用模型如圖1所示。

  狀態(tài)機(jī)設(shè)計(jì)的分析方法

  狀態(tài)機(jī)設(shè)計(jì)的分析方法可以分為兩種:一種是流程處理分析,即分析數(shù)據(jù)如何分步處理,將相應(yīng)處理的步驟依次定為不同狀態(tài),該方法能夠分析非常復(fù)雜的狀態(tài)機(jī),類似于編寫一個(gè)軟件程序的分析,典型設(shè)計(jì)如讀寫操作和數(shù)據(jù)包字節(jié)分析;另一種方法是關(guān)鍵條件分析,即根據(jù)參考信號(hào)的邏輯條件來(lái)確定相應(yīng)的狀態(tài),這樣的參考信號(hào)如空或滿指示、起始或結(jié)束、握手應(yīng)答信號(hào)等。這兩種分析方法并沒(méi)有嚴(yán)格的界限,在實(shí)際的狀態(tài)機(jī)設(shè)計(jì)分析時(shí)往往是這兩種方法結(jié)合使用。下面分別說(shuō)明這兩種分析方法。

  1. 流程處理分析

  例如,在一個(gè)讀取ZBT SRAM中數(shù)據(jù)包的設(shè)計(jì)中,要根據(jù)讀出的數(shù)據(jù)中EOP(End of Packet)信號(hào)是否為1來(lái)決定一個(gè)包的讀操作是否結(jié)束,由于讀取數(shù)據(jù)的延后,這樣就會(huì)從ZBT SRAM中多讀取數(shù)據(jù),為此可以設(shè)計(jì)一個(gè)信號(hào)VAL_out來(lái)過(guò)濾掉多讀的數(shù)據(jù)。

  根據(jù)數(shù)據(jù)到達(dá)的先后及占用的時(shí)鐘周期數(shù),可以設(shè)計(jì)如圖2所示的狀態(tài)機(jī)(本文設(shè)定:文字說(shuō)明及插圖中當(dāng)前狀態(tài)表示為s_State[n:0],為狀態(tài)寄存器的輸出;下一狀態(tài)next_State[n:0],為狀態(tài)寄存器的輸入;信號(hào)之間的邏輯關(guān)系采用Verilog語(yǔ)言(或C語(yǔ)言)中的符號(hào)表示;#R表示需要經(jīng)過(guò)一級(jí)寄存器,輸出信號(hào)對(duì)應(yīng)寄存器的輸出端)。該狀態(tài)機(jī)首先判斷是否已經(jīng)到達(dá)包尾,如果是,則依次進(jìn)入6個(gè)等待狀態(tài),等待狀態(tài)下的數(shù)據(jù)無(wú)效,6個(gè)等待狀態(tài)結(jié)束后將正常處理數(shù)據(jù)。

  2. 關(guān)鍵條件分析

  一個(gè)路由器線卡高速數(shù)據(jù)包分發(fā)處理的框圖,較高速率的數(shù)據(jù)包經(jīng)過(guò)分發(fā)模塊以包為單位送往兩個(gè)較低速率數(shù)據(jù)通路(即寫入FIFO1或FIFO2)。

  對(duì)于分發(fā)模塊設(shè)計(jì),關(guān)鍵參考信號(hào)是EOP及快滿信號(hào)AF1、AF2,參考EOP可以實(shí)現(xiàn)每次處理一個(gè)包,參考AF1、AF2信號(hào)可以決定相應(yīng)的包該往哪個(gè) FIFO中寫入。分發(fā)算法為:FIFO1未滿(AF1=0),數(shù)據(jù)包將寫入FIFO1;如果FIFO1將滿且FIFO2未滿(AF1=1,且 AF2=0),則下一數(shù)據(jù)包將寫入FIFO2;如果FIFO1、FIFO2都將滿(AF1=1且AF2=1),則進(jìn)入丟包狀態(tài)。UseFifo1狀態(tài)下數(shù)據(jù)包將寫入FIFO1,UseFifo2狀態(tài)下數(shù)據(jù)包將寫入FIFO2,丟包狀態(tài)下數(shù)據(jù)包被丟棄,提供丟包計(jì)數(shù)

使能 DropCountEnable。

  狀態(tài)機(jī)的進(jìn)一步優(yōu)化

  1. 利用一位有效編碼方式

  如前所述,狀態(tài)機(jī)的工作頻率跟狀態(tài)機(jī)中各個(gè)狀態(tài)對(duì)應(yīng)的不同轉(zhuǎn)移條件的入線數(shù)目有關(guān)。如果到一個(gè)狀態(tài)的轉(zhuǎn)移條件相同但入線數(shù)非常多,其邏輯實(shí)現(xiàn)很可能并不復(fù)雜。在一位有效編碼方式下,對(duì)于某個(gè)狀態(tài),如果其他所有狀態(tài)經(jīng)相同的轉(zhuǎn)移條件到該狀態(tài),那么其邏輯實(shí)現(xiàn)可以很好地化簡(jiǎn)。

  例4:一位有效編碼方式下?tīng)顟B(tài)位s_State[n:0]中,

  s_State[1] | s_State[2] | ... | s_State[n]=1與 s_State[0]=1等價(jià),那么

  next_State[0]=(s_State[0]&S) | (s_State[1]&T) | (s_State[2]&T) | ... | (s_State[n]) 可以化簡(jiǎn)為:

  next_State[0]=(s_State[0]&S) | ((~s_State[0])&T),右端輸入信號(hào)數(shù)目大大減少。

  2. 利用寄存器的使能信號(hào)

  多數(shù)FPGA或CPLD寄存器提供使能端,如果所有的狀態(tài)機(jī)轉(zhuǎn)移必須至少滿足某個(gè)條件,那么這個(gè)條件可以通過(guò)使能信號(hào)連接實(shí)現(xiàn),從而可以降低寄存器輸入端的邏輯復(fù)雜度。如上例中不同狀態(tài)間轉(zhuǎn)移必須以EOP為1作為前提,因而可以將該信號(hào)作為使能信號(hào)來(lái)設(shè)計(jì)。

  3. 結(jié)合所選FPGA或CPLD內(nèi)部邏輯單元結(jié)構(gòu)編寫代碼

  以Xilinx FPGA為例,一個(gè)單元內(nèi)2個(gè)4輸入查找表及相關(guān)配置邏輯可以實(shí)現(xiàn)5個(gè)信號(hào)輸入的最復(fù)雜的邏輯,或8~9個(gè)信號(hào)的簡(jiǎn)單邏輯(例如全與或者全或),延時(shí)為一級(jí)查找表及配置邏輯延時(shí);如果將相鄰單元的4個(gè)4輸入查找表輸出連接到一個(gè)4輸入查找表,那么可以實(shí)現(xiàn)最復(fù)雜的6輸入邏輯,此時(shí)需要兩級(jí)查找表延時(shí)及相關(guān)配置邏輯延時(shí)。更復(fù)雜的邏輯需要更多的級(jí)連來(lái)實(shí)現(xiàn)。針對(duì)高速狀態(tài)機(jī)的情況,可以盡量將狀態(tài)寄存器輸入端的邏輯來(lái)源控制在7個(gè)信號(hào)以內(nèi),從而自主控制查找表的級(jí)連級(jí)數(shù),提高設(shè)計(jì)的工作頻率。

  4. 通過(guò)修改狀態(tài)機(jī)

  如果一個(gè)狀態(tài)機(jī)達(dá)不到工作頻率要求,則必須根據(jù)延時(shí)最大路徑修改設(shè)計(jì),通常的辦法有:改變狀態(tài)設(shè)置,添加新?tīng)顟B(tài)或刪除某些狀態(tài),簡(jiǎn)化轉(zhuǎn)移條件及單個(gè)狀態(tài)連接的轉(zhuǎn)移數(shù)目;修改轉(zhuǎn)移條件設(shè)置,包括改變轉(zhuǎn)移條件的組合,以及將復(fù)雜的邏輯改為分級(jí)經(jīng)寄存器輸出由寄存器信號(hào)再形成的邏輯,后者將會(huì)改變信號(hào)時(shí)序,因而可能需要改變狀態(tài)設(shè)置。

  5. 使用并行邏輯

  很多情況下要參考的關(guān)鍵信號(hào)可能非常多,如果參考這些關(guān)鍵信號(hào)直接設(shè)計(jì)狀態(tài)機(jī)所得到的結(jié)果可能很復(fù)雜,個(gè)別狀態(tài)的出線或入線將會(huì)非常多,因而將降低工作頻率。可以考慮通過(guò)設(shè)計(jì)并行邏輯來(lái)提供狀態(tài)機(jī)的關(guān)鍵信號(hào)以及所需的中間結(jié)果,狀態(tài)機(jī)負(fù)責(zé)維護(hù)并行邏輯以及產(chǎn)生數(shù)據(jù)處理的流程。并行邏輯應(yīng)分級(jí)設(shè)計(jì),級(jí)間為寄存器,從而減少寄存器到寄存器的延時(shí)。

  該設(shè)計(jì)用于使用單一數(shù)據(jù)總線將FIFO1~4中的數(shù)據(jù)發(fā)送到4個(gè)數(shù)據(jù)通路上去,該設(shè)計(jì)中并行邏輯產(chǎn)生每次操作時(shí)的通路及 FIFO選擇結(jié)果,狀態(tài)機(jī)負(fù)責(zé)控制每次操作的流程:在“Idle”狀態(tài)下,如果FIFO1~4中有數(shù)據(jù)包供讀取,則進(jìn)入“Schedule”狀態(tài);獲得調(diào)度結(jié)果后“Schedule”經(jīng)過(guò)一個(gè)“Wait”狀態(tài),然后進(jìn)入“ReadData”狀態(tài)讀取數(shù)據(jù),同時(shí)開始計(jì)數(shù),計(jì)數(shù)到達(dá)所指定數(shù)值或者讀到數(shù)據(jù)包尾時(shí)進(jìn)入空閑狀態(tài)“Idle”,依次循環(huán)下去。

  流水線設(shè)計(jì)

  流水線(Pipelining)設(shè)計(jì)是將一個(gè)時(shí)鐘周期內(nèi)執(zhí)行的邏輯操作分成幾步較小的操作,并在較高速時(shí)鐘下完成。如果它的Tpd為T,則該電路最高時(shí)鐘頻率為1/T,而假設(shè)每部分的Tpd為T/3,則其時(shí)鐘頻率可提高到原來(lái)的3倍,因而單位時(shí)間內(nèi)的數(shù)據(jù)流量可以達(dá)到原來(lái)的三倍。代價(jià)是輸出信號(hào)相對(duì)于輸入滯后3個(gè)周期,時(shí)序有所改變(輸出信號(hào)的總延時(shí)一樣,但數(shù)據(jù)吞吐量提高了),同時(shí)增加了寄存器資源,而FPGA具有豐富的寄存器資源。

  本文所強(qiáng)調(diào)的通過(guò)減少寄存器間的邏輯延時(shí)來(lái)提高狀態(tài)機(jī)的工作頻率,與流水線設(shè)計(jì)的出發(fā)點(diǎn)一樣,不同的是流水線所強(qiáng)調(diào)的是數(shù)據(jù)處理時(shí)的數(shù)據(jù)通路優(yōu)化,而本文所強(qiáng)調(diào)的是狀態(tài)機(jī)中控制邏輯的優(yōu)化。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉