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