91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

基于FPGA的高速電路設(shè)計(jì)中一種新型硬宏開發(fā)流程

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-06-10 08:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在現(xiàn)今應(yīng)用FPGA進(jìn)行芯片電路設(shè)計(jì)的領(lǐng)域,已經(jīng)使用HDL語(yǔ)言以及擁有強(qiáng)大功能的邏輯綜合工具來(lái)進(jìn)行設(shè)計(jì)。同時(shí),高速電路也越來(lái)越被普遍使用,這一趨勢(shì)使得芯片設(shè)計(jì)工程師把眼光越來(lái)越多的投向?qū)蠖瞬季植季€的控制,因?yàn)閷?duì)于高速設(shè)計(jì),精細(xì)的后端控制是保障電路可靠運(yùn)行的重要條件。在實(shí)踐中,精細(xì)的后端控制也越來(lái)越顯出它的重要性,同時(shí)要求設(shè)計(jì)者投入到這個(gè)方面的時(shí)間也越來(lái)越多。

問(wèn)題的提出

實(shí)際的應(yīng)用中,由于綜合工具的介入,由它所輸出的網(wǎng)表,有時(shí)候是非常難被設(shè)計(jì)者所理解的。這主要由三個(gè)方面的原因引起:1. 網(wǎng)表中除了在源程序中的寄存器能夠被明顯標(biāo)志以外,其它的組合邏輯被映射(Map)到LUT中,但綜合工具并沒(méi)有提供一種很有效且有意義的方式進(jìn)行對(duì)組合邏輯的命名,這使得設(shè)計(jì)者不容易找到組合邏輯的對(duì)應(yīng)關(guān)系;2. 網(wǎng)表中元件(Component)之間的連接變得非常復(fù)雜;3. 由于綜合工具的運(yùn)用,會(huì)“優(yōu)化”掉一些它認(rèn)為是“冗余”的邏輯或增加一些它認(rèn)為是“必要”的邏輯。

上述因素直接影響到后端的布局布線控制。當(dāng)然,設(shè)計(jì)者可以在約束文件(UCF)中使用用戶套(U_Set)、層次套(HU_Set)以及設(shè)置一個(gè)設(shè)計(jì)層次中元件相對(duì)的距離等措施來(lái)做一些后端控制。這樣的設(shè)置可以很好的控制寄存器的布局和布線,但并不能夠很好地完成對(duì)組合電路的布局布線控制。很明顯,對(duì)于高速設(shè)計(jì),這樣的控制顯然是非常必要的。這使得我們要找到一種更好的方法來(lái)控制組合電路。

這個(gè)新方法應(yīng)該滿足以下兩個(gè)條件。1. 對(duì)于高速設(shè)計(jì),當(dāng)通??刂品椒y以達(dá)到要求的時(shí)候,這個(gè)新方法應(yīng)該能夠完全控制模塊內(nèi)部的布局布線;2. 用這個(gè)新方法建立的模塊在上層調(diào)用的時(shí)候所采用的仿真模型應(yīng)該很容易建立,并且很容易保證它和建立模塊的功能上的一致性。滿足這兩個(gè)要求的方法就是建立宏模塊,更準(zhǔn)確的說(shuō)是建立硬件宏模塊,簡(jiǎn)稱硬宏。

傳統(tǒng)的建立硬宏的方式是在Xilinx提供的FPGA Editor中直接在FPGA內(nèi)部來(lái)建立目標(biāo)電路,然后把它存為一個(gè)宏文件。然后,在上層進(jìn)行調(diào)用。這種方法的弊端是顯而易見的。1. 要在這樣一個(gè)“艱苦”的環(huán)境下建立一個(gè)硬宏是一件非常麻煩的事情。設(shè)計(jì)者必須進(jìn)入到Slice內(nèi)部,來(lái)控制一個(gè)Slice內(nèi)部的器件選擇和器件之間的連線,同時(shí)也正由于它非常的麻煩,導(dǎo)致了設(shè)計(jì)很容易出錯(cuò);2. 這樣設(shè)計(jì)出來(lái)的宏的功能驗(yàn)證非常繁瑣;3. 要為這樣的宏建立仿真模型也很麻煩,一般的方法是人為的直接編寫一個(gè)行為仿真模型,然后在上層設(shè)計(jì)中調(diào)用這個(gè)仿真模型,然而要保證仿真模型和宏之間的一致性也是一件不太容易的事情。另外還有一種使用Xilinx的Foundation建立宏的方法,這個(gè)方法在進(jìn)一步討論部分將會(huì)提到它的不足之處。

解決方法

鑒于以上的原因,現(xiàn)在采用另外一個(gè)新的流程(圖1)來(lái)設(shè)計(jì)并建立一個(gè)宏。

基于FPGA的高速電路設(shè)計(jì)中一種新型硬宏開發(fā)流程

第一步,為了使設(shè)計(jì)者不必進(jìn)入到Slice里面進(jìn)行電路的設(shè)計(jì),而有一個(gè)很好的設(shè)計(jì)環(huán)境,使用Aldec公司的Active-HDL來(lái)進(jìn)行宏內(nèi)部電路的輸入。在Active-HDL中,有一個(gè)庫(kù)管理(Library Manager)功能,在這個(gè)庫(kù)管理中,有很多子庫(kù),每個(gè)子庫(kù)都有它不同的用途。在這些子庫(kù)中,Schematic子庫(kù)專門為Xilinx提供圖形輸入的。設(shè)計(jì)者調(diào)用這類庫(kù)的元件來(lái)建立宏的內(nèi)部電路。

這一步需要注意:1.時(shí)鐘進(jìn)入芯片的時(shí)候,應(yīng)該通過(guò)BUFGP進(jìn)入。通過(guò)BUFGP把時(shí)鐘引入全局時(shí)鐘網(wǎng)絡(luò)。BUFGP并不是一個(gè)物理上對(duì)應(yīng)的元件,Xilinx只是為了方便設(shè)計(jì)者的調(diào)用,而把IBUFG和BUFG在表示上合成一個(gè)元件。但當(dāng)用到DLL或其他時(shí)鐘連接方式的時(shí)候,應(yīng)該把BUFGP拆開,單獨(dú)的使用IBUFG和BUFG;2.在各個(gè)PIN的位置,要加上相應(yīng)電氣參數(shù)的IBUF或OBUF;3. 強(qiáng)烈建議對(duì)SLICE里面的元件進(jìn)行詳細(xì)的了解;4.對(duì)于寄存器,寄存器和組合邏輯之間的連線,組合邏輯和組合邏輯之間的連線,都使用有意義的名字,以方便在下端工具中查看電路時(shí),與上端電路圖的對(duì)應(yīng);5.在設(shè)計(jì)的時(shí)候應(yīng)該把關(guān)鍵路徑記錄下來(lái),在下端檢查的時(shí)候要防止出現(xiàn)組合電路競(jìng)爭(zhēng)。

第二步,直接對(duì)這個(gè)電路進(jìn)行功能仿真。Schematic庫(kù)中的元件可以直接支持基于門級(jí)的功能仿真。直接對(duì)這個(gè)電路圖仿真可以從一開始就保證宏的功能正確性。Active-HDL提供了一個(gè)非常友好的仿真界面。它可以把仿真波形進(jìn)行存儲(chǔ),而且,在以后的仿真中可以把第一次仿真所存儲(chǔ)的輸入向量波形當(dāng)成激勵(lì)。這樣的做法大大地提高了效率,因?yàn)椴挥迷贋榱艘粋€(gè)小模塊而專門編寫它的測(cè)試基準(zhǔn)(Test Bench)。

第三步,由Active-HDL直接輸出EDIF網(wǎng)表,在這個(gè)網(wǎng)表中記錄了宏的內(nèi)部電路信息。Active-HDL可以把圖形轉(zhuǎn)換成三種語(yǔ)言形式的網(wǎng)表,VHDL、Verilog HDL和EDIF。而其他的上層輸入工具一般只能輸出兩種,VHDL和Verilog HDL,如Mentor Graphics的HDL Design Series。選擇Diagram菜單中的Set Target HDL選項(xiàng)來(lái)實(shí)現(xiàn)這一語(yǔ)言的切換。請(qǐng)注意,Set Target HDL選項(xiàng)只有在圖形輸入方式的時(shí)候才出現(xiàn)在Diagram菜單中。

第四步,把Active-HDL產(chǎn)生的這個(gè)EDIF網(wǎng)表直接交給Xilinx的后端工具進(jìn)行處理。這樣,就繞開了綜合工具的干預(yù),使得精細(xì)的下端控制成為可能。值得注意的是,由于繞開了綜合工具,很多綜合工具原來(lái)要做的工作就必須由設(shè)計(jì)者自己去做。這就是為什么第一步提到要添加相應(yīng)電氣參數(shù)的IBUF和OBUF以及時(shí)鐘引腳要添加全局時(shí)鐘緩沖器(BUFG)的原因。如果在第一步中忘記了這一點(diǎn),會(huì)直接導(dǎo)致后端的映射工具把設(shè)計(jì)中的電路全部清空,然后報(bào)告出錯(cuò)。后端工具只需要進(jìn)行三個(gè)步驟的處理就可以了,即翻譯、映射以及布局和布線,其他的處理都不需要。處理完后會(huì)生成一些關(guān)鍵的文件,分別是project_name.ngd、project_name.ncd和map.ncd。

第五步,把處理得到的project_name.ncd文件拿到FPGA Editor中進(jìn)行宏的生成。注意在使用FPGA Editor打開這個(gè)文件的時(shí)候,應(yīng)該選擇Read Write模式進(jìn)入。進(jìn)入之后,首先應(yīng)該做的工作就是把設(shè)計(jì)中所有的IBUF和OBUF全部刪除。這可以在LIST窗口來(lái)進(jìn)行。在刪除的同時(shí),與這些IBUF和OBUF連接的連線也被同步刪除。這樣一來(lái),就只剩下了功能部分。值得一提的是,在第四步中映射對(duì)電路進(jìn)行處理的時(shí)候會(huì)完成把組合電路映射到LUT的功能。但由于在第一步中對(duì)組合電路和組合電路之間的連線使用了有意義的名稱命名,使得在這一步中要找到原始電路圖中的對(duì)應(yīng)并不難。這一點(diǎn)是使用綜合工具流程所不能實(shí)現(xiàn)的。設(shè)計(jì)者通過(guò)名字的對(duì)應(yīng),就找到在第一步中記錄的關(guān)鍵路徑,通過(guò)使用Delay功能來(lái)顯示線路延遲,從而判斷電路是否可以工作。如果不行,使用FPGA Editor中的相應(yīng)工具來(lái)進(jìn)行路徑的重新布線,這個(gè)布線可以使用人工布線。在這一步中嚴(yán)禁進(jìn)行邏輯修改,而只允許進(jìn)行布線修改。具體怎么使用FPGA Editor可以參考FPGA Editor用戶指南。當(dāng)完成了修改過(guò)后,把NCD文件另存為NMC文件,這樣就生成了需要的硬宏。

第六步,生成宏的邏輯仿真模型。再回到Active-HDL中,打開宏的電路圖,使用Set Target HDL的語(yǔ)言切換功能,把圖形轉(zhuǎn)成Verilog HDL網(wǎng)表或是VHDL網(wǎng)表。這個(gè)網(wǎng)表就可以作為宏的仿真模型。因?yàn)檫@個(gè)網(wǎng)表是由標(biāo)準(zhǔn)HDL形成,那么它可以在任何HDL仿真器中調(diào)用,如ModelSim和VCS等。

至此整個(gè)流程的介紹全部完成。

進(jìn)一步的討論

關(guān)于流程的替代方案。事實(shí)上,整個(gè)流程似乎用Xilinx的Foundation也能完成。但是,有一個(gè)關(guān)鍵的步驟Foundation是不能完成的,那就是Foundation不能根據(jù)電路圖輸出基于Verilog HDL和VHDL的仿真模型,這樣直接影響了宏的仿真通用性。另外,F(xiàn)oundation自己提供的仿真環(huán)境又相當(dāng)不完善。

關(guān)于仿真模型和宏的功能一致性。由于仿真模型和宏的網(wǎng)表都來(lái)自于一個(gè)電路圖,這樣從上層保證了兩者的一致性。另外,在第五步中,嚴(yán)禁進(jìn)行邏輯修改,又進(jìn)一步的保證兩者的功能一致性,排除第二次建模的可能,從而把人為的錯(cuò)誤減到最低。

關(guān)于完全控制后端布局布線。在FPGA Editor中,設(shè)計(jì)者可以根據(jù)上下層名稱對(duì)應(yīng)來(lái)確定關(guān)鍵路徑,從而進(jìn)行完全人為的布局布線控制,這就是在第一步中使用有意義名稱的原因所在。

很明顯的一點(diǎn),這個(gè)流程不應(yīng)該作為一個(gè)大項(xiàng)目的主要開發(fā)流程,因?yàn)椋@樣人力消耗太多,同時(shí)也失去了使用HDL語(yǔ)言和開發(fā)綜合工具的意義。比較合適的一種用法是把它使用在關(guān)鍵路徑模塊和常規(guī)控制不能達(dá)到預(yù)期要求的模塊上,因?yàn)樗梢蕴峁?duì)后端的完全人為的控制,排除工具對(duì)設(shè)計(jì)的干擾。將基于HDL語(yǔ)言的設(shè)計(jì)方法與這種建立并使用硬宏的方法相結(jié)合,對(duì)基于FPGA的高速電路設(shè)計(jì)大有裨益。

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

    關(guān)注

    1661

    文章

    22440

    瀏覽量

    637296
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54083

    瀏覽量

    467136
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5611

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    請(qǐng)問(wèn)怎么設(shè)計(jì)一種新型射頻開關(guān)轉(zhuǎn)換電路?

    怎么設(shè)計(jì)一種新型射頻開關(guān)轉(zhuǎn)換電路?射頻開關(guān)轉(zhuǎn)換電路設(shè)計(jì)步驟有哪些?
    發(fā)表于 04-21 07:06

    請(qǐng)問(wèn)怎樣去設(shè)計(jì)一種新型電壓基準(zhǔn)電路?

    為什么要設(shè)計(jì)一種新型電壓基準(zhǔn)電路?怎樣去設(shè)計(jì)一種新型電壓基準(zhǔn)電路?
    發(fā)表于 04-22 06:37

    FPGA應(yīng)用設(shè)計(jì)中一種嶄新的開發(fā)流程是怎樣的

    FPGA應(yīng)用設(shè)計(jì)中一種嶄新的開發(fā)流程是怎樣的
    發(fā)表于 05-06 06:49

    如何去實(shí)現(xiàn)一種基于FPGA芯片的可重構(gòu)數(shù)字電路設(shè)計(jì)

    FPGA芯片是由哪些部分組成的?如何去實(shí)現(xiàn)一種基于FPGA芯片的可重構(gòu)數(shù)字電路設(shè)計(jì)?
    發(fā)表于 11-05 08:38

    Lorenz混沌電路一種新型設(shè)計(jì)方法

    System Generator 是一種新型的基于FPGA 的信號(hào)處理建模和設(shè)計(jì)工具。本文首先介紹了System Generator 的主要特色和設(shè)計(jì)流程,然后基于此工具給出了Lore
    發(fā)表于 07-08 15:02 ?26次下載

    一種基于DSP和FPGA的雷達(dá)信號(hào)分選電路設(shè)計(jì)

    設(shè)計(jì)了一種基于DSP 和FPGA 的雷達(dá)信號(hào)分選電路,對(duì)密集的雷達(dá)信號(hào)進(jìn)行分選識(shí)別。系統(tǒng)利用FPGA 采集信號(hào)的特征參數(shù)以及對(duì)參數(shù)進(jìn)行預(yù)處理;采用了累積差值直方圖算法,根據(jù)信號(hào)脈
    發(fā)表于 07-16 10:52 ?26次下載

    一種新型高速采樣保持電路

    一種新型高速采樣保持電路摘要 : 本文提出了一種新型的基于運(yùn)算放大器的開關(guān)電容采樣保持
    發(fā)表于 05-24 15:44 ?49次下載

    一種新型的可拉伸硅集成電路

    一種新型的可拉伸硅集成電路     諾斯大學(xué)的研究人員開發(fā)一種新型
    發(fā)表于 07-29 14:00 ?1532次閱讀

    高速SDRAM存儲(chǔ)器接口電路設(shè)計(jì)(Altera FPGA開發(fā)板)

    高速SDRAM存儲(chǔ)器接口電路設(shè)計(jì)(Altera FPGA開發(fā)板)如下圖所示:
    發(fā)表于 08-15 14:33 ?3640次閱讀
    <b class='flag-5'>高速</b>SDRAM存儲(chǔ)器接口<b class='flag-5'>電路設(shè)計(jì)</b>(Altera <b class='flag-5'>FPGA</b><b class='flag-5'>開發(fā)</b>板)

    一種基于FPGA的以太網(wǎng)高速傳輸平臺(tái)

    一種基于FPGA的以太網(wǎng)高速傳輸平臺(tái),采用DM9000和FPGA芯片,實(shí)現(xiàn)100M以太網(wǎng)數(shù)據(jù)傳輸
    發(fā)表于 02-25 14:45 ?17次下載

    一種新型的鍵盤與顯示電路設(shè)計(jì)

    本設(shè)計(jì)采用P87LPC769單片機(jī),開發(fā)一種新型的鍵盤與顯示電路,系統(tǒng)穩(wěn)定性高、準(zhǔn)確性好,使用方便靈活。
    發(fā)表于 03-30 17:02 ?6次下載

    研究人員開發(fā)一種新型的磁力驅(qū)動(dòng)高速軟件機(jī)器人

    《通訊-材料》最近發(fā)表了篇關(guān)于技術(shù)研究和開發(fā)的論文,研究人員成功地開發(fā)一種新型的磁力驅(qū)動(dòng)高速
    的頭像 發(fā)表于 10-10 10:57 ?3525次閱讀

    一種提升芯片供電可靠性的方法

    東科半導(dǎo)體的芯片供電專利,針對(duì)了現(xiàn)有供電網(wǎng)絡(luò)結(jié)構(gòu)的缺陷,提出了一種提升芯片供電可靠性的方法,通過(guò)在
    的頭像 發(fā)表于 11-09 10:48 ?2873次閱讀

    淺析一種新型機(jī)載防浪涌電壓保護(hù)電路設(shè)計(jì)

    淺析一種新型機(jī)載防浪涌電壓保護(hù)電路設(shè)計(jì)
    發(fā)表于 02-11 10:06 ?8次下載

    一種新型的鍵盤與顯示電路設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《一種新型的鍵盤與顯示電路設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-20 11:34 ?0次下載
    <b class='flag-5'>一種</b><b class='flag-5'>新型</b>的鍵盤與顯示<b class='flag-5'>電路設(shè)計(jì)</b>