【正文】
被測設(shè)備:輸入被檢測的數(shù)據(jù) FPGA 復(fù)用接口芯片 控制 開關(guān):實現(xiàn)各接口的切換 LED燈發(fā)光:顯示所按鍵 液晶顯示器:顯示操作說明及測試結(jié)果 微機系統(tǒng):處理發(fā)送過來的數(shù)據(jù) 打印機:打印測試結(jié)果 11 圖 31 實驗功能框圖 功能的設(shè)計 我們在這個實驗中設(shè)計要是實現(xiàn)串行數(shù)據(jù)和 并行數(shù)據(jù)的轉(zhuǎn)換。 use 。//定義信號 q begin process(clk) begin if clk39。139。 end if。 use 。event and clk=39。din1_4。039。 use 。 signal q:std_logic_vector(7 downto 0)。event and clk = 39。 end if。結(jié)構(gòu)框圖如下: 圖 441 八位串轉(zhuǎn)并實驗框圖 部分程序代碼如下: library ieee。 begin process(clk) begin if clk39。 then q= 11111110amp。 process(q) begin if q(8)=39。實驗框圖如下: 圖 451 十六位并轉(zhuǎn)串實驗框圖 部分程序代碼如下: library ieee。 architecture behav of c7_7 is signal t:std_logic_vector(3 downto 0)。 process(clk) begin if clk39。 else if t = 0000 then q=din7。 16 位并行輸入, 1位串行輸出仿真波形圖 輸入為 1111000011110000 圖 452 十六位并串轉(zhuǎn)波形 十六位串轉(zhuǎn)并 原理和四位串轉(zhuǎn)并基本一樣,只是將輸入的數(shù)據(jù)改成了十六位串行數(shù)據(jù)。 architecture one of cb1_16 is signal q:std_logic_vector(16 downto 0)。039。 end process。 20 圖 462 十六位串轉(zhuǎn) 并波形 分頻器的設(shè)計 分頻器的使用是在數(shù)據(jù)并行轉(zhuǎn)串行的時候,使用分頻器是為了讓并行的數(shù)據(jù)更好的輸入,以便計算機的識別,用 VHDL 語言編寫的分頻器程序如下 (以下的例子為四分頻器 ): library ieee。 process(sel) begin case sel is when 00=y=ah。我們設(shè)計的頂層原理圖如下: 圖 51 頂層模塊原理圖 22 圖 52 波形仿真 5. 2 仿真波形的分析 分析:由上面的仿真波形可以看出。 當(dāng)有一串?dāng)?shù)據(jù)輸入,通過選擇相應(yīng)的開關(guān),通過燈的亮滅情況觀察數(shù)據(jù)輸出結(jié)果是否符合要求。實驗過程中我認為技術(shù)的難點和學(xué)習(xí)最費時的地方在于 VHDL語言。由圖 482可知:輸入端有一個時鐘信號 CLK,用來控制數(shù)據(jù)的輸入。 21 when 10=y=bh。 entity mux12_4 is port(ah,bh,din:in std_logic_vector(3 downto 0)。039。din6。event and clk=39。 use 。 end if。139。 begin process(clk) begin if clk39。 use 。 then dt2=q(7 downto 0)。 else q=q(7 downto 0)amp。139。 use 。 end if。 then if en33 =39。event and clk =39。 entity c3_3 is port(clk:in std_logic。 else dout1_4= ZZZZ。din1_4。 then if load1_4=39。 entity cb1_4 is port (clk,load1_4:in std_logic。 end if。039。139。 //時鐘使能輸入 load4_1:in std_logic。 四位并轉(zhuǎn)串 首先要有一個時鐘來控制電路,然后有一個數(shù)據(jù)輸入口,還有一個分頻器(這個是并行轉(zhuǎn)串行所特有的,串行轉(zhuǎn)并行則沒有)。 我們采用 FPGA 在該復(fù)用借口的設(shè)計中,大大縮短了系統(tǒng)的設(shè)計周期,降低了開發(fā)成本,編程調(diào)試變的更為方便,可靠性得到很大程度上的提高。 VHDL 的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分 ,及端口 )和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。 7 圖 12 FPGA 設(shè)計流程圖 、硬件描述語言 VHDL VHDL 語言是一種用于電路設(shè)計的高級語言。 FPGA的結(jié)構(gòu) 目前主流的 FPGA 仍是基于查找表技術(shù)的,已經(jīng)遠遠超出了先前版本的基本 6 性能,并且整合了常用功能(如 RAM、時鐘管理和 DSP)的硬核( ASIC 型)模塊。在大多數(shù)的FPGA 里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器( Flip- flop)或者其他更加完整的記憶塊。 FPGA技術(shù)的迅速發(fā)展使得接口問題有了好的解決方案。 關(guān)鍵詞: 綜合智能檢測儀 復(fù)用借口 集成電路 VHDL Quartus II 2 目錄 1 FPGA 及 Quartus II 的簡介 什么是 FPGA…………………………