高 銳
長春職業(yè)技術(shù)學(xué)院,吉林長春 130033
電子EDA技術(shù)的主要特點是使用硬件描述語言進行電子電路系統(tǒng)設(shè)計操作,具有較高的系統(tǒng)級仿真能力及綜合能力。使電子EDA技術(shù)得以實現(xiàn)的硬件基礎(chǔ)是超大規(guī)模可編程邏輯器件,它的設(shè)計操作過程具有很大的靈活性和可移植性。進行EDA技術(shù)開發(fā)的QuartusII軟件是用于開發(fā)可編程邏輯器件的常用工具軟件,此軟件功能強大、操作方便,主要用于實現(xiàn)電路系統(tǒng)的設(shè)計輸入、電路綜合、電路布局布線、時序分析和仿真操作、系統(tǒng)配置操作、時序逼近、系統(tǒng)調(diào)試和項目管理等功能。本文中的正弦信號發(fā)生器電路就是基于QuartusII軟件平臺設(shè)計的。
信號發(fā)生器是數(shù)字設(shè)備運行過程中不可缺少的一部分,以前的信號發(fā)生器,幾乎都使用的是分立元件,產(chǎn)品體積龐大且不方便攜帶。而現(xiàn)在專用的數(shù)字電路信號發(fā)生器,硬件成本高、操作復(fù)雜。由于上述原因,小型、成本低且易用的信號發(fā)生器比較實用。基于以上原因,選擇使用Quartus II軟件創(chuàng)建項目工程xhfs,使用自底向上的混合編輯方法并結(jié)合ROM宏功能模塊設(shè)計一個簡易正弦信號發(fā)生器。選擇Cyclone II系列的EP2C8Q208C8器件并進行引腳分配、項目編譯、仿真、生成目標(biāo)文件,使用EDA實驗箱對目標(biāo)器件進行編程與配置。
正弦信號發(fā)生器設(shè)計共由四部分組成,其系統(tǒng)設(shè)計框圖如圖1所示,包括ROM地址發(fā)生器(六位計數(shù)器)、正弦數(shù)據(jù)只讀存儲器ROM和一個八位數(shù)模轉(zhuǎn)換電路。當(dāng)前系統(tǒng)各部分工作所對應(yīng)的時鐘信號都是由系統(tǒng)時鐘信號經(jīng)過分頻得到的,電路系統(tǒng)時鐘輸入端就可以滿足輸入方波信號的要求。
ROM地址發(fā)生器正弦信號數(shù)據(jù)存儲器八位數(shù)/模轉(zhuǎn)換電路。
1)在QuartusII軟件中使用向?qū)?chuàng)建項目工程xhfs
指定目標(biāo)器件為Cyclone II系列中的EP2C8Q208C8器件。
2)設(shè)計存儲器編輯文件sj.mif,用于存放正弦波形數(shù)據(jù)
選擇菜單“File”→“New”→“Other files”→“Memory Initialization File”,彈出 “設(shè)置ROM數(shù)據(jù)文件大小”對話框,在這里使用64點8位數(shù)據(jù)。輸入好數(shù)據(jù)后,單擊OK按鈕,在彈出的mif數(shù)據(jù)表格。將波形數(shù)據(jù)填入數(shù)據(jù)表格中,表格中任意數(shù)據(jù)的存儲地址為左列數(shù)和頂行數(shù)之和,保存并命名當(dāng)前文件為“sj.mif”。
3)使用Mega Wizard Plug-In Manager定制正弦信號數(shù)據(jù)ROM宏功能模塊
(1)選擇菜單“Tools”→“Mega Wizard Plug-In Mange”,在彈出的“創(chuàng)建宏功能模塊”對話框中選擇“Create a new custom megafunction variation”選項,即新建一個宏功能模塊;(2)單擊Next按鈕,在彈出的“選擇ROM宏功能模塊”對話框中選擇“ROM-1PORT”宏功能模塊、“Cyclone II”器件,輸入文件路徑和文件名dj.vhd;(3)單擊Next按鈕,彈出“設(shè)置ROM地址位寬和數(shù)據(jù)線寬”對話框。在數(shù)據(jù)位寬選項中選擇“8”、在數(shù)據(jù)數(shù)選項中選擇“64”、在時鐘類型選項中選擇“Auto”、在時鐘控制信號選項中選擇“Single clock”;(4)單擊Next按鈕,在彈出的“選擇數(shù)據(jù)文件”對話框中選擇“Yes,use this file for the memory content data”選項,接著單擊Browse按鈕并從彈出的對話框中選擇“sj.mif”文件。選中下方的復(fù)選框,即允許通過JTAG口對下載于FPGA中的當(dāng)前ROM進行測試和讀寫;(5)單擊Next按鈕,在彈出的“仿真庫信息”對話框中可以觀察到仿真庫的相應(yīng)信息;(6)單擊Next按鈕,在彈出的“ROM簡要信息”對話框中選擇生成的類型文件(包括電路符號文件.bsf)。單擊Finish按鈕,完成當(dāng)前ROM的創(chuàng)建操作。
4)在當(dāng)前項目工程中創(chuàng)建ROM地址發(fā)生器文件xhfsq.vhd并生成電路符號xhfsq.bsf。
5)創(chuàng)建頂層設(shè)計文件xhfs.bdf。
將電路符號xhfsq.bsf放置在當(dāng)前原理圖文件中,連接并命名好輸入/輸出引腳。將其保存在當(dāng)前項目工程中,指定其為頂層文件。選擇菜單“Processing”→“Start”→“Start Analysis & elaboration”,分析當(dāng)前項目工程設(shè)計并檢查語法和語義錯誤。
6)頂層設(shè)計文件編譯
首先,選中菜單“Assignments”→“Device”,選中適當(dāng)?shù)倪壿嬈骷黄浯危龠x中菜單“File”→“Project”→“Save&Check”,保存當(dāng)前文件并進行錯誤檢查 ;再次,選中菜單“File”→“Project”→“Save&Compile”,對當(dāng)前文件進行編譯,此時則生成相應(yīng)的燒寫文件(擴展名為.sof)。 最后,將當(dāng)前項目中所生的配置文件通過下載電纜下載到EDA實驗箱中,以驗證當(dāng)前項目的正確性。
[1]周潤景,圖雅,張麗敏.基于QuartusII的FPGA/CPLD數(shù)字系統(tǒng)設(shè)計實例[M].北京:電子工業(yè)出版社,2007:239.
[2]趙明富.EDA技術(shù)與實踐[M],北京:清華大學(xué)出版社,2005:269.