




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
EDA設(shè)計(jì)論文題目基于VHDL出租車計(jì)費(fèi)器設(shè)計(jì)學(xué)院專業(yè)班級(jí)學(xué)號(hào)姓名指導(dǎo)教師職稱講師2011年12月21日摘要:在科技高度發(fā)展的今天,集成電路和計(jì)算機(jī)應(yīng)用得到了高速發(fā)展。尤其是計(jì)算機(jī)應(yīng)用的發(fā)展。它在人們?nèi)粘I钜阎饾u嶄露頭角。大多數(shù)電子產(chǎn)品多是由計(jì)算機(jī)電路組成。而且將來的不久他們的身影將會(huì)更頻繁的出現(xiàn)在我們身邊。本設(shè)計(jì)利用VHDL語(yǔ)言、CPLD設(shè)計(jì)出租車計(jì)費(fèi)系統(tǒng),以QuartusⅡ軟件作為開發(fā)平臺(tái),設(shè)計(jì)了出租車計(jì)費(fèi)器系統(tǒng)程序并進(jìn)行了程序仿真。使其實(shí)現(xiàn)計(jì)費(fèi)以及預(yù)置和模擬汽車啟動(dòng)、停止、暫停等功能,并動(dòng)態(tài)掃描顯示車費(fèi)數(shù)目和路程數(shù)目。引言:1、VHDL語(yǔ)言VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage,超高集成電路硬件描敘語(yǔ)言)誕生于1982年,是由美國(guó)國(guó)防部開發(fā)的一種快速設(shè)計(jì)電路的工具,目前已經(jīng)成為IEEE(TheInstituteofElectricalandElectronics)的一種工業(yè)標(biāo)準(zhǔn)硬件描敘語(yǔ)言。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適合用于可編程邏輯芯片的應(yīng)用設(shè)計(jì)。除了含有許多具有硬件特征的語(yǔ)句外,VHDL的語(yǔ)言形式和描述風(fēng)格與句法十分類似于一般的計(jì)算機(jī)高級(jí)語(yǔ)言。VHDL的程序特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱為設(shè)計(jì)實(shí)體(可以是個(gè)元件、電路模塊或一個(gè)系統(tǒng))分成外部(或稱可示部分,即端口)和內(nèi)部(或稱為不可視部分,即結(jié)構(gòu)體)兩部分,外部負(fù)責(zé)對(duì)設(shè)計(jì)實(shí)體和端口引腳命名和說明,內(nèi)部負(fù)責(zé)對(duì)模塊功能和算法進(jìn)行描述。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部結(jié)構(gòu)、功能開發(fā)完成,即可生成共享功能模塊,這就意味著,在頂層綜合或其他設(shè)計(jì)中可以直接調(diào)用這個(gè)實(shí)體模塊。VHDL具有較強(qiáng)的行為描述能力,可避開具體的器件結(jié)構(gòu),從邏輯功能和行為上進(jìn)行描述和設(shè)計(jì)。QuartusⅡ6.0簡(jiǎn)介QuartusII是Alera公司推出的一款功能強(qiáng)大,兼容性最好的EDA工具軟件。該軟件界面友好、使用便捷、功能強(qiáng)大,是一個(gè)完全集成化的可編程邏輯設(shè)計(jì)環(huán)境,具有開放性、與結(jié)構(gòu)無(wú)關(guān)、多平臺(tái)完全集成化豐富的設(shè)計(jì)庫(kù)、模塊化工具、支持多種硬件描述語(yǔ)言及有多種高級(jí)編程語(yǔ)言接口等特點(diǎn)。QuartusII是Altera公司推出的CPLD/FPGA開發(fā)工具,QuartusII提供了完全集成且與電路結(jié)構(gòu)無(wú)關(guān)的開發(fā)包環(huán)境,具有數(shù)字邏輯設(shè)計(jì)的全部特性,包括:可利用原理圖、結(jié)構(gòu)框圖、VerilogHDL、AHDL和VHDL完成電路描述,并將其保存為設(shè)計(jì)實(shí)體文件;芯片平面布局連線編輯;功能強(qiáng)大的邏輯綜合工具;完備的電路功能仿真與時(shí)序邏輯仿真工具;定時(shí)/時(shí)序分析與關(guān)鍵路徑延時(shí)分析;可使用SignalTapII邏輯分析工具進(jìn)行嵌入式的邏輯分析;支持軟件源文件的添加和創(chuàng)建,并將它們鏈接起來生成編程文件;使用組合編譯方式可一次完成整體設(shè)計(jì)流程;自動(dòng)定位編譯錯(cuò)誤;高效的期間編程與驗(yàn)證工具;可讀入標(biāo)準(zhǔn)的EDIF網(wǎng)表文件、VHDL網(wǎng)表文件和Verilog網(wǎng)表文件;能生成第三方EDA軟件使用的VHDL網(wǎng)表文件和Verilog網(wǎng)表文件。3、QuartusII軟件設(shè)計(jì)流程打開QuartusII軟件。選擇路徑。注意:工作目錄名不能有中文。添加設(shè)計(jì)文件。選擇FPGA器件。Family選擇Cyclone,240,8。建立原理圖或用VHDL語(yǔ)言描述設(shè)計(jì)電路。對(duì)原理圖或用VHDL語(yǔ)言進(jìn)行編譯,無(wú)誤后進(jìn)行添加信號(hào)。對(duì)上述電路進(jìn)行仿真。進(jìn)行管腳分配。全局編譯。采用JTAG或AS模式進(jìn)行下載測(cè)試。QuartusII軟件運(yùn)行界面4、可編程邏輯器件簡(jiǎn)介
FPGA是英文FieldProgrammableGateArray的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。FPGA采用了邏輯單元陣列LCA(LogicCellArray)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(ConfigurableLogicBlock)、輸出輸入模塊IOB(InputOutputBlock)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA的基本特點(diǎn)主要有:(1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。(2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。(3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。(4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一(5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。出租車計(jì)費(fèi)系統(tǒng)功能簡(jiǎn)介:1.計(jì)費(fèi)標(biāo)準(zhǔn)為按行駛里程收費(fèi),起步費(fèi)為10.00元,并在車7公里后再按1元/公里,當(dāng)計(jì)費(fèi)器計(jì)費(fèi)達(dá)到或超過一定收費(fèi)(如20元)時(shí),再按1.5元/公里的車費(fèi),車停止不計(jì)費(fèi)。2.能預(yù)置起步費(fèi)、每公里收費(fèi)、車行加費(fèi)里程。3.能模擬汽車啟動(dòng)、停止、暫停等狀態(tài)。4.將車費(fèi)、里程動(dòng)態(tài)的顯示出來。EDA設(shè)計(jì)方法及其設(shè)計(jì)過程:1、設(shè)計(jì)規(guī)劃本系統(tǒng)設(shè)計(jì)采用自頂向下的設(shè)計(jì)方案,系統(tǒng)的整體組裝設(shè)計(jì)原理圖如圖所示,它主要由分頻模塊、行駛狀態(tài)模塊、累加模塊、里程計(jì)數(shù)模塊、車費(fèi)計(jì)數(shù)模塊和譯碼顯示模塊六部分組成。各模塊的功能:1)分頻器:將時(shí)鐘信號(hào)進(jìn)行分頻。2)車行狀態(tài)模塊:將汽車的啟動(dòng)、停止、暫停狀態(tài)輸出。3)里程計(jì)數(shù)模塊:當(dāng)來一個(gè)脈沖信號(hào)時(shí),里程值加1。4車費(fèi)計(jì)數(shù)模塊:白天計(jì)費(fèi):其初值為9元,當(dāng)里程超過3公里后才接受計(jì)數(shù)車速控制模塊發(fā)出的脈沖的驅(qū)動(dòng),之后每來一個(gè)脈沖(代表運(yùn)行了1公里)其數(shù)值加1元,當(dāng)車程超過10公里時(shí)每來一個(gè)脈沖其數(shù)值加1元。夜間計(jì)費(fèi):其初值為11元,當(dāng)里程超過3公里后才接受計(jì)數(shù)車速控制模塊發(fā)出的脈沖的驅(qū)動(dòng),之后每來一個(gè)脈沖(代表運(yùn)行了1公里)其數(shù)值加2元,當(dāng)車程超過10公里時(shí)每來一個(gè)脈沖其數(shù)值加3元5)譯碼模塊:實(shí)現(xiàn)將車費(fèi)計(jì)數(shù)模塊和里程計(jì)數(shù)模塊輸出的十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)輸出。車速控制模塊車速控制模塊分頻器里程計(jì)數(shù)模塊車費(fèi)計(jì)數(shù)模塊車行駛狀態(tài)譯碼模塊2、系統(tǒng)的總體設(shè)計(jì)(1)、頂層電路設(shè)計(jì)頂層的VHDL設(shè)計(jì)實(shí)際就是將分頻器模塊、車行狀態(tài)模塊、里程計(jì)數(shù)模塊、車費(fèi)計(jì)數(shù)模塊、數(shù)碼管選擇模塊、譯碼模塊這幾個(gè)模塊連接起來就行。頂層電路圖(2)、仿真波形3、各模塊源程序(1)、分頻模塊①元件符號(hào):②VHDL設(shè)計(jì):LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYPULSEISPORT(CLK0:INSTD_LOGIC;FOUT:OUTSTD_LOGIC);ENDPULSE;ARCHITECTUREONEOFPULSEISBEGINPROCESS(CLK0)VARIABLECNT:STD_LOGIC_VECTOR(2DOWNTO0);VARIABLEFULL:STD_LOGIC;BEGINIFCLK0'EVENTANDCLK0='1'THENIFCNT="100"THENCNT:="000";FULL:='1';ELSECNT:=CNT+1;FULL:='0';ENDIF;ENDIF;FOUT<=FULL;ENDPROCESS;ENDONE;波形仿真:(2)、車行狀態(tài)模塊①元件符號(hào):②VHDL設(shè)計(jì):LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSOUTISPORT(CLK:INSTD_LOGIC;ENABLE:INSTD_LOGIC;STO:INSTD_LOGIC;CLR:INSTD_LOGIC;ST:OUTSTD_LOGIC_VECTOR(1DOWNTO0));ENDSOUT;ARCHITECTUREONEOFSOUTISBEGINPROCESS(CLK,ENABLE,STO,CLR)VARIABLECQI:STD_LOGIC_VECTOR(7DOWNTO0);VARIABLESTATE:STD_LOGIC_VECTOR(1DOWNTO0);BEGINIFCLR='0'THENCQI:=(OTHERS=>'0');ELSIFCLK'EVENTANDCLK='1'THENIFSTO='1'THENSTATE:="00";CQI:=CQI;ELSIFENABLE='1'THENCQI:=CQI+1;IFCQI<=15THENSTATE:="01";ELSIFCQI>15ANDCQI<=50THENSTATE:="10";ELSESTATE:="11";ENDIF;ENDIF;ENDIF;ST<=STATE;ENDPROCESS;ENDONE;波形仿真:(3)、累加模塊①元件符號(hào):②VHDL設(shè)計(jì):libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityccisport(clks,en:instd_logic;kk:outstd_logic);endentitycc;architectureoneofccisbeginprocess(clks,en)variableq1:std_logic_vector(3downto0);variableq2:std_logic_vector(3downto0);variablek:std_logic;beginifclks'eventandclks='1'thenifen='1'thenq1:=q1+1;q2:=q1;ifq2<"0101"thenk:='0';q2:=q2;elseifq2="0101"thenk:='1';q2:="0000";q1:="0000";elsifen='0'thenq1:=q1;endif;endif;endif;endif;kk<=k;endprocess;endone;波形仿真:(4)、里程計(jì)數(shù)模塊①元件符號(hào):②VHDL設(shè)計(jì):libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydistanceisport(clks:instd_logic;clr2:instd_logic;Sf:instd_logic_vector(1downto0);k1:outstd_logic_vector(3downto0);k2:outstd_logic_vector(3downto0));enddistance;architectureoneofdistanceisbeginprocess(clks,clr2,sf)variableq1:std_logic_vector(3downto0);--中間變量的定義variableq2:std_logic_vector(3downto0);beginifclr2='0'thenq1:="0000";q2:="0000";--該語(yǔ)句體現(xiàn)了復(fù)位按鈕的功能elsifclks'eventandclks='1'thencasesfiswhen"00"=>q1:=q1;q2:=q2;--出租車行駛狀態(tài)下的里程計(jì)數(shù)whenothers=>----sf為00時(shí)不進(jìn)行加ifq2<"1001"thenq2:=q2+1;elseq2:="0000";q1:=q1+1;ifq1>"1001"thenq1:="0000";endif;endif;endcase;endif;k2<=q2;k1<=q1;------k2是個(gè)位,k1是十位endprocess;end;波形仿真:、車費(fèi)計(jì)數(shù)模塊①元件符號(hào):②VHDL設(shè)計(jì):LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYCOUNTER1ISPORT(CLK_DIV:INSTD_LOGIC;CLR1:INSTD_LOGIC;K:INSTD_LOGIC;SS:INSTD_LOGIC;SI:INSTD_LOGIC_VECTOR(1DOWNTO0);C2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);C3:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDCOUNTER1;ARCHITECTUREONEOFCOUNTER1ISBEGINPROCESS(CLK_DIV,CLR1,SI,SS)VARIABLEQ2:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLEQ3:STD_LOGIC_VECTOR(3DOWNTO0);BEGINIFSS='0'THENIFCLR1='0'THENQ2:="0000";Q3:="0000";ELSIFCLK_DIV'EVENTANDCLK_DIV='1'THENCASESIISWHEN"00"=>IFK='0'THENQ2:=Q2;Q3:=Q3;ELSEIFK='1'THENIFQ2<"1001"THENQ2:=Q2+1;ELSEQ2:="0000";IFQ3<"1001"THENQ3:=Q3+1;ENDIF;ENDIF;ENDIF;ENDIF;WHEN"01"=>Q2:="1001";Q3:="0000";WHEN"10"=>IFQ2<"1001"THENQ2:=Q2+1;ELSEQ2:="0000";IFQ3<"1001"THENQ3:=Q3+1;ELSEQ3:="0000";ENDIF;ENDIF;WHEN"11"=>IFQ2<"1000"THENQ2:=Q2+2;ELSEIFQ2=8THENIFQ3<"1001"THENQ2:="0000";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ELSEIFQ2=9thenIFQ3<"1001"THENQ2:="0001";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ENDIF;ENDIF;ENDIF;WHENOTHERS=>NULL;ENDCASE;ENDIF;ELSEIFCLR1='0'THENQ2:="0000";Q3:="0000";ELSIFCLK_DIV'EVENTANDCLK_DIV='1'THENCASESIISWHEN"00"=>IFK='0'THENQ2:=Q2;Q3:=Q3;ELSEIFK='1'THENIFQ2<"1001"THENQ2:=Q2+1;ELSEQ2:="0000";IFQ3<"1001"THENQ3:=Q3+1;ENDIF;ENDIF;ENDIF;ENDIF;WHEN"01"=>Q2:="0001";Q3:="0001";WHEN"10"=>IFQ2<"1000"THENQ2:=Q2+2;ELSEIFQ2=8thenIFQ3<"1001"THENQ2:="0000";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ELSEIFQ2=9THENIFQ3<"1001"THENQ2:="0001";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ENDIF;ENDIF;ENDIF;WHEN"11"=>IFQ2<"0111"THENQ2:=Q2+3;ELSEIFQ2=7THENIFQ3<"1001"THENQ2:="0000";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ELSEIFQ2=8THENIFQ3<"1001"THENQ2:="0001";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ELSEIFQ2=9THENIFQ3<"1001"THENQ2:="0010";Q3:=Q3+1;ELSEQ3:="0000";ENDIF;ELSEQ2:="0000";IFQ3<"1001"THENQ3:=Q3+1;ELSEQ3:="0000";ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;WHENOTHERS=>NULL;ENDCASE;ENDIF;ENDIF;C2<=Q2;C3<=Q3;ENDPROCESS;ENDONE;波形仿真:(6)、數(shù)碼管選擇模塊:①元件符號(hào):②VHDL設(shè)計(jì):libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entityseltimeisport(clk,clr:instd_logic;q1:instd_logic_vector(3downto0);q2:instd_logic_vector(3downto0);q3:instd_logic_vector(3downto0);q4:instd_logic_vector(3downto0);sel:outstd_logic_vector(2downto0);dout:outstd_logic_vector(3downto0));end;architectureoneofseltimeissignalcount:std_logic_vector(2downto0);beginsel<=count;process(clk,clr)beginifclr='1'thencount<="000";elsifclk'eventandclk='1'thenifcount>="011"thencount<="000";elsecount<=count+1;endif;endif;casecountiswhen"000"=>dout<=q1;when"001"=>dout<=q2;when"010"=>dout<=q3;when"011"=>dout<=q4;whenothers=>dout<="0000";endcase;endprocess;end;波形仿真:、譯碼模塊:①元件符號(hào):②VHDL設(shè)計(jì):libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityledisport(din:instd_logic_vector(3downto0);dout:outstd_logic_vector(6downto0));endled;architectureoneofledisbeginprocess(din)begincasediniswhen"0000"=>dout<="1111110";when"000
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)環(huán)境損害賠償?shù)馁Y金保障機(jī)制
- 2025年芯類產(chǎn)品項(xiàng)目合作計(jì)劃書
- 老年人健康管理模式
- 地方政府在普惠托育網(wǎng)絡(luò)中的角色與責(zé)任
- 冰雪旅游行業(yè)的投資機(jī)會(huì)與挑戰(zhàn)
- 公寓合伙人合同范本
- 心理教改課題申報(bào)書
- 市科技協(xié)會(huì)課題申報(bào)書
- 商場(chǎng)專柜合同范例
- 企業(yè)新建車間建設(shè)合同范例
- 新質(zhì)生產(chǎn)力:中國(guó)創(chuàng)新發(fā)展的著力點(diǎn)與內(nèi)在邏輯
- 《中醫(yī)常用護(hù)理技術(shù)基礎(chǔ)》課件-八綱辨證施護(hù)
- 心理健康與職業(yè)生涯(中等職業(yè))全套教學(xué)課件
- 市政園林安全生產(chǎn)培訓(xùn)課件
- 黑龍江農(nóng)業(yè)經(jīng)濟(jì)職業(yè)學(xué)院?jiǎn)握小墩Z(yǔ)文》考試復(fù)習(xí)題庫(kù)(含答案)
- 基于BIM的軸流通風(fēng)機(jī)施工工藝優(yōu)化
- 2024年大學(xué)生自我意識(shí)教學(xué)案
- 女生青春期知識(shí)講座(六年級(jí))課件
- 在醫(yī)院新員工入職儀式上的講話
- 消化道出血講課課件
- 化工過程安全管理導(dǎo)則
評(píng)論
0/150
提交評(píng)論