裝配圖出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì),裝配,出租車,計(jì)費(fèi),系統(tǒng),設(shè)計(jì)
桂 林 工 學(xué) 院
本 科 學(xué) 生 畢 業(yè) 設(shè) 計(jì)(論文)任 務(wù) 書
系( 院 ): 電子與計(jì)算機(jī)系
課題名稱: 出租車計(jì)費(fèi)器系統(tǒng)設(shè)計(jì)
專 業(yè): 電子信息工程
班 級(jí): 電子信息2002-4班
學(xué)生姓名: 楊有甜
指導(dǎo)教師: 沈卓君、劉耀明
下發(fā)日期: 2006年2月24日
課題名稱
出租車計(jì)費(fèi)器系統(tǒng)設(shè)計(jì)
學(xué)生姓名
楊有甜
專 業(yè)
電子信息工程
班 級(jí)
電子信息2002-4班
指導(dǎo)教師姓名
沈卓君、劉耀明
主要內(nèi)容(包括設(shè)計(jì)參數(shù))與要求
一、 設(shè)計(jì)任務(wù)及要求
設(shè)計(jì)出租車計(jì)費(fèi)器系統(tǒng)由計(jì)費(fèi)電路、顯示電路以及現(xiàn)場(chǎng)模擬電路組成。本設(shè)計(jì)的主要任務(wù):
1. 實(shí)現(xiàn)計(jì)費(fèi)功能,計(jì)費(fèi)標(biāo)準(zhǔn)為:按行駛里程計(jì)費(fèi),起步價(jià)為7.00元,并在車行3km后按2.20/km計(jì)費(fèi),當(dāng)計(jì)費(fèi)器達(dá)到或者超過20元時(shí),每公里加收50%的車費(fèi),車停止時(shí)不計(jì)費(fèi);
2. 現(xiàn)場(chǎng)模擬功能:能模擬汽車起動(dòng)、停止、以及加速等狀態(tài);
3. 設(shè)計(jì)動(dòng)態(tài)掃描電路,將車費(fèi)和路程顯示出來(lái),各有兩位小數(shù);
4. 使用VHDL進(jìn)行電路系統(tǒng)設(shè)計(jì),利用PLD來(lái)實(shí)現(xiàn)控制器的硬件電路。
工 作 進(jìn) 程 及 工 作 量
2月20日~3月1日:收集和閱讀相關(guān)文獻(xiàn)資料,編寫開題報(bào)告;
3月1日~4月 5日:熟悉開發(fā)工具和開發(fā)環(huán)境,系統(tǒng)分析;
4月6日~5月5日:按照任務(wù)書的要求進(jìn)行系統(tǒng)設(shè)計(jì),并形成可行的設(shè)計(jì)方案;
5月6日~5月15日:系統(tǒng)調(diào)試,修改,完善;
5月16日~5月25日:論文的最后修訂。
應(yīng) 遵 守 的 法 規(guī)
遵守國(guó)家法規(guī)和學(xué)院的有關(guān)規(guī)章制度
畢業(yè)設(shè)計(jì)(論文)完成日期: 2006 年 5 月 31 日
指導(dǎo)教師: (簽字)
教研室主任: (簽字)
系(院)主任: (簽字)
摘? 要
該系統(tǒng)利用VHDL語(yǔ)言、PLD設(shè)計(jì)出租車計(jì)費(fèi)系統(tǒng),以MAX+PLUSⅡ軟件作為開發(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ù)目。
關(guān)鍵詞: 出租車計(jì)費(fèi)器;計(jì)數(shù)器;VHDL語(yǔ)言;MAX+PLUSⅡ;
Rental car fare register system design
Student: YANG Youtian Teacher: LIU Yaoming
Abstract:This system using the VHDL language, PLD design rental car costs the system, develops the platform by the MAX+PLUSⅡsoftware achievement, has designed the rental car fare register system program and has carried on the procedure simulation. Causes its realization to cost as well as the initialization and the simulation automobile starts, stops, function and so on suspension, and dynamic scanning demonstration fare number.
Key words: The rental car costs the system; the counter; the VHDL language; MAX+PLUS II;
目 次
摘要……………………………………………………………………………………Ⅰ
Abstract………………………………………………………………………………Ⅱ
1 引言…………………………………………………………………………………1
1.1 設(shè)計(jì)背景………………………………………………………………………1
1.2 EDA發(fā)展概況…………………………………………………………………2
2 出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)……………………………………………………………7
2.1 出租車計(jì)費(fèi)設(shè)計(jì)………………………………………………………………7
2.2 基本設(shè)計(jì)思想…………………………………………………………………7
3 出租車計(jì)費(fèi)系統(tǒng)的實(shí)現(xiàn)……………………………………………………………8
3.1 系統(tǒng)的總體框圖………………………………………………………………8
3.2 程序流程圖………………………………………………………………………9
3.3 系統(tǒng)各功能模塊的實(shí)現(xiàn)………………………………………………………10
3.3.1 模塊JIFEI的實(shí)現(xiàn)……………………………………………………10
3.3.2 模塊X的實(shí)現(xiàn)………………………………………………………12
3.3.3 模塊XXX1的實(shí)現(xiàn)……………………………………………………15
3.3.4 模塊SE的實(shí)現(xiàn)………………………………………………………16
3.3.5 模塊DI的實(shí)現(xiàn)………………………………………………………17
4 系統(tǒng)仿真……………………………………………………………………………19
4.1 模塊X的仿真結(jié)果…………………………………………………………19
4.2 模塊JIFEI的仿真結(jié)果……………………………………………………19
4.3 模塊XXX1的仿真結(jié)果………………………………………………………19
4.4 模塊SE的結(jié)果驗(yàn)證…………………………………………………………20
4.5 模塊DI的結(jié)果驗(yàn)證…………………………………………………………20
5 結(jié)論…………………………………………………………………………………21
致謝……………………………………………………………………………………22
參考文獻(xiàn)………………………………………………………………………………23
III
1
1 引 言
1.1 設(shè)計(jì)背景
隨著出租車行業(yè)的發(fā)展,對(duì)出租車計(jì)費(fèi)器的要求也越來(lái)越高。二十世紀(jì)后半期,隨著集成電路和計(jì)算機(jī)技術(shù)的飛速發(fā)展,數(shù)字系統(tǒng)也得到了飛速發(fā)展,其實(shí)現(xiàn)方法經(jīng)歷了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的過程。同時(shí)為了提高系統(tǒng)的可靠性與通用性,微處理器和專業(yè)集成電路(ASIC)逐漸取代了通用全硬件LSI電路,而ASIC以其體積小、重量輕、功耗低、速度快、成本低、保密性好而脫穎而出。目前,業(yè)界大量可編程邏輯器件(PLD),尤其是現(xiàn)場(chǎng)可編程邏輯器件(FPLD)被大量地應(yīng)用在ASIC的制作當(dāng)中。在可編程集成電路的開發(fā)過程中,以計(jì)算機(jī)為工作平臺(tái),融合了應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、智能化技術(shù)最新成果的電子設(shè)計(jì)自動(dòng)化(EDA)技術(shù)主要能輔助進(jìn)行三方面的設(shè)計(jì)工作:IC設(shè)計(jì),電子電路設(shè)計(jì)以及PCB設(shè)計(jì)
理想的可編程邏輯開發(fā)系統(tǒng)能符合大量的設(shè)計(jì)要求:它能夠支持不同結(jié)構(gòu)的器件,在多種平臺(tái)運(yùn)行,提供易于使用的界面,并且有廣泛的特征。此外,一個(gè)設(shè)計(jì)系統(tǒng)應(yīng)該能給設(shè)計(jì)師提供充分自由的設(shè)計(jì)輸入方法和設(shè)計(jì)工具選擇。Altered公司開發(fā)的MAX+PLUSⅡ開發(fā)系統(tǒng)能充分滿足可編程邏輯設(shè)計(jì)所有要求。
MAX+PLUSⅡ設(shè)計(jì)環(huán)境所提供的靈活性和高效性是無(wú)可比擬的。其豐富的圖形界面,輔之以完整的、可及時(shí)訪問的在線文檔,使設(shè)計(jì)人員能夠輕松、愉快地掌握和使用MAX+PLUSⅡ軟件。
編程器是一種專門用于對(duì)可編程器(如EPROM,EEPROM,GAL,CPLD,PAL等)進(jìn)行編程的專業(yè)設(shè)備
PLD器件的邏輯功能描述一般分為原理圖描述和硬件描述語(yǔ)言描述,原理圖描述是一種直觀簡(jiǎn)便的方法,它可以將現(xiàn)有的小規(guī)模集成電路實(shí)現(xiàn)的功能直接用PLD器件來(lái)實(shí)現(xiàn),而不必去將現(xiàn)有的電路用語(yǔ)言來(lái)描述,但電路圖描述方法無(wú)法做到簡(jiǎn)練;硬件描述語(yǔ)言描述是可編程器件設(shè)計(jì)的另一種描述方法,語(yǔ)言描述可能精確和簡(jiǎn)練地表示電路的邏輯功能,現(xiàn)在PLD的設(shè)計(jì)過程中廣泛使用。常用的硬件描述語(yǔ)言有ABEL,VHDL語(yǔ)言等,其中ABEL是一種簡(jiǎn)單的硬件描述語(yǔ)言,其支持布爾方程、真值表、狀態(tài)機(jī)等邏輯描述,適用于計(jì)數(shù)器、譯碼器、運(yùn)算電路、比較器等邏輯功能的描述;VHDL語(yǔ)言是一種行為描述語(yǔ)言,其編程結(jié)構(gòu)類似于計(jì)算機(jī)中的C語(yǔ)言,在描述復(fù)雜邏輯設(shè)計(jì)時(shí),非常簡(jiǎn)潔,具有很強(qiáng)的邏輯描述和仿真能力,是未來(lái)硬件設(shè)計(jì)語(yǔ)言的主流。
VHDL就是超高速集成電路硬件描述語(yǔ)言。覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語(yǔ)言。在VHDL語(yǔ)言中,設(shè)計(jì)的原始描述可以非常簡(jiǎn)練,經(jīng)過層層加強(qiáng)后,最終可成為直接付諸生產(chǎn)的電路或版圖參數(shù)描述。具有良好的可讀性,即容易被計(jì)算機(jī)接受,也容易被讀者理解。使用期長(zhǎng),不會(huì)因工藝變化而使描述過時(shí)。因?yàn)閂HDL的硬件描述與工藝無(wú)關(guān),當(dāng)工藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可。支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用。一個(gè)大規(guī)模的設(shè)計(jì)不可能由一個(gè)人獨(dú)立完成,必須由多人共同承擔(dān),VHDL為設(shè)計(jì)的分解和設(shè)計(jì)的再利用提供了有力的支持。
1.2 EDA發(fā)展概況
電子設(shè)計(jì)技術(shù)的核心就是EDA技術(shù),EDA是指以計(jì)算機(jī)為工作臺(tái),融合應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、智能化技術(shù)最新成果而研制成的電子CAD通用軟件包,主要能輔助進(jìn)行三方面的設(shè)計(jì)工作,即IC設(shè)計(jì)、電子電路設(shè)計(jì)和PCB設(shè)計(jì)。EDA技術(shù)已有30年的發(fā)展歷程,大致可分為三個(gè)階段。70年代為計(jì)算機(jī)輔助設(shè)計(jì)(CAD)階段,人們開始用計(jì)算機(jī)輔助進(jìn)行IC版圖編輯、PCB布局布線,取代了手工操作。80年代為計(jì)算機(jī)輔助工程(CAE)階段。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能設(shè)計(jì)和結(jié)構(gòu)設(shè)計(jì),并且通過電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實(shí)現(xiàn)了工程設(shè)計(jì)。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自動(dòng)布局布線,PCB后分析。90年代為電子系統(tǒng)設(shè)計(jì)自動(dòng)化(EDA)階段。
中國(guó)EDA市場(chǎng)已漸趨成熟,不過大部分設(shè)計(jì)工程師面向的是PC主板和小型ASIC領(lǐng)域,僅有小部分(約11%)的設(shè)計(jì)人員開發(fā)復(fù)雜的片上系統(tǒng)器件。為了與臺(tái)灣和美國(guó)的設(shè)計(jì)工程師形成更有力的競(jìng)爭(zhēng),中國(guó)的設(shè)計(jì)隊(duì)伍有必要購(gòu)入一些最新的EDA技術(shù)。
在信息通信領(lǐng)域,要優(yōu)先發(fā)展高速寬帶信息網(wǎng)、深亞微米集成電路、新型元器件、計(jì)算機(jī)及軟件技術(shù)、第三代移動(dòng)通信技術(shù)、信息管理、信息安全技術(shù),積極開拓以數(shù)字技術(shù)、網(wǎng)絡(luò)技術(shù)為基礎(chǔ)的新一代信息產(chǎn)品,發(fā)展新興產(chǎn)業(yè),培育新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)。要大力推進(jìn)制造業(yè)信息化,積極開展計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助工程(CAE)、計(jì)算機(jī)輔助工藝(CAPP)、計(jì)算機(jī)機(jī)輔助制造(CAM)、產(chǎn)品數(shù)據(jù)管理(PDM)、制造資源計(jì)劃(MRPII)及企業(yè)資源管理(ERP)等。有條件的企業(yè)可開展“網(wǎng)絡(luò)制造”,便于合作設(shè)計(jì)、合作制造,參與國(guó)內(nèi)和國(guó)際競(jìng)爭(zhēng)。開展“數(shù)控化”工程和“數(shù)字化”工程。自動(dòng)化儀表的技術(shù)發(fā)展趨勢(shì)的測(cè)試技術(shù)、控制技術(shù)與計(jì)算機(jī)技術(shù)、通信技術(shù)進(jìn)一步融合,形成測(cè)量、控制、通信與計(jì)算機(jī)(M3C)結(jié)構(gòu)。在ASIC和PLD設(shè)計(jì)方面,向超高速、高密度、低功耗、低電壓方向發(fā)展。外設(shè)技術(shù)與EDA工程相結(jié)合的市場(chǎng)前景看好,如組合超大屏幕的相關(guān)連接,多屏幕技術(shù)也有所發(fā)展。
中國(guó)自1995年以來(lái)加速開發(fā)半導(dǎo)體產(chǎn)業(yè),先后建立了幾所設(shè)計(jì)中心,推動(dòng)系列設(shè)計(jì)活動(dòng)以應(yīng)對(duì)亞太地區(qū)其它EDA市場(chǎng)的競(jìng)爭(zhēng)。
在EDA軟件開發(fā)方面,目前主要集中在美國(guó)。但各國(guó)也正在努力開發(fā)相應(yīng)的工具。日本、韓國(guó)都有ASIC設(shè)計(jì)工具,但不對(duì)外開放 。中國(guó)華大集成電路設(shè)計(jì)中心,也提供IC設(shè)計(jì)軟件,但性能不是很強(qiáng)。相信在不久的將來(lái)會(huì)有更多更好的設(shè)計(jì)工具有各地開花并結(jié)果。據(jù)最新統(tǒng)計(jì)顯示,中國(guó)和印度正在成為電子設(shè)計(jì)自動(dòng)化領(lǐng)域發(fā)展最快的兩個(gè)市場(chǎng),年復(fù)合增長(zhǎng)率分別達(dá)到了50%和30%。
EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來(lái)描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計(jì)工具趨于完美的地步。EDA市場(chǎng)日趨成熟,但我國(guó)的研發(fā)水平還很有限,需迎頭趕上。
可編程邏輯器件自70年代以來(lái),經(jīng)歷了PAL、GALGPLD、FPGA幾個(gè)發(fā)展階段,其中CPLD/FPGA高密度可編程邏輯器件,目前集成度已高達(dá)200萬(wàn)門/片,它將各模塊ASC集成度高的優(yōu)點(diǎn)和可編程邏輯器件設(shè)計(jì)生產(chǎn)方便的特點(diǎn)結(jié)合在一起,特別適合于樣品研制或小批量產(chǎn)品開發(fā),使產(chǎn)品能以最快的速度上市,而當(dāng)市場(chǎng)擴(kuò)大時(shí),它可以很容易地轉(zhuǎn)換掩模ASIC實(shí)現(xiàn),因此開發(fā)風(fēng)險(xiǎn)也大為降低。
硬件描述語(yǔ)言(HDL)是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它用軟件編程的方式來(lái)描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門級(jí)描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計(jì)。例如一個(gè)32位的加法器,利用圖形輸入軟件需要輸人500至1000個(gè)門,而利用VHDL語(yǔ)言只需要書寫一行“A=B+C”即可。而且 VHDL語(yǔ)言可讀性強(qiáng),易于修改和發(fā)現(xiàn)錯(cuò)誤。早期的硬件描述語(yǔ)言,如ABEL、HDL、AHDL,由不同的EDA廠商開發(fā),互不兼容,而且不支持多層次設(shè)計(jì),層次間翻譯工作要由人工完成。為了克服以上不足,1985年美國(guó)國(guó)防部正式推出了高速集成電路硬件描述語(yǔ)言VHDL,1987年IEEE采納VHDL為硬件描述語(yǔ)言標(biāo)準(zhǔn)(IEEE STD-1076)。
VHDL是一種全方位的硬件描述語(yǔ)言,包括系統(tǒng)行為級(jí)。寄存器傳輸級(jí)和邏輯門多個(gè)設(shè)計(jì)層次,支持結(jié)構(gòu)、數(shù)據(jù)流和行為三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件俄語(yǔ)言的功能,整個(gè)自頂向下或由下向上的電路設(shè)計(jì)過程都可以用VHDL來(lái)完成。VHDL還具有以下優(yōu)點(diǎn):(1)VHDL的寬范圍描述能力使它成為高層進(jìn)設(shè)計(jì)的核心,將設(shè)計(jì)人員的工作重心提高到了系統(tǒng)功能的實(shí)現(xiàn)與調(diào)試,而花較少的精力于物理實(shí)現(xiàn)。VHDL可以用簡(jiǎn)潔明確的代碼描述來(lái)進(jìn)行復(fù)雜控制邏輯設(shè)計(jì),靈活且方便,而且也便于設(shè)計(jì)結(jié)果的交流、保存和重用。(3)VHDL的設(shè)計(jì)不依賴于特定的器件,方便了工藝的轉(zhuǎn)換。(4)VHDL是一個(gè)標(biāo)準(zhǔn)語(yǔ)言,為眾多的EDA廠商支持,因此移植性好。傳統(tǒng)的硬件電路設(shè)計(jì)方法是采用自下而上的設(shè)計(jì)方法,即根據(jù)系統(tǒng)對(duì)硬件的要求,詳細(xì)編制技術(shù)規(guī)格書,并畫出系統(tǒng)控制流圖;然后根據(jù)技術(shù)規(guī)格書和系統(tǒng)控制流圖,對(duì)系統(tǒng)的功能進(jìn)行細(xì)化,合理地劃分功能模塊,并畫出系統(tǒng)的功能框圖;接著就進(jìn)行各功能模塊的細(xì)化和電路設(shè)計(jì);各功能模塊電路設(shè)計(jì)、調(diào)試完成后,將各功能模塊的硬件電路連接起來(lái)再進(jìn)行系統(tǒng)的調(diào)試,最后完成整個(gè)系統(tǒng)的硬件設(shè)計(jì)。采用傳統(tǒng)方法設(shè)計(jì)數(shù)字系統(tǒng),特別是當(dāng)電路系統(tǒng)非常龐大時(shí),設(shè)計(jì)者必須具備較好的設(shè)計(jì)經(jīng)驗(yàn),而且繁雜多樣的原理圖的閱讀和修改也給設(shè)計(jì)者帶來(lái)諸多的不便。為了提高開發(fā)的效率,增加已有開發(fā)成果的可繼承性以及縮短開發(fā)周期,各ASIC研制和生產(chǎn)廠家相繼開發(fā)了具有自己特色的電路硬件描述語(yǔ)言(Hardware Description Language,簡(jiǎn)稱HDL)。但這些硬件描述語(yǔ)言差異很大,各自只能在自己的特定設(shè)計(jì)環(huán)境中使用,這給設(shè)計(jì)者之間的相互交流帶來(lái)了極大的困難。因此,開發(fā)一種強(qiáng)大的、標(biāo)準(zhǔn)化的硬件描述語(yǔ)言作為可相互交流的設(shè)計(jì)環(huán)境已勢(shì)在必行。于是,美國(guó)于1981年提出了一種新的、標(biāo)準(zhǔn)化的HDL,稱之為VHSIC(Very High Speed Integrated Circuit) Hardware Description Language,簡(jiǎn)稱VHDL。這是一種用形式化方法來(lái)描述數(shù)字電路和設(shè)計(jì)數(shù)字邏輯系統(tǒng)的語(yǔ)言。設(shè)計(jì)者可以利用這種語(yǔ)言來(lái)描述自己的設(shè)計(jì)思想,然后利用電子設(shè)計(jì)自動(dòng)化工具進(jìn)行仿真,再自動(dòng)綜合到門電路,最后用PLD實(shí)現(xiàn)其功能。
覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語(yǔ)言。在VHDL語(yǔ)言中,設(shè)計(jì)的原始描述可以非常簡(jiǎn)練,經(jīng)過層層加強(qiáng)后,最終可成為直接付諸生產(chǎn)的電路或版圖參數(shù)描述。
具有良好的可讀性,即容易被計(jì)算機(jī)接受,也容易被讀者理解。
使用期長(zhǎng),不會(huì)因工藝變化而使描述過時(shí)。因?yàn)閂HDL的硬件描述與工藝無(wú)關(guān),當(dāng)工藝改變時(shí),只需修改相應(yīng)程序中的屬性參數(shù)即可。
支持大規(guī)模設(shè)計(jì)的分解和已有設(shè)計(jì)的再利用。一個(gè)大規(guī)模的設(shè)計(jì)不可能由一個(gè)人獨(dú)立完成,必須由多人共同承擔(dān),VHDL為設(shè)計(jì)的分解和設(shè)計(jì)的再利用提供了有力的支持。
當(dāng)電路系統(tǒng)采用VHDL語(yǔ)言設(shè)計(jì)其硬件時(shí),與傳統(tǒng)的電路設(shè)計(jì)方法相比較,具有如下的特點(diǎn):
即從系統(tǒng)總體要求出發(fā),自上而下地逐步將設(shè)計(jì)的內(nèi)容細(xì)化,最后完成系統(tǒng)硬件的整體設(shè)計(jì)。在設(shè)計(jì)的過程中,對(duì)系統(tǒng)自上而下分成三個(gè)層次進(jìn)行設(shè)計(jì):
第一層次是行為描述。所謂行為描述,實(shí)質(zhì)上就是對(duì)整個(gè)系統(tǒng)的數(shù)學(xué)模型的描述。一般來(lái)說(shuō),對(duì)系統(tǒng)進(jìn)行行為描述的目的是試圖在系統(tǒng)設(shè)計(jì)的初始階段,通過對(duì)系統(tǒng)行為描述的仿真來(lái)發(fā)現(xiàn)設(shè)計(jì)中存在的問題。在行為描述階段,并不真正考慮其實(shí)際的操作和算法用何種方法來(lái)實(shí)現(xiàn),而是考慮系統(tǒng)的結(jié)構(gòu)及其工作的過程是否能到達(dá)系統(tǒng)設(shè)計(jì)的要求。
第二層次是RTL方式描述。這一層次稱為寄存器傳輸描述(又稱數(shù)據(jù)流描述)。如前所述,用行為方式描述的系統(tǒng)結(jié)構(gòu)的程序,其抽象程度高,是很難直接映射到具體邏輯元件結(jié)構(gòu)的。要想得到硬件的具體實(shí)現(xiàn),必須將行為方式描述的VHDL語(yǔ)言程序改寫為RTL方式描述的VHDL語(yǔ)言程序。也就是說(shuō),系統(tǒng)采用RTL方式描述,才能導(dǎo)出系統(tǒng)的邏輯表達(dá)式,才能進(jìn)行邏輯綜合。
第三層次是邏輯綜合。即利用邏輯綜合工具,將RTL方式描述的程序轉(zhuǎn)換成用基本邏輯元件表示的文件(門級(jí)網(wǎng)絡(luò)表)。此時(shí),如果需要,可將邏輯綜合的結(jié)果以邏輯原理圖的方式輸出。此后可對(duì)綜合的結(jié)果在門電路級(jí)上進(jìn)行仿真,并檢查其時(shí)序關(guān)系。
應(yīng)用邏輯綜合工具產(chǎn)生的門網(wǎng)絡(luò)表,將其轉(zhuǎn)換成PLD的編程碼,即可利用PLD實(shí)現(xiàn)硬件電路的設(shè)計(jì)。
由自上而下的設(shè)計(jì)過程可知,從總體行為設(shè)計(jì)開始到最終的邏輯綜合,每一步都要進(jìn)行仿真檢查,這樣有利于盡早發(fā)現(xiàn)設(shè)計(jì)中存在的問題,從而可以大大縮短系統(tǒng)的設(shè)計(jì)周期。
系統(tǒng)可大量采用PLD芯片。
由于目前眾多制造PLD芯片的廠家,其工具軟件均支持VHDL語(yǔ)言的編程。所以利用VHDL語(yǔ)言設(shè)計(jì)數(shù)字系統(tǒng)時(shí),可以根據(jù)硬件電路的設(shè)計(jì)需要,自行利用PLD設(shè)計(jì)自用的ASIC芯片,而無(wú)須受通用元器件的限制。
EDA系統(tǒng)框架結(jié)構(gòu) EDA系統(tǒng)框架結(jié)構(gòu)(FRAMEWORK)是一套配置和使用EDA軟件包的規(guī)范。目前主要的EDA系統(tǒng)都建立了框架結(jié)構(gòu),如 CADENCE公司的Design Framework,Mentor公司的Falcon Framework,而且這些框架結(jié)構(gòu)都遵守國(guó)際CFI組織制定的統(tǒng)一技術(shù)標(biāo)準(zhǔn)??蚣芙Y(jié)構(gòu)能將來(lái)自不同EDA廠商的工具軟件進(jìn)行優(yōu)化組合,集成在一個(gè)易于管理的統(tǒng)一的環(huán)境之下,而且還支持任務(wù)之間、設(shè)計(jì)師之間以及整個(gè)產(chǎn)品開發(fā)過程中的信息傳輸與共享,是并行工程和自頂向下設(shè)計(jì)施的實(shí)現(xiàn)基礎(chǔ)。
EDA技術(shù)的每一次進(jìn)步,都引起了設(shè)計(jì)層次上的一次飛躍,從設(shè)計(jì)層次上分,70年代為物理級(jí)設(shè)計(jì)(CAD),80年代為電路級(jí)設(shè)計(jì)(CAE),90年代進(jìn)入到系統(tǒng)級(jí)設(shè)計(jì)(EDA)。物理級(jí)設(shè)計(jì)主要指IC版圖設(shè)計(jì),一般由半導(dǎo)體廠家完成,對(duì)電子工程師沒有太大的意義,因此本文重點(diǎn)介紹電路級(jí)設(shè)計(jì)和系統(tǒng)級(jí)設(shè)計(jì)。
仿真通過后,根據(jù)原理圖產(chǎn)生的電氣連接網(wǎng)絡(luò)表進(jìn)行PCB板的自動(dòng)布局布線。在制作PCB板之前還可以進(jìn)行PCB后分析,其中包括熱分析、噪聲及竄擾分析、電磁兼容分析、可靠性分析等,并可將分析后的結(jié)果參數(shù)反標(biāo)回電路圖,進(jìn)行第二次仿真,也稱為后仿真。后仿真主要是檢驗(yàn)PCB板在實(shí)際工作環(huán)境中的可行性。
由此可見,電路級(jí)的EDA技術(shù)使電子工程師在實(shí)際的電子系統(tǒng)產(chǎn)生前,就可以全面地了解系統(tǒng)的功能特性和物理特性,從而將開發(fā)風(fēng)險(xiǎn)消滅在設(shè)計(jì)階段,縮短了開發(fā)時(shí)間,降低了開發(fā)成本。
系統(tǒng)級(jí)設(shè)計(jì) 進(jìn)人90年代以來(lái),電子信息類產(chǎn)品的開發(fā)明顯呈現(xiàn)兩個(gè)特點(diǎn):一是產(chǎn)品復(fù)雜程度提高;二是產(chǎn)品上市時(shí)限緊迫。然而,電路級(jí)設(shè)計(jì)本質(zhì)上是基于門級(jí)描述的單層次設(shè)計(jì),設(shè)計(jì)的所有工作(包括設(shè)計(jì)忙人、仿真和分析、設(shè)計(jì)修改等)都是在基本邏輯門這一層次上進(jìn)行的,顯然這種設(shè)計(jì)方法不能適應(yīng)新的形勢(shì),一種高層次的電子設(shè)計(jì)方法,也即系統(tǒng)級(jí)設(shè)計(jì)方法,應(yīng)運(yùn)而生。
高層次設(shè)計(jì)是一種“概念驅(qū)動(dòng)式”設(shè)計(jì),設(shè)計(jì)人員無(wú)須通過原理圖描述電路,而是針對(duì)設(shè)計(jì)目標(biāo)進(jìn)行功能描述。由于擺脫了電路細(xì)節(jié)的束縛,設(shè)計(jì)人員可以把精力集中于創(chuàng)造性的方案與概念的構(gòu)思上,而且這些概念構(gòu)思以高層次描述的形式輸人計(jì)算機(jī),EDA系統(tǒng)就能以規(guī)則驅(qū)動(dòng)的方式自動(dòng)完成整個(gè)設(shè)計(jì)。這樣,新的概念就能迅速有效地成為產(chǎn)品,大大縮短了,產(chǎn)品的研制周期。不僅如此,高層次設(shè)計(jì)只是定義系統(tǒng)的行為特性,可以不涉及實(shí)現(xiàn)工藝,因此還可以在廠家綜合庫(kù)的支持下,利用綜合優(yōu)化工。
2 出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)
2.1 出租車計(jì)費(fèi)設(shè)計(jì)
實(shí)際中出租車的計(jì)費(fèi)工作原理一般分成3個(gè)階段:
(1)車起步開始計(jì)費(fèi)。首先顯示起步價(jià)(本次設(shè)計(jì)起步費(fèi)為7.00元),車在行駛3 km以內(nèi),只收起步價(jià)7.00元。
(2)車行駛超過3 km后,按每公里2.2元計(jì)費(fèi)(在7.00元基礎(chǔ)上每行駛1 km車費(fèi)加2.2元),車費(fèi)依次累加。
(3)行駛路程達(dá)到或超過9 km后(車費(fèi)達(dá)到20元),每公里加收50%的車費(fèi),車費(fèi)變成按每公里3.3元開始計(jì)費(fèi)。車暫時(shí)停止(行駛中遇紅燈或中途暫時(shí)停車)不計(jì)費(fèi),車費(fèi)保持不變。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始
2.2 基本設(shè)計(jì)思想
(1) 根據(jù)出租車計(jì)費(fèi)原理,將出租車計(jì)費(fèi)部分由5個(gè)計(jì)數(shù)器來(lái)完成分別為counterA,counterB,counterC,counterD,counterE。①計(jì)數(shù)器A完成車費(fèi)百位。②計(jì)數(shù)器B完成車費(fèi)十位和個(gè)位。③計(jì)數(shù)器C完成車費(fèi)角和分。④計(jì)數(shù)器D完成計(jì)數(shù)到30(完成車費(fèi)的起步價(jià))。⑤計(jì)數(shù)器E完成模擬實(shí)現(xiàn)車行駛100 m的功能。
(2)行駛過程中車費(fèi)附加50%的功能:由比較器實(shí)現(xiàn)。
(3)車費(fèi)的顯示:由動(dòng)態(tài)掃描電路來(lái)完成。用專用模塊來(lái)實(shí)現(xiàn),完成數(shù)據(jù)的輸入即動(dòng)態(tài)數(shù)據(jù)的顯示。
(4)通過分析可以設(shè)計(jì)出系統(tǒng)的頂層框圖如圖2.1所示:
圖2.1 系統(tǒng)的頂層框圖
3 出租車計(jì)費(fèi)系統(tǒng)的實(shí)現(xiàn)
3.1 系統(tǒng)的總體框圖
圖3.1 系統(tǒng)總體框圖
3.2 程序流程圖
車開始啟動(dòng)
里程不計(jì)數(shù)
里程計(jì)數(shù)
里程顯示
計(jì)費(fèi)器計(jì)數(shù)
車費(fèi)顯示
車跑完成一次后
車費(fèi)、里程清零
YES
YES
YES
NO
NO
圖3.2程序流程圖
3.3 系統(tǒng)各功能模塊的實(shí)現(xiàn)
3.3.1 模塊JIFEI的實(shí)現(xiàn)
圖3.3 模塊JIFEI
模塊JIFEI見圖3.2。輸入端口START、STOP、PAUSE、JS分別為汽車起動(dòng)、停止、暫停、加速按鍵。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity jifei is
port (clk,start,stop,pause,js:in std_logic;
chefei,luc:out integer range 0 to 8000);
end jifei;
architecture rtl of jifei is
begin
process(clk,start,stop,pause,js)
variable a,b:std_logic;
variable aa:integer range 0 to 100;
variable chf,lc:integer range 0 to 8000;
variable num:integer range 0 to 9;
begin
if(clk'event and clk='1')then
if(stop='0')then
chf:=0;
num:=0;
b:='1';
aa:=0;
lc:=0;
elsif(start='0')then
b:='0';
chf:=700;
lc:=0;
elsif(start='1' and js='1'and pause='1')then
if(b='0')then
num:=num+1;
end if;
if(num=9)then
lc:=lc+5;
num:=0;
aa:=aa+5;
end if;
elsif(start='1'and js='0'and pause='1')then
lc:=lc+1;
aa:=aa+1;
end if;
if(aa>=100)then
a:='1';
aa:=0;
else
a:='0';
end if;
if(lc<300)then
null;
elsif(chf<2000 and a='1')then
chf:=chf+220;
elsif(chf>=2000 and a='1')then
chf:=chf+330;
end if;
end if;
chefei<=chf;
luc<=lc;
end process;
end rtl;
3.3.2 模塊X的實(shí)現(xiàn)
模塊X見圖3.3。該模塊把車費(fèi)和路程轉(zhuǎn)化為4位十進(jìn)制數(shù),daclk的頻率要比clk快得多
圖3.4 模塊X
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity x is
port(daclk:in std_logic;
ascore,bscore:in integer range 0 to 8000;
age,ashi,abai,aqian,bge,bshi,bbai,dqian:out std_logic_vector(3 downto 0));
end x ;
architecture rtl of x is
begin
process(daclk,ascore)
variable comb1:integer range 0 to 8000;
variable comb1a,comb1b,comb1c,comb1d:std_logic_vector(3 downto 0);
begin
if(daclk'event and daclk='1')then
if(comb1
d<=a1;
dp<=’0’;
when”001”=>d<=a2;
dp<=’0’;
when”010”=>d<=a3;
dp<=’1’;
when”011”=>d<=a4;
dp<=’0’;
when”100”=>d<=b1;
dp<=’0’;
when”101”=>d<=b2;
dp<=’0’;
when”110”=>d<=b3;
dp<=’1’;
when”111”=>d<=b4;
dp<=’0’;
when others=>null;
end case;
end process;
end rtl;
3.3.4 模塊SE的實(shí)現(xiàn)
模塊SE見圖3.6
圖3.6 模塊SE
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity se is
port(clk:in std_logic;
a:out std_logic_vector(2 down to 0));
end se;
architecture rtl of se is
begin
process(clk)
variable b:std_logic_bector(2 downto 0);
begin
if(clk’event and clk=’1’)then
if(b=”111”)then
b:=”000”;
else
b:=b+1;
end if;
end if;
a<=b;
end process;
end rtl;
3.3.5 模塊DI的實(shí)現(xiàn)
模塊DI見圖3.7
圖3.7 模塊DE
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity di is
port(d:in std_logic_vector(3 downto 0);
q:out std_logic_vector(6 downto 0));
end di;
architecture rtl of di is
begin
process(d)
begin
case d is
when”0000”=>q<=”0111111”;
when”0001”=>q<=”0000110”;
when”0010”=>q<=”1011011”;
when”0011”=>q<=”1001111”;
when”0100”=>q<=”1100110”;
when”0101”=>q<=”1101101”;
when”0110”=>q<=”1111101”;
when”0111”=>q<=”0100111”;
when”1000”=>q<=”1101111”;
when others=>q<=”1101111”
end case;
end process;
end rtl;
4 系統(tǒng)仿真
4.1 模塊X的仿真結(jié)果
將車費(fèi)和路程轉(zhuǎn)換成4位的十進(jìn)制如圖4.1所示:
輸入端為:Daclk, ascore, bscore
輸出端為:Age, ashi, aqian, abai, bge, bshi, bqian, bbai;
圖4.1 模塊X仿真波形圖
4.2 模塊JIFEI的仿真結(jié)果
該模塊是模擬汽車的啟動(dòng)、停止、暫停、加速按鍵,如圖4.2所示:
輸入端口為:stop, start, pause, js;
輸出端口為:clk, b;
圖4.2 模塊JIFEI仿真波形圖
4.3 模塊XXX1的仿真結(jié)果
該模塊是將車費(fèi)和路程顯示出來(lái)如圖4.3所示
輸入端為:c, a1,a2,a3,a4,b1,b2,b3,b4;
輸出端為:dp,d;
圖4.3 模塊XXX1仿真波形圖
4.4模塊SE的結(jié)果驗(yàn)證
模塊SE仿真如圖4.4所示:
輸入端為:clk
輸出端為:a
圖4.4 模塊SE仿真波形圖
4.5模塊DI的結(jié)果驗(yàn)證
模塊DI仿真的結(jié)果如圖4.5所示
輸入端為:d
輸出端為:q
圖4.5 模塊DI仿真波形圖
5 結(jié)論
出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng)、停止、暫停等功能,并設(shè)計(jì)動(dòng)態(tài)掃描電路顯示車費(fèi)數(shù)目,由動(dòng)態(tài)掃描電路來(lái)完成。車暫時(shí)停止不計(jì)費(fèi),車費(fèi)保持不變。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始。出租車計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已全部完成,能按預(yù)期的效果進(jìn)行模擬汽車啟動(dòng)、停止、暫停等功能,并設(shè)計(jì)動(dòng)態(tài)掃描電路顯示車費(fèi)數(shù)目,由動(dòng)態(tài)掃描電路來(lái)完成。車暫時(shí)停止不計(jì)費(fèi),車費(fèi)保持不變。若停止則車費(fèi)清零,等待下一次計(jì)費(fèi)的開始。在出租車計(jì)費(fèi)系統(tǒng)的5個(gè)模塊中 ,重點(diǎn)在于JIFEI模塊,X模塊、XXX1模塊。JIFEI模塊主要有汽車的啟動(dòng)、停止、暫停、加速按鍵;X模塊主要是把車費(fèi)和路程轉(zhuǎn)化為4位十進(jìn)制;X模塊是將車費(fèi)和路程顯示出來(lái)。各模塊完成后,在將它們組合成完整的出租車系統(tǒng),在設(shè)計(jì)過程中還需要改進(jìn)的是控制系統(tǒng)的糾錯(cuò)功能。出租車計(jì)費(fèi)系統(tǒng)的設(shè)計(jì)中體現(xiàn)了VHDL覆蓋面廣,描述能力強(qiáng),是一個(gè)多層次的硬件描述語(yǔ)言及PLD器件速度快,使用方便,便于修改等特點(diǎn),本設(shè)計(jì)在實(shí)用方面具有一定的價(jià)值。
致 謝
本文是在指導(dǎo)老師劉耀明老師的悉心指導(dǎo)下完成的,劉老師在學(xué)術(shù)上嚴(yán)格要求,在生活上給予關(guān)懷,劉老師的教誨和鼓勵(lì),及在學(xué)術(shù)上一絲不茍的精神,作者受益匪淺,在此向劉老師表示衷心的感謝和敬意!
至此,畢業(yè)設(shè)計(jì)就快接近尾聲了,在這里我再一次誠(chéng)摯的感謝劉老師和在大學(xué)期間對(duì)我諄諄教導(dǎo)的老師和領(lǐng)導(dǎo)們。
最后,向在設(shè)計(jì)中給予我關(guān)心、支持和幫助的同學(xué)表示謝意!
參考文獻(xiàn)
[1] 候伯亨,顧新.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì).修訂版電子工程師必備知識(shí)[M].西安:西安電子科技大學(xué)出版社,1999
[2] 張昌凡,等.可編程邏輯器件及VHDL設(shè)計(jì)技術(shù)[M].廣州:華南理工大學(xué)出版社,2001
[3] 曾繁泰,陳美金.VHDL程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001
[4] 潘松,等.VHDL實(shí)用教程[M].成都:電子科技大學(xué)出版社,2000
[5] 高健, 沈慶宏, 高敦堂. ITS 中車輛檢測(cè)器設(shè)備的研究與實(shí)現(xiàn)[J ].
交通與計(jì)算機(jī), 2002. 20 (5):15218
[6] 王小平, 王彥芳, 等. 基于EDA 技術(shù)的出租車費(fèi)計(jì)價(jià)單片系統(tǒng)
[7] 盧慶利. 將VHDL 硬件描述語(yǔ)言引入數(shù)字電路教學(xué)的探索[J ]. 實(shí)
驗(yàn)室研究與探索, 2000, 19 (5) : 67270
[8] 劉艷. EDA 技術(shù)在數(shù)字系統(tǒng)電路設(shè)計(jì)實(shí)驗(yàn)中的應(yīng)用[J ]. 實(shí)驗(yàn)室研
究與探索, 2002, 21 (3) : 63264
[9] 潭會(huì)生,張昌凡. EDA技術(shù)及應(yīng)用.西安:電子科技大學(xué)出版社.2001
[10] 徐穎.Protel 99 SE EDA技術(shù)及應(yīng)用.西安:機(jī)械工業(yè)出版社.2005?
23