【正文】
金陵科技學院學士學位論文 6 直接數(shù)字頻率合成器 24 end if。 else if(count=pulse_width) then next_state=st2。 end if。 signal next_state:states。系統(tǒng)復位信 號 金陵科技學院學士學位論文 6 直接數(shù)字頻率合成器 23 pulse_rfp : IN STD_LOGIC_VECTOR (31 DOWNTO 0)。 脈沖產(chǎn)生模塊 脈沖產(chǎn)生模塊是 DDS 的一個基本組成部分,用來產(chǎn)生脈沖寬度和脈沖重復頻率可調(diào)的任意脈沖信號,脈沖寬度和脈沖重復頻率可以任意選擇,輸入矢量寬度為 12bit。)。EVENT AND clk=39。 ENTITY controlword is PORT ( clk : IN STD_LOGIC。這個過程需要幾個時鐘周期,但用 VHDL 設計,每個時鐘周期每部分都在工作,實現(xiàn)了一個流水線的操作,實際計算一個正弦幅度值只用一個時鐘周期,但是會有幾個周期的延時。相位累加器由 N 位累加寄存器級聯(lián)而成,對代表頻率的 2 進制碼進行累加運算,是典型的反饋電路,產(chǎn)生累加結果。 U7: selecter PORT MAP(SEL,D0,D1,D2,D3,D4,D5,Q)。 SIGNAL D4: STD_LOGIC_VECTOR(7 DOWNTO 0)。 COMPONENT selecter IS PORT( SEL: IN STD_LOGIC_VECTOR(2 DOWNTO 0)。 Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END COMPONENT increase。 頂層模塊的 VHDL 源程序如下: LIBRARY IEEE。 WHEN 100=Q=D4。 ENTITY selecter IS PORT( SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0)。 END IF。 ——給輸出信號賦值 PROCESS(CLK,TAG) BEGIN IF CLK39。EVENT AND CLK=39。 END square。 END IF。 WHEN 58=Q=conv_std_logic_vector(239,8)。 WHEN 50=Q=conv_std_logic_vector(162,8)。 WHEN 42=Q=conv_std_logic_vector(64,8)。 WHEN 34=Q=conv_std_logic_vector(4,8)。 WHEN 26=Q=conv_std_logic_vector(19,8)。 WHEN 18=Q=conv_std_logic_vector(99,8)。 WHEN 10=Q=conv_std_logic_vector(197,8)。 WHEN 2=Q=conv_std_logic_vector(252,8)。 ELSIF CLK39。 USE 。 END IF。 TAG:=39。139。 USE ?!乱粫r鐘周期開始加法計數(shù) ELSE TMP:=TMP1。THEN ——加法計數(shù) IF TMP=11111110THEN ——加法計數(shù)器滿 TMP:=11111111。 BEGIN IF CLR=39。 三角波函數(shù)發(fā)生模塊的 VHDL 源程序如下: LIBRARY IEEE。139。 Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 END IF。139。 程序代碼: 遞增斜波函數(shù)發(fā)生模塊的 VHDL 源程序如下: 金陵科技學院學士學位論文 5 信號發(fā)生器的簡單設計過程 11 LIBRARY IEEE。無論采用何種方法,都要始終堅持逐層 分解功能和分層次進行設計這兩條不變的原則。所謂自頂向下設計,就是將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若 子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進一步分解為更小的子系統(tǒng)和模塊,層層分解,直到整個系統(tǒng)中各子系統(tǒng)關系合理,并便于邏金 陵科技學院學士學位論文 4 數(shù)字系統(tǒng)設計 9 輯級的設計和實現(xiàn)為止??刂谱酉到y(tǒng)由組合邏輯電路和觸發(fā)器組成,與數(shù)據(jù)處理系統(tǒng)共用時鐘。 金 陵科技學院學士學位論文 4 數(shù)字系統(tǒng)設計 8 4 數(shù)字系統(tǒng)設計 數(shù)字系統(tǒng) 的設計模型 數(shù)字系統(tǒng)指的是交互式、以離散形式表示的,具有存儲、傳輸、信息處理能力的邏輯子系統(tǒng)的集合。 VHDL 的設計流程如下圖所示: 圖 1 VHDL 設計流程 VHDL 文本輸入 VHDL 綜合,優(yōu)化 功能,時序仿真 器件適配 下載 金陵科技學院學士學位論文 3 PLD、 Quartus II 簡介 6 3 PLD、 Quartus II 簡介 可編程邏輯器件 PLD PLD 簡介 PLD( Programmable Logic Device) 是一種由用戶根據(jù)需要而自行構造邏輯功能的數(shù)字集成電路。邏輯綜合軟件會生成 .edf 或 .edif 的 EDA 工業(yè) 標準文件。 ( 2)編譯。 其特點是: ( 1)設計技術齊全,方法靈活,支持廣泛,如支持自頂向下 (top down)和基于庫(librarybased)的設計方法等,早在 1987 年就已作為 IEEE 的標準; ( 2)系統(tǒng)硬件描述能力強,具有多層次描述系統(tǒng)硬件的能力,可以從系統(tǒng)的數(shù)學模型直到門級電路,并且高層次的行為描述可以與低層次的 RTL 描述、門級描述混合使用。 在現(xiàn)代數(shù)字系統(tǒng)設計中,硬件描述語言已經(jīng)了成為了設計者和 EDA 工具之間的橋梁。 EAD工具以系統(tǒng)級設計為核心,包括了系統(tǒng)行為級描述與結構綜合、系統(tǒng)仿真與測試驗證、 系統(tǒng)劃分與指標分配及系統(tǒng)決策與文件生成等一系列完整的功能。 20 世紀 70 年代,是 EDA 技術發(fā)展初期,我們稱之為計算機輔助設計 CAD(Computer Aided Design)階 段。 【 1】 所謂 EDA 技術,就是以功能強大的計算機平臺,以 EDA 軟件為工具,對用硬件描述語言 HDL(Hardware Description Language)的系統(tǒng)邏輯設計文件,自動地完成邏輯編譯、簡化、分割、綜合、布局布線及邏輯 優(yōu)化和仿真測試的電子產(chǎn)品自動化設計過程。 本次設計的目的就是通過實踐深入理解 可編程邏輯器件 PLD, 了解 EDA 技術并掌握VHDL 硬件描述語言的設計方法和思想。 Quartus II。 本課題充分利用了現(xiàn)場可編程門陣列 FPGA和 VHDL語言的結合進行任意信號發(fā)生器 的設計,從而易于修改和改進。 關鍵詞: VHDL; FPGA; Quartus II; EDA; DDS金陵科技學院學士學位論文 摘要 IV FPGAbased Control System for Any signal generator design Abstract About the signal generator, the traditional design method is based on the small and mediumscale integrated circuits,with a lot of circuit elements,plex wiring,high failure rate,and low topic has used scene programmable gate array FPGA and the VHDL language fully carried on the automobile taillight control system39。先進的 EDA 工具已經(jīng)從傳統(tǒng)的自下而上的設計方法改變?yōu)樽皂斚蛳碌脑O計方法,以硬件描述語言 HDL( Hardware Description Language)來描述 系統(tǒng)級設計,并支持系統(tǒng)仿真和高層綜合。通過 本次畢業(yè) 設計,一方面加深 了我的理論知識,另一方面也提高 了 我考慮問題全面性 的能力 ,將理論知識上升到 了 一個實踐的階段。在過去的三十多年里,計算機技術迅猛發(fā) 展,也給 EDA 行業(yè)帶來了巨大的變化。 PAL、 GAL和 FPGA等一系列復雜可編程邏輯器件都為電子系統(tǒng)的設 計提供新的平臺。 硬件描述語言 VHDL VHDL 簡介 VHDL( Very High Speed Integrated Circuit Hardware Description Language,超高速集成電路硬件描述語言)誕生于 1982 年,是由美國國防部開發(fā)的一種快速設計電路的工具,目前已經(jīng)成為 IEEE( The Institute of Electrical and Electronics Engineers)的一種工業(yè)標準金陵科技學院學士學位論文 2 EDA、 VHDL 簡介 4 硬件描述語言。 VHDL 語言的特點 VHDL 是一種面向設計的多領域、多層次的 IEEE 標準硬件描述語言,是目前十分流行的硬件描述工具,并且被大多數(shù) EDA 工具支持。 金陵科技學院學士學位論文 2 EDA、 VHDL 簡介 5 用 VHDL 設計電路主要的工作過程和設計流程 ( 1)編輯。 ( 4)邏輯綜合。 ( 6)后仿真(時序仿真)。 Quartus II分為綜合工具、仿真工具、實現(xiàn)工具、輔助設計工具和其他工具等,功能強大,界面友好,易于掌握。數(shù)據(jù)處理子系統(tǒng)與外界進行數(shù)據(jù)交換,在控制子系統(tǒng)(或稱控制器)發(fā)出的控制信號作用下,數(shù)據(jù)處理子系統(tǒng)將進行數(shù)據(jù)的存儲和運算等操作。這種設計方法首先確定可用的元器件,然后根據(jù)這些器件進行邏輯設計,完成各模塊后進行連接,最后形成系統(tǒng)。 ( 2) 自頂向下設計方法使得高層設計完全獨立于目標器件的結構,在設計的初級階段,設計人員可以擺脫芯片結構的束縛,將精力集中在可以規(guī)避傳統(tǒng)方法中的再設計風險的環(huán)節(jié),縮短了產(chǎn)品的開發(fā)周期。 下圖 2 為信號發(fā)生器總框圖。 END increase。 THEN IF TMP=11111111 THEN —— 加法計數(shù)器滿時,重新計數(shù) TMP:=00000000。 —— 加載庫文件 USE 。 THEN —— 復位清零 TMP:= 11111111。 Q=TMP。 END DELTA。139。 ELSE IF TMP=00000001THEN ——減法計數(shù)器滿 TMP:=00000000。 END PROCESS。 ARCHITECTURE rtl OF ladder IS BEGIN PROCESS(CLK,CLR) —— 啟動進程 VARIABLE TMP: STD_LOGIC_VECTOR(7 DOWNTO 0)。 THEN IF TAG=39。 END IF。 正弦波函數(shù)發(fā)生模塊的 VHDL語言: LIBRARY IEEE?!x整數(shù)型變量 BEGIN IF CLR=39?!麛?shù)計數(shù) END IF。 WHEN 7=Q=conv_std_logic_vector(225,8)。 WHEN 15=Q=conv_std_logic_vector(137,8)。 WHEN 23=Q=conv_std_logic_vector(43,8)。 金陵科技學院學士學位論