【正文】
動工作。 蘇州大學本科生畢業(yè)設計(論文) 9 第三章 系統(tǒng) 子模塊 實現(xiàn)與 仿真 分析 數(shù)字信號發(fā)生器實現(xiàn)與仿真 數(shù)字信號發(fā)生器的工作流程圖和組成框圖 8 路數(shù)字信號發(fā)生器的設計主要是用來產生 8 路循環(huán)連續(xù)的數(shù)字信號數(shù)據(jù),作為本次設計的測試信號。 CLOCK 時鐘主要負責控制循環(huán)移位寄存器。 圖 中, CLK 為時鐘信號, SET 和 RESET 為置位復位信號, EN 為使能信號,D 為輸入測試數(shù)據(jù), Q 為輸出觀察信號。 使用 VHDL 語言編程并在 Quartus II 中生成的該模塊符號圖如圖 所示。 循環(huán)移位寄存器 循環(huán)移位寄存器作用:在每個時鐘上升沿到來時,對輸入的邏輯信號進行一次移位并輸出。從圖中可以看出,當時鐘信號上升沿到來且 LOAD 信號處于低電平時 , 循環(huán)移位寄存器開始工作產生數(shù)據(jù)流 。在使能信號ENU 處于高電平狀態(tài),時鐘信號 CLKU 上升沿到來并且加載信號 LOADA 處于低電平時,預置寄存器將預置信號 00000101( 5)送入循環(huán)移位寄存器,從而產生連續(xù)不斷循環(huán)的數(shù)據(jù)流。只有當 8 路信號的邏輯狀態(tài)與預置觸發(fā)字的邏輯狀態(tài)完全相同時,才會產生一個觸發(fā)信號發(fā)送出去,作為觸發(fā)模塊后面幾個模塊的控制信號??梢钥吹?,在每個時鐘上升沿到來時,觸發(fā)電路都會對輸入數(shù)據(jù) INPUTM 和預置觸發(fā)字 INPUTN 進行對比,若不相同則輸出低電平,若在某一個時鐘上升沿觸發(fā)則將一直輸出高電平。 該模塊的作用:數(shù)字信號發(fā)生器產生的數(shù)據(jù)流在源源不斷輸出到觸發(fā)電路的同時,也會不斷的輸出到這一模塊。從圖 顯示的仿真波形看到,在時鐘上升沿以及 EN 高電平到來時,REGN 很好的將數(shù)據(jù) 4 及 4 之后的數(shù)據(jù)都進行了輸出,實現(xiàn)了它的功能,完全符合設計要求。 640 分頻器的框圖如圖 所示。 在圖 中, CLK 為時鐘信號, OUTPUT 輸出信號。 該模塊的作用: RAM 作為整個設計中最核心的模塊,需要完成數(shù)據(jù)的采集和處理工作。從 CS 片選信號到來的那一刻,每過一個系統(tǒng)時鐘, RAM 內部都有一個計數(shù)器加一,當計數(shù)滿 64 次之后,關閉 RAM,停止讀寫。從圖 仿真圖看到當片選信號 CS 高電平到來時, RAM開始工作,此時讀寫信號 OE 為高電平,寫入 32 個數(shù)據(jù),此時沒有輸出。 系統(tǒng)頂層仿真圖 在 20xxus 時間觀察域,系統(tǒng)時鐘信號為 ,有源晶振 1MHz 的基礎上,得到的系統(tǒng)頂層仿真結果如圖 所示。在 OE 高電平持續(xù)期間, RAM寫入數(shù)據(jù),之后在 OE 低電平期間再讀出寫入的數(shù)據(jù)。 本設計使用 VHDL 語言編程實現(xiàn)了 8 路數(shù)字信號發(fā)生器,觸發(fā)電路,分頻器,存儲器。使得原先設計電路只能通過硬件慢慢嘗試,這樣不僅效率低而且錯誤難以更正,向軟件設計轉變。一是雖然在理論上設計出了系統(tǒng)的框圖以及原理圖 ,并且仿真結果也較好,但是還沒有在硬件電路上進行調試,不知在硬件電路上會出現(xiàn)什么問題,今后改進將進行硬件電路的調試工作;二是仿真結果大部分數(shù)據(jù)信號邊緣部分出現(xiàn)了抖動現(xiàn)象,并沒有得到消除,今后的改進將研究不同工作頻率下的情況,力求消除抖動現(xiàn)象;三是由于數(shù)字信號發(fā)生器模塊程序的運行,輸出測試數(shù)據(jù)時產生了 的延遲,這導致最終結果的輸出延遲了一個時鐘周期,今后改進將調試改進程序力求減小甚至消除這 的延遲對結果的影響。 其次還要感謝大學四年來所有的老師們,為我們打下了電子專業(yè)知識的基礎,如果沒有這些知識,完成設計幾乎不可能。 USE 。 END REGISTERN。139。 ELSIF(SET=39。) THEN Q=(OTHERS=39。EVENT AND CLK=39。) THEN Q=D。 END PROCESS。 ENTITY FREQ_DIV IS PORT(CLK:IN STD_LOGIC。 SIGNAL MIDL : STD_LOGIC。) THEN IF(COUNT_SIGNAL=9) THEN COUNT_SIGNAL=0。 OUTPUT=MIDL。 循環(huán)移位寄存器源程序: LIBRARY IEEE。 Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 PROCESS(CLK) BEGIN IF(CLK39。039。 END LOOP。 END AA。 CLK,EN,SET,RESET: IN STD_LOGIC。 OUTPUT: OUT STD_LOGIC)。 Q :OUT STD_LOGIC_VECTOR(7 DOWNTO 0))。 USE 。 QU :OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 BEGIN REG_1:REGISTERN PORT MAP(D=DU,CLK=CLKU,EN=ENU,SET=SETU,RESET=RESETU,Q=REGOUT)。 蘇州大學本科生畢業(yè)設計(論文) 29 觸發(fā)電路源程序: LIBRARY IEEE。 PEQ : OUT STD_LOGIC:=39。 ARCHITECTURE VER1 OF HCT688 IS SIGNAL PGB:STD_LOGIC。) THEN IF (INPUTM(7 DOWNTO 0)=INPUTN(7 DOWNTO 0)) THEN PEQ=39。 END PROCESS。 ENTITY REGN IS PORT( CLK,EN :IN STD_LOGIC。 ARCHITECTURE A OF REGN IS 蘇州大學本科生畢業(yè)設計(論文) 30 BEGIN PROCESS(CLK) BEGIN IF EN=39。EVENT AND CLK=39。 END IF。 USE 。 ARCHITECTURE A OF FREQ IS SIGNAL COUNT_SIGNAL: INTEGER RANGE 0 TO 320。139。139。 END IF。 END PROCESS。 USE 。 PORT( CLK: IN STD_LOGIC。 DATA_I: IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 SIGNAL RAM1 : RAM5。039。EVENT AND CLK=39。) THEN C=39。139。039。 TEM:=TEM+000001。 END IF。 END PROCESS。對本研究提供過幫助和做出過貢獻的個人或集體,均已在文中作了明確的說明并表示了謝意。對本文的研究做出重要貢獻的個人和集體,均已在文中以明確方式標明。 涉密論文按學校規(guī)定處理。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準用徒手畫 3)畢業(yè)論文須用 A4 單面打印,論文 50 頁以上的雙面打印 4)圖表應繪制于無格子的頁面上 5)軟件工程類課題應有程序清單,并提供電子文檔 1)設計(論文) 2)附件:按照任務書、開題報告、外文譯文、譯文原文(復印件)次序裝訂 3)其它 。 :任務書、開題報告、外文譯文、譯文原文(復印件)。 作者簽名: 日期: 年 月 日 學位論文版權使用授權書 本學位論文作者完全了解學校有關保留、使用學位論文的規(guī)定,同意學校保留并向國家有關部門或機構送交論文的復印件和電子版,允許論文被查閱和借閱。 作者簽名: 日 期: 蘇州大學本科生畢業(yè)設計(論文) 34 學位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的論文是本人在導師的指導下獨立進行研究所取得的研究成果。 蘇州大學本科生畢業(yè)設計(論文) 33 畢業(yè)設計(論文)原創(chuàng)性聲明和使用授權說明 原創(chuàng)性聲明 本人鄭重承諾:所呈交的畢業(yè)設計(論文),是我個人在指導教師的指導下進行的研究工作及取得的成果。 END IF。 B=39。 ELSE RAM1(CONV_INTEGER(ADDR))=DATA_I。039。 END IF。) THEN IF(B=39。 BEGIN 蘇州大學本科生畢業(yè)設計(論文) 32 PROCESS(CLK) VARIABLE TEM:STD_LOGIC_VECTOR(5 DOWNTO 0):=000000。039。 END RAM5。 CS : IN STD_LOGIC。 ENTITY RAM5 IS GENERIC(WIDTH: INTEGER :=32。 存儲器 RAM 源程序: LIBRARY IEEE。 END IF。 MIDL=NOT MIDL。 IF(CLK39。139。 OUTPUT : OUT STD_LOGIC)。 END A。) THEN Q=DATA。 THEN Q=DATA。 Q :OUT STD_LOGIC_VECTOR(7 DOWNTO 0) )。 存儲器 REGN 源程序: LIBRARY IEEE。 END IF。EVENT AND CLK=39。)。 ENTITY HCT688 IS PORT(CLK:IN STD_LOGIC。 SHIFT_1:SHIFTX PORT MAP(CLK=CLKU,CLK3=CLK2,LOAD=LOADA,D=REGOUT,Q=QU)。 ARCHITECTURE A OF SHU IS SIGNAL CLK2:STD_LOGIC。 ENTITY SHU IS PORT( CLKU,ENU,SETU,RESETU,CLK1,LOADA :IN STD_LOGIC。 END SHUZI。 蘇州大學本科生畢業(yè)設計(論文) 28 COMPONENT SHIFTX PORT(CLK,CLK3,LOAD: IN STD_LOGIC。 END COMPONENT。 USE 。 END IF。 ELSE TMP(0)=TMP(7)。139。 ARCHITECTURE AA OF SHIFTX IS