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