【正文】
般來說比 ASIC(專用集成芯片)的速度要慢,無法完成復(fù)雜的設(shè)計,而且消耗更多的電能。另外一種方法是用 CPLD(復(fù)雜可編程邏輯器件備)。需要說明的是 , 如果仿真驗證不對或者到走某一步有錯 , 就要返回修改。一般情況下 , 對 RTL 級的描述即要反復(fù)修改 , 經(jīng)過多次這樣的迭代才能完成最后的設(shè)計。 VHDL 的英文全寫是: VHSIC( Very High Speed Integrated Circuit) Hardware Description 集成電路硬件描述語言。除了含有許多具有硬件特征的語句外, VHDL 的語言形式、描述風格以及語法是十分類似于一般的計算機高級語言。 VHDL 具有以下特點: 功能強大、設(shè)計靈活 支持廣泛,易于修改 強大的系統(tǒng)硬件描述能力 獨立于器件設(shè)計,與工藝無關(guān) 很強的移植能力 易于共享和復(fù)用 、 Quartus II 簡介 Quartus II 是 Altera公司 的綜合性 PLD開發(fā) 軟件 ,支持原理圖、 VHDL、VerilogHDL 以及 AHDL( Altera Hardware Description Language)等多種設(shè)計輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計輸入到硬件配置的完整 PLD 設(shè)計流程。所以我們 要設(shè)計一個復(fù)用新型的接口來代替?zhèn)鹘y(tǒng)的借口,該借口具有體積小,成本小,較為可靠的復(fù)用借口。 10 系統(tǒng)的組成 圖 21 系統(tǒng)的結(jié)構(gòu)框圖 實驗方案及選擇 實驗方案的選擇 方案有兩個:一個是傳統(tǒng)的集成電路,一個是用 VDHL 描述的語言,設(shè)計一個基于 FPGA 的復(fù)用借口 傳統(tǒng)的集成電路設(shè)計出的接口體積大,成本高,可靠性比較低。我們的設(shè)計是在一塊電路板上實現(xiàn) 4位、 8位、 16 位的串行數(shù)據(jù)和并行數(shù)據(jù)之間互相的轉(zhuǎn)換。例如4 位并行輸入,一位串行輸出,其實驗原理框圖如下: 圖 411 四位并轉(zhuǎn)串實驗框圖 在 Quartus II 軟件上把實驗程序編寫好之后進行調(diào)試,先編寫各個小模塊的程序,然后在 連接起來,這樣找錯誤比較方便。 entity bc4_1 is //實體 bc4_1 port(clk:in std_logic。 四分頻器 數(shù)據(jù)并行輸入端口 串并轉(zhuǎn)換器 數(shù)據(jù)串行輸出端口 4位并轉(zhuǎn)串模塊 4位串 轉(zhuǎn)并 8位并轉(zhuǎn)串模塊 8位串轉(zhuǎn)并 16位串轉(zhuǎn)并 16位并轉(zhuǎn)串 并行輸 出 串行輸 出 12 end entity bc4_1。event and clk =39。 end process。 then if load4_1 =39。 else if t 00 then q(3 downto 1)=q(2 downto 0)。 end if。 end behav。 use 。 end entity。139。 else if q(4)=39。 else q=q(3 downto 0)amp。 end if。 then dout1_4=q(3 downto 0)。 end。 use 。 dt3: out std_logic)。 八分頻器 數(shù)據(jù)并行輸入端口 串并轉(zhuǎn)換器 數(shù)據(jù)串行輸出端口 15 begin process(clk) begin if clk39。 end if。139。Z39。 end if。 dt3= q(7)。 8 位串行數(shù)據(jù)輸入 串并轉(zhuǎn)換器 8 位并行數(shù)據(jù)輸出 16 use 。 dt2:out std_logic_vector(7 downto 0))。event and clk=39。 then dt2=ZZZZZZZZ。din2。 end if。039。 end process。 use 。 din7:in std_logic_vector(15 downto 0)。 signal q:std_logic_vector(15 downto 0)。 then t = t+1。event and clk = 39。 then q(15)=39。 end if。 end process。結(jié)構(gòu)框圖如下: 16位串行數(shù)據(jù)輸入 串并轉(zhuǎn)換器 16位并行數(shù)據(jù)輸出 19 圖 461 十六位串轉(zhuǎn)并實驗框圖 部分程序代碼如下: library ieee。 din6:in std_logic。 begin process(clk) begin if clk39。039。 then q= 1111111111111110amp。 end if。 process(q) begin if q(16)=39。 end if。 use 。 end mux12_4。 when 01=y=din。 end process。我們設(shè)計的功能主要分為兩個:一個是將并行數(shù)據(jù)輸入,然后輸出并行數(shù)據(jù);另一 個是將串行數(shù)據(jù)輸入,然后串行輸出。實驗仿真和我們預(yù)期的結(jié)果一 樣。 23 圖 61 硬件電路圖 實驗總結(jié) 通過本次創(chuàng)新實驗的訓練,提高了我實際工程設(shè)計能力,對 EDA 電子技術(shù)、VHDL 硬 件描述語言、 FPGA 開發(fā)應(yīng)用及相關(guān)知識有了一定的了解和掌握。北京:北京航空航天大學出版社,20xx:5209 致謝