【正文】
te Array,現(xiàn)場可編程門陣列 /ComplexProgrammable Logic Device,復(fù)雜可編程邏輯器件 )在 EDA 基礎(chǔ)上的廣泛應(yīng)用。 FPGA是由掩膜可編程門陣列 (MPGA)和可編程邏輯器件二者演變而來的,并將它們的特性結(jié)合在一起,因此 FPGA 既有門陣列的高邏輯密度和通用性,又有可編程邏輯器件的用戶可編程特性。其優(yōu)點是集成度、工作頻率和可靠性都很高,適用于電磁輻射干擾較強(qiáng)的惡劣環(huán)境。在系統(tǒng)不加電時,編程數(shù)據(jù)存儲在 EPROM、硬盤、或軟盤中。如果編譯后形成的文件是標(biāo)準(zhǔn) VHDL 文件,在綜合前即可以對所描述的內(nèi)容進(jìn)行仿真,稱為行為仿真。 設(shè)計的第三步是綜合,將軟件設(shè)計與硬件的可實現(xiàn)性掛鉤,這是將軟件轉(zhuǎn)化為硬件電路的關(guān)鍵步驟。適配完成后, EDA 軟件將產(chǎn)生針對此項設(shè)計的多項結(jié)果 :1適配報告 ; 時序仿真用網(wǎng)表文件 ; 下載文件 ; 4 適配錯誤報告等。 用 FPGA/CPLD 開發(fā)的優(yōu)缺點 基于 EDA 技術(shù)的 FPGA/CPLD 器件的開發(fā)應(yīng)用可以從根本上解決 MCU 所遇到的問題。這就要求設(shè)計人員更加了解 FPGA/CPLD 設(shè)計軟件 的特點,才能得到優(yōu)化的設(shè)計。但這種結(jié)構(gòu)要么利用率不高,要么不完全符合設(shè)計者的需要。相比傳統(tǒng)的電 路系統(tǒng)的設(shè)計方法, VHDL 具有多層次描述系統(tǒng)硬件功能的能力 ,支持自頂向下 和基于庫的設(shè)計的特點,因此設(shè)計者可以不必了解硬件結(jié)構(gòu)。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后, 其他的設(shè)計就可以直接調(diào)用這個實體。強(qiáng)大的行為描述能力是避開具體的 器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計大規(guī)模電子系統(tǒng)的重要保證。 ( 4)對于用 VHDL 完成的一個確定的設(shè)計,可以利用 EDA 工具進(jìn)行邏輯綜合和優(yōu) 化,并自動的把 VHDL 描述設(shè)計轉(zhuǎn)變成門級網(wǎng)表。 MAX+PLUS II 介紹 本次設(shè)計選用的開發(fā)環(huán)境為美國 ALTERA 公司自行設(shè)計開發(fā)的 EDA 工具 MAX+pLUS II,其全稱為 Multiple Array Matrix and Programmable Logic UserSystems。利用該工具所配備的編輯、編譯、仿真、綜合、芯片編程等功能,可將設(shè)計電路圖或電路描述程序變成基本的邏輯單元寫入到可編程的芯片中 (如 FPGA 芯片 ),做成 ASIC 芯片。編譯完成后,就可以進(jìn)行仿真,檢查設(shè)計是否達(dá)到設(shè)計要求,否則的話,還需重新檢查設(shè)計輸入 。 基于 EDA 的八位數(shù)字頻率計的設(shè)計 7 圖 12用 MAX+PLUS II 開發(fā) FPGA 的流程示意圖 MAX+PLUS II 借助 EDIF 網(wǎng)表文件, SRAM 目標(biāo)文件 (.sof) , LPM, VerilogHDL 和 VHDL能與 Candence, Mentor Graphics, OrCAD, Synopsys, Synplicity 和 Viewlogi 等公司提供的其它多種 EDA 工具接口。而可編程邏輯 器件克服 了上述缺點,它把通用集成電路通過編程集成到一塊尺寸很小的硅片上, 成倍縮小了電路的體積,同時由于走線短,減少了干擾,提高了系統(tǒng)的可靠性,又由于 VHDL 語言和 Verilog 語言易于掌握與使用,設(shè)計相當(dāng)靈活,極大地縮短了 產(chǎn)品的開發(fā)周期 。為了準(zhǔn)確的測出頻率的多少,人們研究出了很多測頻率的方法。 1 個數(shù)。 1個數(shù)字誤 差對測量結(jié)果影響減小,測量準(zhǔn)確度越高。 1 個數(shù)字誤差 的存在,難以兼顧低頻和高頻實現(xiàn)等精度測量,所以測量精度較低。 圖 21 多周期同步測頻原理框圖 基于 EDA 的八位數(shù)字頻率計的設(shè)計 10 圖 22 多周期同步測頻原理波形圖 測量時,首先預(yù)置閘門開啟信號,此時計數(shù)器并不計數(shù),等被測信號上升沿 到來時,觸發(fā)器輸出計數(shù)允許信號(實際閘門信號),計數(shù)器 1對標(biāo)準(zhǔn)信號計數(shù), 計數(shù)器 2對被測信號計數(shù),預(yù)置閘門關(guān)閉時,計數(shù)器并不立即結(jié)束計數(shù),而是 等 到被測信號上升沿到來時才停止計數(shù),完成測量過程。 由于社會發(fā)展和科技發(fā)展的需要,信息傳輸和處理的要求的提高,對頻率的測 量精度也提出了更高的要求,需要更高準(zhǔn)確度的時頻基準(zhǔn)和更精密的測量技術(shù)。內(nèi)插法和游標(biāo)法都是采用模擬的 方法,雖然精度提高了,但是電路設(shè)計卻很復(fù)雜。 1 個字的計 數(shù)誤差,而且這些方法設(shè)備復(fù)雜,不利于推廣。 大量的工作 人員在改進(jìn)、創(chuàng)造 新的測頻原理、方法和儀器,以便以更高的精度、速度,自動進(jìn)行測量和 數(shù)據(jù)處理, 并向多功能、小型化、高性價比方向發(fā)展。在方案考慮方面,因為內(nèi)部計數(shù)器的個數(shù)決定了頻率計的總量程,故在內(nèi)部設(shè)置了 八個計數(shù)器作為頻率計測量的單位,并用八個數(shù)碼管顯示出來。 其中 TESTCTL 為測頻控制信號發(fā)生器模塊 ,如圖 31所示。在信號 Load的上升沿時,立即對模塊的輸入口的數(shù)據(jù)鎖存到 REG32B的內(nèi)部,并由 REG32B 的輸出端輸出,然后,七段譯碼器可以譯碼輸出。當(dāng)高電平時允許計數(shù),低電平時禁止計數(shù)。 USE 。 DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0) )。 CLR_CNT : OUT STD_LOGIC。 CLR : IN STD_LOGIC。 END COMPONENT。 END COMPONENT。 SIGNAL OUTY1,OUTY2,OUTY3,OUTY4,OUTY5,OUTY6,OUTY7,OUTY8: STD_LOGIC_VECTOR(3 DOWNTO 0)。 U3: CNT10 PORT MAP(COUT1,CLR_CNT1,TSTEN1,OUTY2,COUT2)。 U7: CNT10 PORT MAP(COUT5,CLR_CNT1,TSTEN1,OUTY6,COUT6)。 U11 : REG32B PORT MAP(LOAD1,OUTY2,DOUT(7 DOWNTO 4))。 U15 : REG32B PORT MAP(LOAD1,OUTY6,DOUT(23 DOWNTO 20))。 采用 VHDL 描述數(shù)字頻率計的電路時,根據(jù)數(shù)字頻率計系統(tǒng)框圖,按照自頂向下的設(shè)計思路,編寫各個模塊的 VHDL 源程序,最后再對各個模塊進(jìn)行組合。 U1~U8 為 74SXX 系列與非門,同步 檢測電路利用門電路的延時來構(gòu)成。這樣以來,使測量精度得到大大的改善。 USE 。 計數(shù)器時鐘使能 CLR_CNT : OUT STD_LOGIC。 BEGIN PROCESS( CLK ) BEGIN IF CLK39。 END IF。 AND Div2CLK = 39。 ELSE CLR_CNT = 39。 Load = NOT Div2CLK。它具有計數(shù)使能端( ena)、異步清零端 (clr)、時鐘輸入端 (clk)、進(jìn)位輸出端 (ov) 等。從仿真圖上可知:此計數(shù)器具有良好的控制和計數(shù)功能。 ENTITY CNT10 IS 基于 EDA 的八位數(shù)字頻率計的設(shè)計 16 PORT (CLK : IN STD_LOGIC。 計數(shù)結(jié)果 CARRY_OUT : OUT STD_LOGIC )。139。139。 ELSE CQI = 0000。 END PROCESS。039。 END behav。 基于 EDA 的八位數(shù)字頻率計的設(shè)計 17 圖 36 鎖存器仿真圖 32 位鎖存模塊 REG32B 源程序為: LIBRARY IEEE。 DOUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) )。139。 END behav。由于轉(zhuǎn)換電 路對速度沒有要求,為節(jié)省硬件資源,轉(zhuǎn)換電路由時序邏輯電路構(gòu)成,由時鐘控 制轉(zhuǎn)換過程的進(jìn)行。 如圖 38 所示為 二 十進(jìn)制轉(zhuǎn)換模塊仿真圖 。最后通過編程電纜,將所設(shè)計的內(nèi)容下載到 CPLD器件中,進(jìn)行實物仿真。 為了產(chǎn)生這個時序圖,首先有一個 D觸發(fā)器構(gòu)成二分頻器,在每次時鐘 CLK 的上升沿到來使其值翻轉(zhuǎn)。 基于 EDA 的八位數(shù)字頻率計的設(shè)計 20 第 四 章 、基于 EDA 的數(shù)字頻率計硬件 設(shè)計 把 上述 各程序經(jīng)過編譯以后,生成模塊,通過建立頂層文件,調(diào)用這些模塊,完成電路的連接來實現(xiàn),具體的電路圖如圖 41所示: 整個頻率計系統(tǒng)有四個輸入信號,分別為系統(tǒng)基準(zhǔn)時鐘信號 BASE CLK,被測時鐘信號CHEC 玫 CLK、系統(tǒng)復(fù)位信號 RESET(高電平有效 )和開始測量脈沖信號 SYS_ START。SYS START用于通知系統(tǒng)開始進(jìn)行測量,當(dāng)系統(tǒng)接受到 SYS_ START 后,就開始對被測時鐘信號 CHECK CLK 上的信號進(jìn)行頻率測量,并輸出測頻結(jié)果。既保證了頻率測量精度滿足系統(tǒng)預(yù) 定的要求,又使得系統(tǒng)在高頻階段不會由于基準(zhǔn)時鐘頻率的限制而使測頻精度達(dá)不到應(yīng)有的水平。 基于 EDA 的八位數(shù)字頻率計的設(shè)計 21 GNDGNDabfcgdeD P Y1234567abcdefg8dpdpD S 1D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U17 4L S 2 48abfcgdeD P Y1234567abcdefg8dpdpD S 2D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U27 4L S 2 48abfcgdeD P Y1234567abcdefg8dpdpD S 3D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U37 4L S 2 48abfcgdeD P Y1234567abcdefg8dpdpD S 4D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U47 4L S 2 48abfcgdeD P Y1234567abcdefg8dpdpD S 5D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U57 4L S 2 48abfcgdeD P Y1234567abcdefg8dpdpD S 6D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U67 4L S 2 48abfcgdeD P Y1234567abcdefg8dpdpD S 7D P Y _7 S E G _D P1 2 3 4 5 6 7 8910111213141516A B C D E F GVCCB C LT BI RBI AD GND7 4L S 2 48U77 4L S 2 48V C CIO1IO2IO3IO4IO5IO6IO7V C C I O 18GND9IO10IO11IO12D A T A 013n C O N F I G14V C C A _P L L 115C L K 016C L K 117G N D A _P L L 118G N D G _P L L 119