




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)現(xiàn)⊿實(shí)現(xiàn)(Implement)是將設(shè)計(jì)的邏輯網(wǎng)表信息翻譯成所選器件的底層模塊與硬件原語,將設(shè)計(jì)映射到器件結(jié)構(gòu)上,進(jìn)行布局布線,達(dá)到在選定器件上實(shí)現(xiàn)設(shè)計(jì)的目的。⊿實(shí)現(xiàn)主要分為3個(gè)步驟:﹍翻譯邏輯網(wǎng)表(Translate)﹍映射到器件單元(Map)﹍布局布線(Place&Route)⊿實(shí)現(xiàn)前應(yīng)該設(shè)計(jì)實(shí)現(xiàn)約束條件:約束條件一般包括管腳鎖定、時(shí)鐘約束、全局時(shí)鐘、第二全局時(shí)鐘、分組約束和物理特性約束等信息。⊿ISE中可以使用約束編輯器(ConstraintsEditor)生成約束文件(UCF)。11/23/20245第2章⊿轉(zhuǎn)換(Translate)
實(shí)現(xiàn)中重要的一步,把所有的輸入網(wǎng)表和設(shè)計(jì)約束信息合并為一個(gè)NGD(NativeGenericDatabase)文件,用于FPGA映射。⊿轉(zhuǎn)換后仿真將設(shè)計(jì)轉(zhuǎn)換為RTL級(jí)描述后進(jìn)行仿真。僅僅是邏輯仿真,不包含實(shí)現(xiàn)器件的信息。⊿映射相當(dāng)于PCB設(shè)計(jì)中將網(wǎng)表與具體的封裝相結(jié)合。對NGD文件進(jìn)行設(shè)計(jì)規(guī)則檢查,把轉(zhuǎn)換生成的邏輯設(shè)計(jì)網(wǎng)表轉(zhuǎn)換為具體的FPGA器件的具體資源結(jié)合起來,也就是使用目標(biāo)器件中的資源來實(shí)現(xiàn)設(shè)計(jì)的功能。輸出NCD文件,供PAR使用。11/23/20246第2章⊿映射后仿真相當(dāng)于PCB制作過程的原理圖仿真。將設(shè)計(jì)映射到具體工藝和器件后進(jìn)行的邏輯仿真,是時(shí)序仿真,包含了器件本身的延時(shí)信息。由于沒有布線,不包含連線的長度、電阻、電容的影響。⊿布局布線(PAR)使用映射后NCD文件,使用FPGA內(nèi)哪些資源(布局),把這些資源連接起來(布線)。生成布局布線后NCD文件,用于生成下載程序文件。⊿布局布線后仿真相當(dāng)于PCB仿真。利用布局布線工具提取的信息進(jìn)行仿真,包含了目標(biāo)器件及互連線的延時(shí)、電阻、電容等信息。11/23/20247第2章2.2ISE集成工具介紹設(shè)計(jì)輸入工具綜合工具仿真工具實(shí)現(xiàn)工具輔助設(shè)計(jì)工具11/23/20248第2章設(shè)計(jì)輸入工具ISE集成的設(shè)計(jì)工具主要包括HDL編輯器(HDLEditor)、狀態(tài)機(jī)編輯器〔StateCAD)、原理圖編輯器(ECS)、IP核生成器(Core-Generator)和測試激勵(lì)生成器(HDLBencher)等。⊿HDL編輯器(HDLEditor)---HDL編輯器可以完成設(shè)計(jì)電路的HDL語言的輸入。根據(jù)語法以彩色顯示關(guān)鍵字,支持VHDL和VerilogHDL的輸入。⊿狀態(tài)機(jī)編輯器(StateCAD)---設(shè)計(jì)者只需畫出狀態(tài)轉(zhuǎn)移圖,狀態(tài)機(jī)編輯器就能自動(dòng)生成相應(yīng)的VHDL或VerilogHDL語言模型。使用StateCAD設(shè)計(jì)狀態(tài)機(jī),生成的代碼規(guī)范、清晰,能在一定程度上緩解設(shè)計(jì)者的工作量。⊿ECS(SchematicEditor)---原理圖編輯器用于完成電路的原理圖輸入。它功能強(qiáng)大、元件庫齊全、設(shè)計(jì)方便。原理圖輸入方式在大規(guī)模設(shè)計(jì)中逐漸被HDL語言輸入方式所取代。11/23/20249第2章⊿IP核生成器(CoreGenerator)IP核生成器是XilinxFPGA設(shè)計(jì)中的一個(gè)重要設(shè)計(jì)輸入工具。它提供了大量Xilinx和第三方公司設(shè)計(jì)的成熟、高效的IP核(IPCore)為用戶所用。IP核生成器可生成的IP核功能繁多,從簡單的基本設(shè)計(jì)模塊到復(fù)雜的處理器等一應(yīng)俱全,分為基本模塊、通信與網(wǎng)絡(luò)模塊、數(shù)字信號(hào)處理模塊、數(shù)學(xué)功能模塊、存儲(chǔ)器模塊、微處理器模塊、控制器模塊與外設(shè)模塊、標(biāo)準(zhǔn)與協(xié)議設(shè)計(jì)模塊、語音處理模塊、標(biāo)準(zhǔn)總線模塊和視頻與圖像處理模塊等10大功能模塊。配合Xilinx網(wǎng)站的IP中心使用,能大幅度地減輕工程師的設(shè)計(jì)工作量,提高設(shè)計(jì)質(zhì)量。⊿測試激勵(lì)生成器(HDLBencher)測試激勵(lì)生成器輔助用戶設(shè)計(jì)測試激勵(lì)文件。它將VHDL源代碼、Verilog源代碼和ECS原理圖等設(shè)計(jì)輸入導(dǎo)入其測試環(huán)境,根據(jù)用戶在圖形界面下編輯的激勵(lì)波形,直接生成測試激勵(lì)文件,然后調(diào)用ISE中集成的仿真工具進(jìn)行仿真驗(yàn)證,并分析測試激勵(lì)的覆蓋率。11/23/202410第2章綜合工具⊿Synplify/SynplifyPro綜合結(jié)果往往面積較小,速度較快,在業(yè)界口碑很好。⊿FPGACompilerSynopsys,早期是FPGAExpress,其升級(jí)版本FPGACompilerII是最好的ASIC和FPGA設(shè)計(jì)工具之一。⊿LeonardoSpectrum綜合優(yōu)化能力非常高,隨著Mentor與Xilinx的合作日趨緊密,對Xilinx器件的支持也越來越好。⊿XSTXST(XilinxSynthesisTechnology)是Xilinx自主開發(fā)的綜合工具。雖然Xilinx設(shè)計(jì)綜合軟件的經(jīng)驗(yàn)還不夠豐富,但只有Xilinx自己對其芯片的內(nèi)部結(jié)構(gòu)最了解,所以XST的一些優(yōu)化策略是其他綜合工具無法比擬的。XST對某些使用到Xilinx內(nèi)部核心的設(shè)計(jì)的綜合結(jié)果甚至要比其他綜合工具優(yōu)越很多。11/23/202411第2章仿真工具
⊿ModelSim可以說是業(yè)界最流行的仿真工具之一,其主要特點(diǎn)是仿真速度快,精度高。ModelSim支持VHDL、VerilogHDL以及VHDL和VerilogHDL混合編程的仿真。ModelSim的PC版的仿真速度也很快,甚至和工作站版不相上下。⊿HDLBencher是一種根據(jù)電路設(shè)計(jì)輸入,自動(dòng)生成測試激勵(lì)的工具,它可以把工程師從書寫測試激勵(lì)文件的繁重工作中部分解脫出來。HDLBencher的Xilinx版本可以支持VHDL語言輸入、VerilogHDL語言輸入和Xilinx原理圖輸入等3種輸入方法。將這些設(shè)計(jì)輸入導(dǎo)入到HDLBencher中,就能自動(dòng)生成相應(yīng)的測試激勵(lì)文件。11/23/202412第2章實(shí)現(xiàn)工具⊿約束編輯器約束編輯器幫助工程師設(shè)計(jì)用戶約束文件(UCF)的工具。約束文件包含時(shí)鐘屬性、延時(shí)特性、管腳位置、寄存器分組、布局布線要求和特殊屬性等信息,這些信息指導(dǎo)實(shí)現(xiàn)過程,是由用戶設(shè)計(jì)的決定電路實(shí)現(xiàn)的目標(biāo)與標(biāo)準(zhǔn)。設(shè)計(jì)約束文件有較高的技巧性。⊿引腳與區(qū)域約束編輯器引腳與區(qū)域約束編輯器(PACE,PinoutandAreaConstraintsEditor)直接將信號(hào)指定到I/O管腳,方便地拉出測試信號(hào),對設(shè)計(jì)進(jìn)行面積約束,自動(dòng)生成用戶約束文件,是約束編輯器的有益補(bǔ)充。⊿時(shí)序分析器時(shí)序分析器是分析實(shí)現(xiàn)結(jié)果是否滿足約束條件、芯片的工作速率以及關(guān)鍵路徑等時(shí)延信息的工具,能方便地將實(shí)現(xiàn)過程生成的各種時(shí)延報(bào)告分類顯示,并對比約束文件,分析是否滿足時(shí)序要求。11/23/202413第2章⊿FPGAEditerFPGA底層編輯器讀取FPGA的布線信息(NCD)文件,用圖形化界面顯示FPGA內(nèi)部的CLB和IOB模塊結(jié)構(gòu),使用FPGAEditor可以完成如下功能:---在自動(dòng)布線前手工布置關(guān)鍵路徑,提高電路工作頻率。---幫助布線器完成自動(dòng)布線難以實(shí)現(xiàn)的路徑。---在FPGA內(nèi)部的任何一個(gè)節(jié)點(diǎn)設(shè)置探針。---改變內(nèi)部在線邏輯分析儀(ILA)的連線和配置。---手動(dòng)添加和連接內(nèi)部元件以完成電路設(shè)計(jì)與實(shí)現(xiàn)。⊿FloorPlanner布局規(guī)劃器與FPGAEditor相似,也能改變FPGA內(nèi)部的CLB和IOB的連接配置情況。通過交互圖形界面,用戶可以觀察到FPGA內(nèi)的連接情況,并且手動(dòng)進(jìn)行物理位置約束,它比FPGAEditor更靈活,可以在實(shí)現(xiàn)過程的映射(Mapping)前、映射后、布局布線(Place&Route)等不同階段約束設(shè)計(jì),發(fā)揮功能。對Floorplanner善加利用,可以有效提高設(shè)計(jì)的工作效率。11/23/202414第2章輔助設(shè)計(jì)工具⊿iMPACTiMPACT配置器可以完成配置文件的分割組合,配置文件格式的轉(zhuǎn)換,實(shí)現(xiàn)將配置文件下載到FPGA或相應(yīng)的存儲(chǔ)器等功能。它的主要功能是下載、回讀與校驗(yàn)配置數(shù)據(jù),調(diào)試配置過程中出現(xiàn)的問題。⊿功耗仿真器(XPower)功耗仿真器(XPower)是估計(jì)設(shè)計(jì)功耗的工具,幫助PCB系統(tǒng)設(shè)計(jì)人員設(shè)計(jì)電源系統(tǒng)功率。⊿在線邏輯分析儀(ChipScopePro)在線邏輯分析儀(ChipScopePro)是Xilinx與Agilent合作開發(fā)的FPGA在線片內(nèi)信號(hào)分析工具,它的主要功能是通過JTAG口,在線實(shí)時(shí)地讀出FPGA的內(nèi)部信號(hào)。ChipScopePro的原理:根據(jù)用戶設(shè)定的觸發(fā)條件將信號(hào)實(shí)時(shí)地保存到FPGA中未使用到的塊RAM中,然后通過JTAG口將信號(hào)傳送到計(jì)算機(jī),并在計(jì)算機(jī)屏幕上顯示出時(shí)序波形。11/23/202415第2章2.3FPGA設(shè)計(jì)輸入HDL輸入
⊿HDL語言設(shè)計(jì)方法是目前大型工程中最常用的設(shè)計(jì)方法。特點(diǎn):---易于使用由頂向下的設(shè)計(jì)方法---利于模塊的劃分與復(fù)用---可移植性好,通用性好⊿專用HDL編輯器HDLEditor基本涵蓋了專用HDL編輯器的常用功能。集成了語法檢查、語法輔助模板、代碼調(diào)試等功能,給HDL源代碼的設(shè)計(jì)與調(diào)試帶來了極大的方便。⊿HDLEditor帶有一個(gè)LanguageTemplates語法設(shè)計(jì)輔助模板,提供了VHDL、VerilogHDL語言和UCF用戶約束的語法說明和示例。語言模板中存放了很多HDL語言的通用語法結(jié)構(gòu)和使用范例,特別是許多根據(jù)Xilinx器件IP核與硬件原語編寫的實(shí)例化程序。使用語言模板,可以方便地把這些語法結(jié)構(gòu)和范例插入到設(shè)計(jì)者自己的代碼文件中,大大方便了程序的編寫。11/23/202416第2章
IP核輸入⊿IP核生成器提供了大量的成熟、高效IP核為用戶所用。lP核生成器可生成的IP核功能繁多,從簡單的基本設(shè)計(jì)模塊到復(fù)雜的處理器等一應(yīng)俱全。配合Xilinx網(wǎng)站的IP中心使用,能大幅度減輕工程師的工作量,提高設(shè)計(jì)質(zhì)量。⊿CoreGenerator可生成的IP核大致分為10大功能模塊:基本模塊、通信與網(wǎng)絡(luò)模塊、數(shù)字信號(hào)處理模塊、數(shù)學(xué)功能模塊、存儲(chǔ)器模塊、微處理器、控制器與外設(shè)模塊、標(biāo)準(zhǔn)與協(xié)議設(shè)計(jì)模塊、語音處理模塊、標(biāo)準(zhǔn)總線模塊、視頻與圖像處理模塊等。這些功能涵蓋了從基本設(shè)計(jì)單元到復(fù)雜功能樣機(jī)的眾多成熟設(shè)計(jì)。而且每次ISE的升級(jí)補(bǔ)丁中都會(huì)有IP核的升級(jí),另外用戶可以通過Xilinx的IP中心查詢更多的IP信息。⊿如果用戶設(shè)計(jì)只是針對FPGA應(yīng)用的,使用IP核能避免重復(fù)設(shè)計(jì),縮短工程時(shí)間,提高工作效率。這些IP核是根據(jù)Xilinx的FPGA器件特點(diǎn)和結(jié)構(gòu)而設(shè)計(jì),直接用XilinxFPGA底層硬件原語描述,充分發(fā)揮了FPGA的功能,其實(shí)現(xiàn)結(jié)果在面積和速度上都令人滿意。11/23/202417第2章原理圖輸入⊿在ECS圖形化界面下,用戶可以編輯原理圖和模塊符號(hào)。⊿ECS在ISE中僅僅是一種輔助設(shè)計(jì)方法,其最常用的場合是在混合設(shè)計(jì)中。在混合設(shè)計(jì)中,使用ECS將VerilogHDL、VHDL和IP核生成器(CoreGenerator)產(chǎn)生的IP核和StateCAD設(shè)計(jì)狀態(tài)機(jī)等設(shè)計(jì)資源生成原理圖模塊符號(hào)(Symbol),用原理圖(Schematic)將這些模塊符號(hào)組織起來,完成混合設(shè)計(jì)。11/23/202418第2章狀態(tài)機(jī)輸入⊿StateCAD符合人們設(shè)計(jì)狀態(tài)機(jī)的習(xí)慣,設(shè)計(jì)者只要畫出狀態(tài)轉(zhuǎn)移圖,StateCAD自動(dòng)將狀態(tài)轉(zhuǎn)移圖翻譯成HDL語言代碼,代碼規(guī)范、可讀性好、可綜合、易維護(hù)。StateCAD提供了狀態(tài)機(jī)的輸入、翻譯、檢測、優(yōu)化和測試等一條龍的服務(wù),使?fàn)顟B(tài)機(jī)的設(shè)計(jì)變得安全、可靠、快速、便捷。⊿StateCAD能自動(dòng)檢測狀態(tài)機(jī)的完備性和正確性,對狀態(tài)轉(zhuǎn)移圖中的冗余狀態(tài)、自鎖狀態(tài)、歧義轉(zhuǎn)移條件和不完備狀態(tài)機(jī)等隱含錯(cuò)誤都會(huì)報(bào)警,并協(xié)助設(shè)計(jì)者更正錯(cuò)誤。然后StateCAD根據(jù)設(shè)計(jì)者所選的優(yōu)化方式,進(jìn)一步優(yōu)化代碼。⊿StateCAD自動(dòng)生成設(shè)計(jì)的測試激勵(lì),并調(diào)用仿真程序,驗(yàn)證狀態(tài)機(jī)的正確性。11/23/202419第2章2.4VHDL語言概述VHDL的英文全名是Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage,誕生于1982年。1987年底,VHDL被美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL的標(biāo)準(zhǔn)版本:IEEE1076和IEEE1076-1993。Verilog是另一種標(biāo)準(zhǔn)硬件描述語言。VHDL和Verilog作為IEEE的工業(yè)標(biāo)準(zhǔn)硬件描述語言,又得到眾多FDA公司的支持,在電子工程領(lǐng)域,已成為事實(shí)上的通用硬件描述語言。11/23/202420第2章VHDL語言的特點(diǎn)VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口。除了含有許多具有硬件特征的語句外,VHDL語言形式、描述風(fēng)格和句法十分類似于一般的計(jì)算機(jī)高級(jí)語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件、一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,即端口)和內(nèi)部(或稱不可視部分),即設(shè)計(jì)實(shí)體的內(nèi)部功能和算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其它的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基本點(diǎn)。應(yīng)用VHDL進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的,具體如下:11/23/202421第2章⊿VHDL具有更強(qiáng)的行為描述能力,避開具體的器件結(jié)構(gòu),是從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。就目前流行的EDA工具和VHDL綜合器而言,將基于抽象的行為描述風(fēng)格的VHDL程序綜合成為具體的FPGA和CPLD等目標(biāo)器件的網(wǎng)表文件己不成問題,只是在綜合與優(yōu)化效率上略有差異。⊿VHDL豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期(即尚未完成),就能查驗(yàn)設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。即在遠(yuǎn)離門級(jí)的高層次上進(jìn)行模擬,使設(shè)計(jì)者對整個(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性作出決策。⊿VHDL語句的行為描述能力和程序結(jié)構(gòu)決定了它具有支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速的完成必須由多人甚至多個(gè)開發(fā)組共同并行工作才能實(shí)現(xiàn)。VHDL中設(shè)計(jì)實(shí)體的概念、程序包的概念、設(shè)計(jì)庫的概念為設(shè)計(jì)的分解和并行工作提供了有力的支持。11/23/202422第2章⊿對于用VHDL完成的一個(gè)確定的設(shè)計(jì),可以利用EDA工具進(jìn)行邏輯綜合和優(yōu)化,并自動(dòng)地把VHDL描述設(shè)計(jì)轉(zhuǎn)變成門級(jí)網(wǎng)表。這種方式突破了門級(jí)設(shè)計(jì)的瓶頸,極大地減少了電路設(shè)計(jì)的時(shí)間和可能發(fā)生的錯(cuò)誤,降低了開發(fā)成本。應(yīng)用EDA工具的邏輯優(yōu)化功能,可以自動(dòng)地把一個(gè)綜合后的設(shè)計(jì)變成一個(gè)更小、更高速的電路系統(tǒng)。反過來,設(shè)計(jì)者還可以容易地從綜合和優(yōu)化后的電路獲得設(shè)計(jì)信息,反回去更新修改VHDL設(shè)計(jì)描述,使之更為完善。⊿由于VHDL具有類屬描述語句和子程序調(diào)用等功能,對于已完成的設(shè)計(jì),在不改變源程序的條件下,只需改變類屬參量或函數(shù),就能輕易地改變設(shè)計(jì)的規(guī)模和結(jié)構(gòu)。11/23/202423第2章VHDL的學(xué)習(xí)相對于其它計(jì)算機(jī)語言的學(xué)習(xí),如C或匯編語言,VHDL的學(xué)習(xí)具有明顯的特點(diǎn)。⊿要求掌握硬件基礎(chǔ)知識(shí):作為一種硬件描述語言的學(xué)習(xí),需要了解較多的數(shù)字邏輯方面的硬件電路知識(shí),包括目標(biāo)芯片基本結(jié)構(gòu)方面的知識(shí)。⊿理解VHDL的并行性:VHDL是一種并行語言,VHDL描述的對象始終是客觀的電路系統(tǒng)。電路系統(tǒng)內(nèi)部的子系統(tǒng)乃至部分元器件的工作狀態(tài)和工作方式可以是相互獨(dú)立、互不相關(guān)的,也可以是互為因果的。這表明,在任一時(shí)刻,電路系統(tǒng)可以有許多相關(guān)和不相關(guān)的事件同時(shí)并行發(fā)生。所以必須以一種并行語言的思路去理解和應(yīng)用VHDL語言。VHDL具有描述由相關(guān)和不相關(guān)的多維時(shí)空組合的復(fù)合體系統(tǒng)的功能。這要求系統(tǒng)設(shè)計(jì)人員擺脫一維的思維模式,以多維并發(fā)的思路來完成VHDL的程序設(shè)計(jì)。所以,VHDL的學(xué)習(xí)也應(yīng)適應(yīng)這一思維模式的轉(zhuǎn)換。11/23/202424第2章⊿理解掌握軟件程序和硬件構(gòu)成之間的聯(lián)系。
在VHDL程序設(shè)計(jì)中,既要考慮能實(shí)現(xiàn)即定的邏輯功能,還要對這一程序可能耗費(fèi)的硬件資源有一明確的估計(jì)。因此,在VHDL的學(xué)習(xí)和應(yīng)用中,必須善于總結(jié)經(jīng)驗(yàn),盡可能地了解軟件語句與硬件結(jié)構(gòu)間的聯(lián)系。在實(shí)踐過程中,提高通過駕御軟件語句來控制硬件構(gòu)成的能力。一般地,每一項(xiàng)設(shè)計(jì)的資源占用情況可以直接從各種報(bào)告中獲得,也可從RTL原理圖或門級(jí)原理圖中間接獲得。VHDL作為一種硬件描述語言,仍然保留著計(jì)算機(jī)軟件語言的基本特征。事實(shí)上,VHDL的語言描述只是綜合器賴以構(gòu)成硬件結(jié)構(gòu)的一種依據(jù),它并不能代表硬件電路真實(shí)的行為方式。例如與非門、多路選擇器等以并行工作為特征的組合電路卻可用VHDL的順序語句來描述。從表面上看,順序語句是十分典型的計(jì)算機(jī)指令式語句,它是按時(shí)鐘節(jié)拍運(yùn)行的,而實(shí)際的電路并非按照這種逐個(gè)順序判斷的節(jié)拍式工作方式運(yùn)行。因此,在VHDL程序設(shè)計(jì)過程中,能夠洞悉軟件描述背后的硬件工作行為和硬件結(jié)構(gòu)方式對硬件測試、硬件仿真、硬件排錯(cuò),從而完成高質(zhì)量的VHDL設(shè)計(jì)是十分有益。11/23/202425第2章2.5VHDL語言設(shè)計(jì)入門通過幾個(gè)簡單的典型設(shè)計(jì)示例,力圖能迅速地從整體上把握VHDL程序的基本結(jié)構(gòu)和設(shè)計(jì)特點(diǎn),達(dá)到快速人門的目的。⊿2選1選擇器設(shè)計(jì)⊿鎖存器設(shè)計(jì)⊿全加器設(shè)計(jì)11/23/202426第2章2選1選擇器設(shè)計(jì)2選1多路器11/23/202427第2章⊿選擇器邏輯功能的VHDL描述使用了三個(gè)層次:(1)庫(LIBRARY)說明它包含了描述器件的輸入、輸出端口數(shù)據(jù)類型中將要用到的IEEE的標(biāo)準(zhǔn)庫中的STD_LOGIC_1164程序包。(2)實(shí)體(ENTITY)說明實(shí)體的電路意義相當(dāng)于器件,在電路原理圖上相當(dāng)于元件符號(hào)。實(shí)體是一個(gè)完整的、獨(dú)立的語言模塊,它描述了mux21接口信息,定義了mux2l端口引腳的輸入輸出性質(zhì)和數(shù)據(jù)類型。PORT所描述的就相當(dāng)于電路器件的外部引腳,對端口引腳作了信號(hào)流向的方向說明,同時(shí)指明了端口的數(shù)據(jù)類型。(3)結(jié)構(gòu)體(ARCHITECTURE)說明這一層次描述了mux21內(nèi)部的邏輯功能,在電路上相當(dāng)于器件的內(nèi)部電路結(jié)構(gòu)?!癥<=a”表示將a獲得的信號(hào)賦給(傳入)y輸出端,這是一個(gè)單向過程。11/23/202428第2章⊿一個(gè)可綜合的VHDL描述的最小和最基本的邏輯結(jié)構(gòu)中,IEEE標(biāo)準(zhǔn)庫說明、實(shí)體和結(jié)構(gòu)體是最基本的和不可缺少的三個(gè)部分。其它的結(jié)構(gòu)層次可根據(jù)需要選用。此例作為一個(gè)完整的VHDL描述既可以作為一個(gè)獨(dú)立的功能器件使用和存在,也能被其它的由VHDL描述的邏輯電路所調(diào)用,成為其中的一個(gè)功能部件。11/23/202429第2章鎖存器設(shè)計(jì)鎖存器11/23/202430第2章與mux21例子相比,1位鎖存器的VHDL設(shè)計(jì)文件中增加了兩個(gè)部分的內(nèi)容。⊿增加了一條信號(hào)賦值語句SIGNAL<=D由信號(hào)賦值語句SIGNAL定義了一個(gè)信號(hào)變量sig-save,它的功能是存儲(chǔ)來自外部信號(hào)D的被鎖存的數(shù)據(jù)位。綜合后將由一個(gè)硬件時(shí)序器件來完成這一任務(wù)。⊿使用一個(gè)進(jìn)程語句結(jié)構(gòu)PROCESS(D,ENA)~ENDPROCESS
程序行“PROCESS(D,ENA)”中的(D,ENA)稱為敏感信號(hào)表,這說明信號(hào)D和ENA中的任何一個(gè)信號(hào)發(fā)生變化時(shí),都將引起本進(jìn)程的執(zhí)行(在系統(tǒng)的行為仿真中),所有的輸人信號(hào)通常都要列入敏感信號(hào)表中,否則信號(hào)可能被VHDL模擬器忽略。這個(gè)語句從系統(tǒng)仿真的角度看,是為此結(jié)構(gòu)體的行為仿真設(shè)定了兩個(gè)敏感量D和ENA,以利于邏輯順序的測定。從系統(tǒng)綜合結(jié)果的角度看,必須引人鎖存器才能完成這個(gè)時(shí)序邏輯過程(VHDL綜合器自動(dòng)判別完成鎖存器的引入)。11/23/202431第2章用VHDL設(shè)計(jì)全加器1位全加器邏輯原理圖11/23/202432第2章1位全加器完整源程序11/23/202433第2章實(shí)體or2語句段定義了或門or2的引腳信號(hào)a、b(輸入)和c(輸出)。其結(jié)構(gòu)體語句段描述了輸人與輸出信號(hào)間的邏輯關(guān)系,即將輸人信號(hào)a、b相或后傳給輸出信號(hào)端C。由此實(shí)體和結(jié)構(gòu)體描述了一個(gè)完整的或門元件,這一描述可以進(jìn)行獨(dú)立綜合實(shí)現(xiàn)與存檔,或被其它的電路系統(tǒng)所調(diào)用。11/23/202434第2章實(shí)體h_adder和結(jié)構(gòu)體fhl描述了一個(gè)半加器。由其結(jié)構(gòu)體的描述可以著到,它是由一個(gè)與非門、一個(gè)非門、一個(gè)或門和一個(gè)與門連接而成的,其邏輯關(guān)系來自于半加器真值表。11/23/202435第2章11/23/202436第2章⊿“COMPONENT~ENDCOMPONENT”語句結(jié)構(gòu)對所要調(diào)用的或門和半加器兩個(gè)元件作了聲明(ComponentDeclaration)。⊿SIGNAL語句定義了三個(gè)信號(hào)d、e和f作為中間信號(hào)轉(zhuǎn)存點(diǎn),以利于幾個(gè)器件間的信號(hào)連接。⊿“PORTMAP()”語句稱為元件例化語句(ComponentInstantiation)。所謂例化,在電路板上,相當(dāng)于往上裝配元器件,并各引腳進(jìn)行連線。例化也可理解為元件映射或元件連接。MAP是映射的意思。符號(hào)“=>”表示信號(hào)連接。11/23/202437第2章⊿一個(gè)相對完整的VHDL程序具有如圖所示的比較固定的結(jié)構(gòu):---首先是各類庫及其程序包的使用聲明。---然后是實(shí)體描述,在這個(gè)實(shí)體中,含有一個(gè)或一個(gè)以上的結(jié)構(gòu)體,而在每一個(gè)結(jié)構(gòu)體中可以含有一個(gè)或多個(gè)進(jìn)程,當(dāng)然還可以是其它語句結(jié)構(gòu),例如其它形式的并行語句結(jié)構(gòu)。---最后是配置說明語句結(jié)構(gòu),這個(gè)語句結(jié)構(gòu)在以上給出的示例中沒有出現(xiàn),配置說明主要用于以層次化的方式對特定的設(shè)計(jì)實(shí)體進(jìn)行元件例化,或是為實(shí)體選定某個(gè)特定的結(jié)構(gòu)體。一個(gè)相對完整的VHDL程序設(shè)計(jì)構(gòu)建稱為設(shè)計(jì)實(shí)體。VHDL程序設(shè)計(jì)基本結(jié)構(gòu)11/23/202438第2章2.5結(jié)構(gòu)層次化編碼
(HierarchicalCoding)基本的結(jié)構(gòu)化層次11/23/202439第2章結(jié)構(gòu)層次化編碼是模塊化設(shè)計(jì)思想的體現(xiàn)。大型設(shè)計(jì)中必須采用結(jié)構(gòu)層次化編碼風(fēng)格,以提高代碼的可讀性,易于模塊劃分,易于分工協(xié)作,易于設(shè)計(jì)仿真測試激勵(lì),易于復(fù)用。雖然理論上,任何設(shè)計(jì)都可以在同一個(gè)模塊中完成,但是如果將不同功能、不同層次、不同類型的電路混淆在同一個(gè)模塊中,對于比較復(fù)雜的設(shè)計(jì),將會(huì)導(dǎo)致整個(gè)設(shè)計(jì)雜亂無章,不利于設(shè)計(jì)的閱讀與維護(hù),也會(huì)給綜合和實(shí)現(xiàn)過程帶來許多麻煩?;镜慕Y(jié)構(gòu)化層次是由一個(gè)頂層模塊和若干個(gè)子模塊構(gòu)成,每個(gè)子模塊根據(jù)需要還可以包含自己的子模塊。11/23/202440第2章結(jié)構(gòu)層次化編碼有如下注意事項(xiàng):(1)結(jié)構(gòu)的層次不易太深,一般為3到5層即可。在綜合時(shí),一般綜合工具為了獲得更好的綜合效果,特別是為了使綜合結(jié)果所占用的面積更小,會(huì)默認(rèn)將RTL代碼的層次打平(Flatten)。(2)頂層模塊最好僅僅包含對所有模塊的組織和調(diào)用,而不應(yīng)該完成比較復(fù)雜的邏輯功能。較為合理的頂層模塊由輸入輸出管腳聲明、模塊的調(diào)用與實(shí)例化、全局時(shí)鐘資源、全局置位/復(fù)位、三態(tài)緩沖和一些簡單的組合邏輯等構(gòu)成。(3)所有的I/O信號(hào),如輸入、輸出和雙向信號(hào)等的描述在頂層模塊完成子模塊之間也可以有接口,但是最好不要建立子模塊間跨層次的接口,例如圖中模塊A1到模塊B1之間不宜直接連接,兩者需要交換的信號(hào)可以通過模塊B的接口傳遞。這樣做的好處是增加了設(shè)計(jì)的可讀性和可維護(hù)性。(4)子模塊的合理劃分非常重要,應(yīng)該綜合考慮子模塊的功能、結(jié)構(gòu)、時(shí)序、復(fù)雜度等多方面因素。11/23/202441第2章模塊劃分的技巧(DesignPartitioning)結(jié)構(gòu)層次化設(shè)計(jì)方法的第一個(gè)要點(diǎn)就是模塊劃分,模塊劃分非常重要,關(guān)系到能否最大程度上發(fā)揮項(xiàng)目成員協(xié)同設(shè)計(jì)的能力,更重要的是它直接決定著設(shè)計(jì)的綜合、實(shí)現(xiàn)的耗時(shí)與效率。⊿對每個(gè)同步時(shí)序設(shè)計(jì)的子模塊的輸出使用寄存器⊿將相關(guān)和可以復(fù)用的邏輯劃分在同一模塊內(nèi)⊿將存儲(chǔ)邏輯獨(dú)立劃分成模塊⊿合適的模塊規(guī)模11/23/202442第2章⊿對每個(gè)同步時(shí)序設(shè)計(jì)的子模塊的輸出使用寄存器(Registering)這個(gè)原則也被稱為用寄存器分割同步時(shí)序模塊的原則。使用寄存器分割同步時(shí)序單元的好處是:便于綜合工具權(quán)衡所分割的子模塊中的組合電路部分和同步時(shí)序電路部分,從而達(dá)到更好的時(shí)序優(yōu)化效果,這種模塊劃分符合時(shí)序約束的習(xí)慣,便于利用約束屬性進(jìn)行時(shí)序約束。下圖中綜合工具必須去決定如何去優(yōu)化邏輯B和邏輯C,讓綜合工具去做決定是不明智的。這種設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨物運(yùn)輸合同(水路)
- 醫(yī)療行業(yè)人才引進(jìn)合同
- 房地產(chǎn)開發(fā)商與購房者合同大全
- 勞動(dòng)用工安全責(zé)任合同模板:應(yīng)對與處理
- 地區(qū)授權(quán)代理合同書
- 基礎(chǔ)設(shè)施建設(shè)項(xiàng)目土地征用合同
- 房地產(chǎn) -鏈家地產(chǎn) 二手房業(yè)務(wù)知識(shí)與經(jīng)驗(yàn)介紹
- 安全責(zé)任的落實(shí)強(qiáng)化企業(yè)安全主體責(zé)任考核試卷
- 攝影器材行業(yè)知識(shí)產(chǎn)權(quán)保護(hù)與合規(guī)經(jīng)營策略研究考核試卷
- 數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)考核試卷
- 航空航天標(biāo)準(zhǔn)與認(rèn)證互認(rèn)
- 心理課教案自我認(rèn)知與情緒管理
- 民用無人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點(diǎn)題庫500題(含答案)
- GB/T 6553-2024嚴(yán)酷環(huán)境條件下使用的電氣絕緣材料評定耐電痕化和蝕損的試驗(yàn)方法
- 中職旅游專業(yè)《中國旅游地理》說課稿
- 第15課 列強(qiáng)入侵與中國人民的反抗斗爭【課件】-中職高一上學(xué)期高教版
- 中國海關(guān)科學(xué)技術(shù)研究中心招聘筆試真題2022
- 結(jié)構(gòu)實(shí)驗(yàn)技術(shù):地震模擬振動(dòng)臺(tái)試驗(yàn)
- 《鄧稼先》省公開課一等獎(jiǎng)全國示范課微課金獎(jiǎng)?wù)n件
- GJB9001C-2017管理手冊、程序文件及表格匯編
- 核心素養(yǎng)目標(biāo)新課標(biāo)北師大版小學(xué)數(shù)學(xué)三年級(jí)下冊全冊教案
評論
0/150
提交評論