【正文】
性高采用FPGA器件將使所用器件的數(shù)目減少,也使印刷電路板面積減少,密度下降,這些都大大提高了電路的可靠性,同時(shí)也將減少干擾和噪聲,使系統(tǒng)的運(yùn)行更可靠。(5) 硬件加密 使用FPGA器件構(gòu)成的數(shù)字系統(tǒng),其內(nèi)部結(jié)構(gòu)是由設(shè)計(jì)者通過編程實(shí)現(xiàn)的。 Quartus II 的簡(jiǎn)介 Quartus II 是Altera公司的綜合性PLD開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。對(duì)第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDA工具。 Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Maxplus II 友好的圖形界面及簡(jiǎn)便的使用方法。4 具體方案論證與設(shè)計(jì) 具體方案論證試用一片HDPLD和若干外圍電路實(shí)現(xiàn)十字路口交通管理器。交通管理器示意圖如圖所示。 十字路口交通管理器示意圖 該交通管理器由控制器和受其控制的三個(gè)定時(shí)器及六個(gè)交通燈組成。在此直接按照功能要求,即常規(guī)的十字路口交通管理規(guī)則,給出交通管理器工作流程圖,同時(shí)也可以看做系統(tǒng)控制器的ASM圖, 甲道禁止 乙道通行 S0 00 R1=1 C1=1 G2=1 W1 =1 N 甲道禁止 乙道停車S1 01 R1=1 C2=1 Y2=1 W4 =1 W2 =1 W3 =1甲道通行 乙道禁止甲道停車 乙道禁止 S2 11 G1=1 C3=1 R2=1 S3 10 Y1=1 C2=1 R2=1 N Y 交通管理器工作流程圖(控制器的ASM圖) 具體電路原理圖 電路仿真圖5 實(shí)驗(yàn)結(jié)果將程序下載到試驗(yàn)板后,將R置于高電平后,可以看見LED燈的顯示情況為主干道綠燈亮,支干道紅燈亮。在支干道數(shù)碼管倒計(jì)時(shí)顯示為0s后,可以看見LED燈的顯示情況變?yōu)橹鞲傻傈S燈亮,支干道紅燈亮。在支干道數(shù)碼管倒計(jì)時(shí)顯示為0s后,LED燈的顯示情況變?yōu)橹鞲傻兰t燈亮,支干道綠燈亮,主干道數(shù)碼管倒計(jì)時(shí)顯示為19s,支干道數(shù)碼管倒計(jì)時(shí)顯示為25s。5S鐘之后,交通燈重新進(jìn)入主干道綠燈亮、支干道紅燈亮的狀態(tài)(即S0狀態(tài))。通過這次設(shè)計(jì),我對(duì)FPGA和VHDL有了更深入的理解,熟悉了Quartus II基本的使用方法。在選擇畢設(shè)題目之后,我意識(shí)到自己對(duì)VHDL語言的掌握程度遠(yuǎn)遠(yuǎn)不夠,開始查閱VHDL教程。我在做這個(gè)設(shè)計(jì)之前對(duì)Quartus II的了解甚少,編寫的程序也是到處有錯(cuò),只有邊編譯邊改程序。有時(shí)候設(shè)置的時(shí)鐘頻率過高,違反了setup/hold時(shí)間;有時(shí)候設(shè)置的END TIME過高,出現(xiàn)了仿真時(shí)間太長(zhǎng)的問題。各個(gè)模塊仿真成功之后,我開始編寫頂層文件。 本設(shè)計(jì)基于VHDL硬件描述語言編程,在確立總體預(yù)期控制功能的前提下,分模塊進(jìn)行描述,其中所用到的數(shù)據(jù)均可依實(shí)際情況而設(shè)置,修改方便靈活。VHDL程序在Quartus II環(huán)境下編譯通過,功能仿真正確,將編程文件下載到FPGA芯片后實(shí)現(xiàn)了自動(dòng)控制功能。城市交通路口情況較為復(fù)雜,除十字路口之外,還有“T”型路口和圓形路口等類型的路口,本文僅簡(jiǎn)單分析了十字路口。該功能可通過在十字路口的每個(gè)方向各放置一個(gè)左拐信號(hào)燈和一組LED數(shù)碼管(2個(gè))來實(shí)現(xiàn)。use 。entity count5 is port( clk : in std_logic。 c : out std_logic。end count5。 signal f:std_logic。 begin process(clk) begin if(clk39。139。 f=not f。 end if。 end process。event and f=39。) then if enable=39。 and data0 then data=data1。 end if。 if data=0 then c=39。 else c=39。 end if。 q=data。