Sopc課程設(shè)計(jì) 數(shù)字鐘_第1頁(yè)
Sopc課程設(shè)計(jì) 數(shù)字鐘_第2頁(yè)
Sopc課程設(shè)計(jì) 數(shù)字鐘_第3頁(yè)
Sopc課程設(shè)計(jì) 數(shù)字鐘_第4頁(yè)
Sopc課程設(shè)計(jì) 數(shù)字鐘_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、摘 要 時(shí)鐘, 自從它發(fā)明的那天起,就成為人類(lèi)的朋友,但隨著時(shí)間的推移,人們對(duì)它的功能又提出了新的要求,怎樣讓時(shí)鐘更好的為人民服務(wù),怎樣讓我們的老朋友煥發(fā)青春呢?這就要求人們不斷設(shè)計(jì)出新型時(shí)鐘。本人設(shè)計(jì)的產(chǎn)品為24小時(shí)制的多功能數(shù)字鐘,具有時(shí)鐘時(shí)間設(shè)置、鬧鐘時(shí)間設(shè)置、鬧鐘開(kāi)、鬧鐘關(guān)等功能,數(shù)字顯示小時(shí)、分鐘、秒,鬧鐘就緒燈,蜂鳴器。 本論文針對(duì)上述情況,在設(shè)計(jì)中采用EDA自動(dòng)化設(shè)計(jì)技術(shù)。以計(jì)算機(jī)為基本平臺(tái),以硬件描述語(yǔ)言為系統(tǒng)邏輯描述表達(dá)方式,以EDA工具作為開(kāi)發(fā)環(huán)境,以大規(guī)模可編程邏輯器件為設(shè)計(jì)載體,以專(zhuān)用集成電路ASIC為目標(biāo)器件,以電子系統(tǒng)設(shè)計(jì)為應(yīng)用方向的電子產(chǎn)品自動(dòng)化設(shè)計(jì)過(guò)程。這樣的設(shè)

2、計(jì)方法,大大的縮短了設(shè)計(jì)的周期,降低了設(shè)計(jì)成本。設(shè)計(jì)出來(lái)的數(shù)字鐘具有功能多、體積小、功耗低的特點(diǎn)。在論文中主要涉及的內(nèi)容有: 1、 介紹Verilog HDL語(yǔ)言。2、 介紹在QuartusII軟件上對(duì)數(shù)字鐘的設(shè)計(jì)。3、 介紹系統(tǒng)仿真結(jié)果和硬件驗(yàn)證與分析。4、 對(duì)整個(gè)設(shè)計(jì)系統(tǒng)進(jìn)行總結(jié)。 關(guān)鍵詞: 電子設(shè)計(jì)自動(dòng)化 Verilog HDL 可編程邏輯器件目 錄摘 要I第1章 緒 論3第2章 Verilog HDL語(yǔ)言521 Verilog HDL語(yǔ)言簡(jiǎn)介522 Verilog HDL主要特點(diǎn)523 Verilog HDL語(yǔ)言開(kāi)發(fā)軟件-Quartus6第3章 數(shù)字鐘Verilog HDL的設(shè)計(jì)731

3、設(shè)計(jì)方案及工作原理73.1.1數(shù)字鐘設(shè)計(jì)原理73.1.2 數(shù)字鐘功能732 數(shù)字鐘鐘控定時(shí)器的基本組成83.2.1 D觸發(fā)器的設(shè)計(jì)83.2.2數(shù)據(jù)選擇器的設(shè)計(jì)93.2.3 計(jì)數(shù)器的設(shè)計(jì)103.2.4 數(shù)據(jù)分配器123.2.5譯碼器133.2.6分頻器153.2.7鬧時(shí)器163.2.8 報(bào)時(shí)器1733 數(shù)字鐘原理圖19第4章 軟件調(diào)試20結(jié)論21參考文獻(xiàn)22附錄23第1章 緒 論 中國(guó)是世界上最早發(fā)明計(jì)時(shí)儀器的國(guó)家。有史料記載,漢武帝太初年間(紀(jì)元前104-101年)由落下閎創(chuàng)造了我國(guó)最早的表示天體運(yùn)行的儀器渾天儀。東漢時(shí)期(公元130年)張衡創(chuàng)造了水運(yùn)渾天儀,為世界上最早的以水為動(dòng)力的觀測(cè)天象

4、的機(jī)械計(jì)時(shí)器,是世界機(jī)械天文鐘的先驅(qū)。盛唐時(shí)代,公元725年張遂(又稱(chēng)一行)和梁令瓚等人創(chuàng)制了水運(yùn)渾天銅儀,它不但能演示天球和日、月的運(yùn)動(dòng),而且立了兩個(gè)木人,按時(shí)擊鼓,按時(shí)打鐘。第一個(gè)機(jī)械鐘的靈魂擒縱器用于計(jì)時(shí)器,這是中國(guó)科學(xué)家對(duì)人類(lèi)計(jì)時(shí)科學(xué)的偉大貢獻(xiàn)。它比十四世紀(jì)歐洲出現(xiàn)的機(jī)械鐘先行了六個(gè)世紀(jì)。第一只石英鐘出現(xiàn)在二十世紀(jì)二十年代,從三十年代開(kāi)始得到了推廣,從六十年代開(kāi)始,由于應(yīng)用半導(dǎo)體技術(shù),成功地解決了制造日用石英鐘問(wèn)題,石英電子技術(shù)在計(jì)時(shí)領(lǐng)域得到了廣泛的應(yīng)用。并取代機(jī)械鐘做了更精確的時(shí)間標(biāo)準(zhǔn)。早在1880年,法國(guó)人皮埃爾居里和保羅雅克居里就發(fā)現(xiàn)了石英晶體有壓電的特性,這是制造鐘表“心臟”的

5、良好材料。科學(xué)家以石英晶體制成的振蕩計(jì)時(shí)器和電子鐘組合制成了石英鐘。經(jīng)過(guò)測(cè)試,一只高精度的石英鐘表,每年的誤差僅為3-5秒。1942年,著名的英國(guó)格林尼治天文臺(tái)也開(kāi)始采用了石英鐘作為計(jì)時(shí)工具。在許多場(chǎng)合,它還經(jīng)常被列為頻率的基本標(biāo)準(zhǔn),用于日常測(cè)量與檢測(cè)。大約在 1970 年前后,石英鐘表開(kāi)始進(jìn)入市場(chǎng),風(fēng)靡全球。隨著科學(xué)的進(jìn)步,精密的電子元件不斷涌現(xiàn),石英鐘表也開(kāi)始變得小巧精致,它既是實(shí)用品,也是裝飾品。它為人們的生活提供方便,更為人們的生活增添了新的色彩。 在現(xiàn)行情況下根據(jù)簡(jiǎn)單實(shí)用強(qiáng)的、走時(shí)準(zhǔn)確進(jìn)行設(shè)計(jì)。而實(shí)驗(yàn)證明,鐘表的振蕩部分采用石英晶體作為時(shí)基信號(hào)源時(shí),走時(shí)更精確、調(diào)整更方便。鐘是一種計(jì)

6、時(shí)的器具,它的出現(xiàn)開(kāi)拓了時(shí)間計(jì)量的新里程。提起時(shí)鐘大家都很熟悉,它是給我們指明時(shí)間的一種計(jì)時(shí)器,并且我們每天都要用到它。二十世紀(jì)八十年代中國(guó)的鐘表業(yè)經(jīng)歷了一場(chǎng)翻天覆地的大轉(zhuǎn)折。其表現(xiàn)在三個(gè)方面:(1)從生產(chǎn)機(jī)械表轉(zhuǎn)為石英電子表;(2)曾占據(jù)中國(guó)消費(fèi)市場(chǎng)四十多年的大型國(guó)有企業(yè)突然被剛剛冒起的“組業(yè)”所取代,鐘表生產(chǎn)中心轉(zhuǎn)向中國(guó)南方沿海一帶; 這場(chǎng)轉(zhuǎn)折以迅雷不及掩耳的速度,沖擊著傳統(tǒng)的中國(guó)鐘表工業(yè)。中國(guó)的鐘表業(yè)從技術(shù)簡(jiǎn)單、零件少的石英鐘機(jī)芯制造入手。最初石英鐘機(jī)芯全靠從日本、德國(guó)進(jìn)口,1989年開(kāi)始完全自己生產(chǎn),包括模具的制造加工。近十余年,逐漸提高機(jī)芯質(zhì)量的穩(wěn)定性,同時(shí)轉(zhuǎn)向?qū)κ直頇C(jī)芯研制與開(kāi)發(fā)。

7、目前石英鐘表機(jī)芯生產(chǎn)主要在福建省福州、廣東東莞、番禺;機(jī)械鐘表機(jī)芯在上海、山東等地?,F(xiàn)在我國(guó)的電子業(yè)發(fā)展非??焖?,電子業(yè)的發(fā)展有利于鐘表業(yè)的發(fā)展。在中國(guó)鐘表發(fā)展史上,國(guó)產(chǎn)機(jī)芯研制的失敗已經(jīng)成為過(guò)去,“組裝業(yè)”作為新興鐘表工業(yè)的起步階段也已成為過(guò)去。一支新的充滿智慧的鐘表精英在成長(zhǎng)。我們相信在科技高速發(fā)展的今天,鐘表業(yè)運(yùn)用當(dāng)今材料工業(yè)、電子工業(yè)和其他領(lǐng)域的最新技術(shù),一定會(huì)生產(chǎn)出代表中國(guó)科學(xué)水平的產(chǎn)品。我們希望鐘表業(yè)的精英們?cè)谔岣咧圃旒夹g(shù)水平中不斷創(chuàng)新,培育出擁有自主知識(shí)產(chǎn)權(quán)的品牌。這正是中國(guó)鐘表業(yè)發(fā)展的希望。數(shù)字鐘被廣泛用于個(gè)人家庭,車(chē)站, 碼頭、辦公室等公共場(chǎng)所,成為人們?nèi)粘I钪械谋匦杵?。?/p>

8、于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,運(yùn)用超過(guò)老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來(lái)了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開(kāi)關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。 第2章 Verilog HDL語(yǔ)言21 Verilog HDL語(yǔ)言簡(jiǎn)介Verilog VHDL(簡(jiǎn)稱(chēng)Verilog)是一種應(yīng)用廣泛的硬件描述語(yǔ)言,是以文本形式來(lái)描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語(yǔ)言,可用于從算法級(jí)、門(mén)

9、級(jí)到開(kāi)關(guān)級(jí)的多種抽象層次的數(shù)字系統(tǒng)設(shè)計(jì)。它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。Verilog HDL的產(chǎn)生和應(yīng)用可追溯到20世界80年代,1984年GDA(Gateway Design Automation)公司陸續(xù)開(kāi)發(fā)了Verilog HDL及其仿真器,1989年Cadence收購(gòu)了該公司,1990年Cadence公開(kāi)發(fā)表了Verilog HDL,1995年成為IEEE標(biāo)準(zhǔn),即IEEE Std.1364-1995或 Verilog HDL 1364-1995。22 Verilog HDL主要特點(diǎn)1) 既能進(jìn)行面向綜合的電路設(shè)計(jì),又可用于電路的模擬仿真。2)

10、 能夠在多個(gè)層次上對(duì)所設(shè)計(jì)的系統(tǒng)加以描述,從開(kāi)關(guān)級(jí)、門(mén)級(jí)、寄存器傳輸級(jí)(RTL)到行為級(jí)等,都可以勝任;設(shè)計(jì)的規(guī)模是任意的,語(yǔ)言不對(duì)設(shè)計(jì)的規(guī)模施加任何限制。3) 靈活多樣的描述風(fēng)格,可進(jìn)行行為描述,也可時(shí)行結(jié)構(gòu)描述或數(shù)據(jù)流描述;支持混合建模,在一個(gè)設(shè)計(jì)中各個(gè)模塊可以在不同的設(shè)計(jì)層次上建模和描述。4) Verilog HDL的行為描述語(yǔ)句,如條件語(yǔ)句、賦值語(yǔ)句和循環(huán)語(yǔ)句等,類(lèi)似于軟件高級(jí)語(yǔ)言,便于學(xué)習(xí)和使用。5) 內(nèi)置各種基本邏輯門(mén),如and、or和nand等,可方便地進(jìn)行門(mén)級(jí)結(jié)構(gòu)描述;內(nèi)置各種開(kāi)關(guān)級(jí)元件,如pmos、nmos和cmos等,可進(jìn)行開(kāi)關(guān)級(jí)的建模。6) 用戶定義原語(yǔ)(UDP)創(chuàng)建的靈

11、活性。用戶定義的原語(yǔ)既可以是組合邏輯;可通過(guò)編程語(yǔ)言接口(PLI)機(jī)制進(jìn)一步擴(kuò)展Verilog HDL語(yǔ)言的描述能力。PLI是允許外部函數(shù)訪問(wèn)Verilog HDL模塊內(nèi)信息,允許設(shè)計(jì)者與模擬器交互的例程集合。23 Verilog HDL語(yǔ)言開(kāi)發(fā)軟件-QuartusVerilog HDL是一種硬件描述語(yǔ)言(HDL:Hardware Discription Language),常用的Verilog HDL語(yǔ)言開(kāi)發(fā)軟件有Altera公司的MAX+PLUS II,Quartus II和Xilinx公司的Foundation ISE。本文主要是利用軟件Quartus II的文本輸入設(shè)計(jì)方式來(lái)進(jìn)行設(shè)計(jì)的

12、。Quartus II是Altera公司推出的新一代開(kāi)發(fā)軟件,適合于大規(guī)模邏輯電路設(shè)計(jì)。Quartus II軟件的設(shè)計(jì)流程概括為設(shè)計(jì)輸入、設(shè)計(jì)編譯、設(shè)計(jì)仿真和設(shè)計(jì)下載等過(guò)程。Quartus II軟件支持多種編輯輸入法,包括圖形編輯輸入法、VHDL、Verilog HDL的文本輸入法、符合編輯輸入法,以及內(nèi)存編輯輸入法。第3章 數(shù)字鐘Verilog HDL的設(shè)計(jì)31設(shè)計(jì)方案及工作原理 3.1.1數(shù)字鐘設(shè)計(jì)原理 數(shù)字鐘的示意如下圖所示。它由石英晶體振蕩器、分頻器、計(jì)數(shù)器、譯碼器顯示器和校時(shí)電路組成。振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號(hào),作為數(shù)字鐘的時(shí)間基準(zhǔn),然后經(jīng)過(guò)分頻器輸出標(biāo)準(zhǔn)秒脈沖。秒計(jì)數(shù)器滿60后向

13、分計(jì)數(shù)器進(jìn)位,分計(jì)數(shù)器滿60后向小時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按照“24翻1”規(guī)律計(jì)數(shù)。計(jì)數(shù)器的輸出分別經(jīng)譯碼器送顯示器顯示。計(jì)時(shí)出現(xiàn)誤差時(shí),可以用校時(shí)電路校時(shí)、校分。產(chǎn)生鬧鈴和報(bào)時(shí)音校時(shí)時(shí)、分、秒計(jì)時(shí)時(shí)間顯示數(shù)字鐘示意圖如上圖所示312 數(shù)字鐘功能1) 具有正確的時(shí)、分、秒計(jì)時(shí)功能。2) 計(jì)時(shí)結(jié)果要用數(shù)碼管分別顯示進(jìn)、分、秒的十位和個(gè)位。3) 有校時(shí)功能。當(dāng)S鍵按下時(shí),分計(jì)數(shù)器以秒脈沖的速度遞增,并按60min循環(huán),即計(jì)數(shù)到期59min后再回到00。當(dāng)工A鍵按下時(shí),時(shí)計(jì)數(shù)器以秒脈沖的速度遞增,并按24h循環(huán),即計(jì)數(shù)到23h后再回00。4) 利用揚(yáng)聲器整點(diǎn)報(bào)時(shí)。當(dāng)計(jì)時(shí)到達(dá)59分59秒時(shí)開(kāi)始報(bào)時(shí),在

14、59分50秒、52秒、54秒、56秒、58秒時(shí)鳴叫,鳴叫聲頻為500hz;到達(dá)59分60秒時(shí)為最后一聲整點(diǎn)報(bào)時(shí),頻率為1khz。32 數(shù)字鐘鐘控定時(shí)器的基本組成 數(shù)字鐘鐘控定時(shí)器由:計(jì)數(shù)器、D觸發(fā)器、數(shù)據(jù)選擇器、數(shù)據(jù)分配器、譯碼器、報(bào)時(shí)器、鬧時(shí)器組、分頻器和一個(gè)或非門(mén)這九大模塊構(gòu)成。計(jì)數(shù)器主要分為24進(jìn)制計(jì)數(shù)器和60進(jìn)制計(jì)數(shù)器,24進(jìn)制計(jì)數(shù)器對(duì)數(shù)字鐘的小時(shí)位計(jì)行計(jì)數(shù),60進(jìn)制對(duì)數(shù)字鐘的分和秒進(jìn)行計(jì)數(shù)。D觸發(fā)器主要是用在對(duì)數(shù)字進(jìn)行校準(zhǔn)時(shí)的按鍵消抖作用,以免在校時(shí)的時(shí)候產(chǎn)生抖動(dòng)信號(hào)。數(shù)據(jù)分配器的作用是在動(dòng)態(tài)譯碼時(shí)選擇輸出數(shù)據(jù)。譯碼器對(duì)輸出信號(hào)進(jìn)行譯碼在數(shù)碼管上顯示出來(lái),讓大家數(shù)字鐘的表示直觀。報(bào)時(shí)

15、電路是使時(shí)鐘在整點(diǎn)有報(bào)時(shí)功能而設(shè)計(jì)的。鬧時(shí)器是對(duì)時(shí)鐘進(jìn)行比較產(chǎn)生鬧時(shí)電信號(hào)的電路。3.2.1 D觸發(fā)器的設(shè)計(jì)在本設(shè)計(jì)中運(yùn)用到了3個(gè)D觸發(fā)器,它主要是用在對(duì)數(shù)字進(jìn)行校準(zhǔn)時(shí)的按鍵消抖作用,以免在校時(shí)的時(shí)候產(chǎn)生抖動(dòng)信號(hào)。在電路中用到了D觸發(fā)器74LS74,74LS74的管腳圖如圖3-1。D2Q5Q6CLK341PRECLRA74LS74圖3-1 74LS74管腳圖觸發(fā)器,它是由門(mén)電路構(gòu)成的邏輯電路,它的輸出具有兩個(gè)穩(wěn)定的物理狀態(tài)(高電平和低電平),所以它能記憶一位二進(jìn)制代碼。觸發(fā)器是存放在二進(jìn)制信息的最基本的單元。按其功能可為基本RS觸發(fā)器觸、JK觸發(fā)器、D觸發(fā)器和T觸發(fā)器。這幾種觸發(fā)器都有集成電路

16、產(chǎn)品。其中應(yīng)用最廣泛的當(dāng)數(shù)JK觸發(fā)器和D觸發(fā)器。不過(guò),深刻理解RS觸發(fā)器對(duì)全面掌握觸發(fā)器的工作方式或動(dòng)作特點(diǎn)是至關(guān)重要的。事實(shí)上,JK觸發(fā)器和D觸發(fā)器是RS觸發(fā)器的改進(jìn)型,其中JK觸發(fā)器保留了兩個(gè)數(shù)據(jù)輸入端,而D觸發(fā)器只保留了一個(gè)數(shù)據(jù)輸入端。D觸發(fā)器有邊沿D觸發(fā)器和高電平D觸發(fā)器。74LS74為一個(gè)電平D觸發(fā)器。3.2.2數(shù)據(jù)選擇器的設(shè)計(jì) 在多路數(shù)據(jù)傳送過(guò)程中,能夠根據(jù)需要將其中任意一路選出來(lái)的電路,叫做數(shù)據(jù)選擇器,也稱(chēng)多路選擇器或多路開(kāi)關(guān)。數(shù)據(jù)選擇器(MUX)的邏輯功能是在地址選擇信號(hào)的控制下,從多路數(shù)據(jù)中選擇一路數(shù)據(jù)作為輸出信號(hào)。通過(guò)QuartusII軟件進(jìn)行編譯后,仿真結(jié)果如圖3-2所示

17、,圖3-2 2選一數(shù)據(jù)選擇器仿真結(jié)果打包后成元器件如圖3-3所示;圖3-3 2選一數(shù)據(jù)選擇器3.2.3 計(jì)數(shù)器的設(shè)計(jì)計(jì)數(shù)器是一種計(jì)算輸入脈沖的時(shí)序邏輯網(wǎng)絡(luò),被計(jì)數(shù)的輸入信號(hào)就是時(shí)序網(wǎng)絡(luò)的時(shí)鐘脈沖,它不僅可以計(jì)數(shù)而且還可以用來(lái)完成其他特定的邏輯功能,如測(cè)量、定時(shí)控制、數(shù)字運(yùn)算等等。數(shù)字鐘的計(jì)數(shù)電路是用兩個(gè)六十進(jìn)制計(jì)數(shù)電路和“24進(jìn)制”計(jì)數(shù)電路實(shí)現(xiàn)的。數(shù)字鐘的計(jì)數(shù)電路的設(shè)計(jì)可以用反饋清零法。當(dāng)計(jì)數(shù)器正常計(jì)數(shù)時(shí),反饋門(mén)不起作用,只有當(dāng)進(jìn)位脈沖到來(lái)時(shí),反饋信號(hào)將計(jì)數(shù)電路清零,實(shí)現(xiàn)相應(yīng)模的循環(huán)計(jì)數(shù)。以六十進(jìn)制為例,當(dāng)計(jì)數(shù)器從00,01,02,59計(jì)數(shù)時(shí),反饋門(mén)不起作用,只有當(dāng)?shù)?0個(gè)秒脈沖到來(lái)時(shí),反饋信

18、號(hào)隨即將計(jì)數(shù)電路清零,實(shí)現(xiàn)模為60的循環(huán)計(jì)數(shù)。下面是用Verilog HDL語(yǔ)言編寫(xiě)的24進(jìn)制、60進(jìn)制計(jì)數(shù)器的程序代碼:1)24進(jìn)制計(jì)數(shù)器程序代碼;module count24(ten,one,clk);output3:0 ten,one;input clk;reg3:0 ten,one;always (posedge clk)beginif(ten3:0=2&one3:0=3)beginten3:0=0;one3:0=0;endelse if(one3:0=9)beginone3:0=0;ten3:0=ten3:0+1;endelseone3:0=one3:0+1;endendmodule

19、通過(guò)QuartusII軟件進(jìn)行編譯后,仿真結(jié)果如圖3-4所示,圖3-4 24進(jìn)制計(jì)數(shù)器仿真結(jié)果打包后成元器件如圖3-5所示;圖3-5 24進(jìn)制計(jì)數(shù)器2)60進(jìn)制計(jì)數(shù)器程序代碼;module count60(cout,ten,one,clk);output3:0 ten,one;output cout;input clk;reg3:0 ten,one;always (posedge clk)beginif(one3:0=9)beginone3:0=0;if(ten3:0=5)ten3:0=0;elseten3:0=ten3:0+1;endelseone3:0=one3:0+1;endassign

20、 cout=(ten3:0=0&one3:0=0)?1:0;endmodule通過(guò)QuartusII軟件進(jìn)行編譯后,仿真結(jié)果如圖3-6所示;圖3-6 60進(jìn)制計(jì)數(shù)器仿真結(jié)果打包后成元器件如圖3-7所示;圖3-7 60進(jìn)制計(jì)數(shù)器3.2.4 數(shù)據(jù)分配器能夠?qū)?個(gè)輸入數(shù)據(jù),根據(jù)需要傳送到m個(gè)輸出端的任何一個(gè)輸出端的電路,叫做數(shù)據(jù)分配器,又稱(chēng)為多路分配器,其邏輯功能正好與數(shù)據(jù)選擇器相反。電路結(jié)構(gòu):由與門(mén)組成的陣列。分類(lèi):1路-4路數(shù)據(jù)分配器(如74LS139)、1路-8路數(shù)據(jù)分配器(74LS138)等。由于譯碼器和數(shù)據(jù)分配器的功能非常接近,所以譯碼器一個(gè)很重要的應(yīng)用就是構(gòu)成數(shù)據(jù)分配器。 也正因?yàn)槿绱耍?/p>

21、市場(chǎng)上沒(méi)有集成數(shù)據(jù)分配器產(chǎn)品,只有集成譯碼器產(chǎn)品。 通過(guò)QuartusII軟件進(jìn)行編譯后,仿真結(jié)果如圖3-8所示;圖3-8 數(shù)據(jù)分配器仿真結(jié)果打包后成元器件如圖3-9所示;圖3-9 數(shù)據(jù)分配器3.2.5譯碼器 譯碼器是一個(gè)多輸入、多輸出的組合邏輯電路。它的工作是把給定的代碼進(jìn)行“翻譯”,變成相應(yīng)的狀態(tài),使輸出通道中相應(yīng)的一路有信號(hào)輸出。譯碼器在數(shù)字系統(tǒng)中有廣泛的用途,不僅用于代碼的轉(zhuǎn)換、終端的數(shù)字顯示,還用于數(shù)字分配,存儲(chǔ)器尋址和組合控制信號(hào)等。譯碼器可以分為通用譯碼器和顯示譯碼器兩大類(lèi)。在電路中用的譯碼器是共陰極譯碼器74LS48,用74LS48把輸入的8421BCD碼ABCD譯成七段輸出a

22、-g,再由七段數(shù)碼管顯示相應(yīng)的數(shù)。 通過(guò)QuartusII軟件進(jìn)行編譯后,仿真結(jié)果如圖3-11所示;圖3-11 譯碼器仿真結(jié)果3.2.6分頻器分頻器的作用是將由石英晶體產(chǎn)生的高頻信號(hào)分頻成基時(shí)鐘脈沖信號(hào)和擴(kuò)展部分所需的頻率。在此電路中,分頻器的功能主要有兩個(gè):一是產(chǎn)生標(biāo)準(zhǔn)脈沖信號(hào);二是功能擴(kuò)展電路所需的信號(hào),如仿電臺(tái)用的1KHz的高頻信號(hào)和500Hz的低頻信號(hào)等.可以組成二分頻電路和四分頻電路和十六分頻器。打包后成元器件如圖3-12所示; 圖3-12 2分頻、4分頻、16分頻分頻器3.2.7鬧時(shí)器數(shù)字鐘在指定的時(shí)刻發(fā)出信號(hào),或驅(qū)動(dòng)音響電路“鬧時(shí)”;或?qū)δ逞b置的電源進(jìn)行接通或斷開(kāi)“控制”。不管是

23、鬧時(shí)還是控制,都要求時(shí)間準(zhǔn)確,即信號(hào)的開(kāi)始時(shí)刻與持續(xù)時(shí)間必須滿足規(guī)定的要求。在這里將舉例來(lái)說(shuō)明它的工作原理。要求上午7時(shí)59分發(fā)出鬧時(shí)信號(hào),持續(xù)1分鐘。設(shè)計(jì)如下:7時(shí)59分對(duì)應(yīng)數(shù)字鐘的時(shí)時(shí)個(gè)位計(jì)數(shù)器的狀態(tài)為,分十位計(jì)數(shù)器的狀態(tài)為,分個(gè)位計(jì)數(shù)器的狀態(tài)為,若將上述計(jì)數(shù)器輸出為“1”的所有輸出端經(jīng)過(guò)與門(mén)電路去控制音響電路,就可以使音響電路正好在7點(diǎn)59分響,持續(xù)1分鐘后(即8點(diǎn))停響。所以鬧時(shí)控制信號(hào)Z的表達(dá)式為式中,M為上午的信號(hào)輸出,要求M=1。如果用與非門(mén)實(shí)現(xiàn)的邏輯表達(dá)式為:在電路圖中用到了4輸入二與非門(mén)74LS20,集電極開(kāi)路的2輸入四與非門(mén)74LS03,因OC門(mén)的輸出端可以進(jìn)行“線與”,使

24、用時(shí)在它們的輸出端與電源+5V端之間應(yīng)接一電阻RL。RL的值由下式?jīng)Q定: =0.4V,=0.4mA,=2.4V,=50uA,=8mA,=100Ua;m為負(fù)載門(mén)輸入端總個(gè)數(shù)。取RL=3.3K。如果控制1KHz高音和驅(qū)動(dòng)音響電路的兩極與非門(mén)也采用OC門(mén),則RL的值應(yīng)該重新計(jì)算。由電路圖可以看見(jiàn),上午7點(diǎn)59分,音響電路的晶體管導(dǎo)通,則揚(yáng)聲器發(fā)出1KHz的聲音。持續(xù)1分鐘到8點(diǎn)整晶體管因?yàn)檩斎攵藶椤?”而截止,電路停鬧。 鬧時(shí)器程序代碼;module nsdl(out,m1,m2,h1,h2,tenh,oneh,tenm,onem,clk1k,cin);output out;input3:0 m1,

25、m2,h1,h2,tenh,tenm,oneh,onem;input cin, clk1k;reg out;always (m1 or m2 or h1 or h2 or tenh or tenm or oneh or onem or cin) beginif(cin) out=0;else if(cin=0)beginif(tenh=h1&oneh=h2&tenm=m1&onem=m2) out=clk1k;elseout=0;endendendmodule打包后成元器件如圖3-13所示;圖3-13 鬧時(shí)器328 報(bào)時(shí)器(一)功能要求報(bào)時(shí)的功能要求是:每當(dāng)數(shù)字鐘計(jì)時(shí)快要到正點(diǎn)時(shí),通常按照4低

26、音1高音的順序發(fā)出間斷聲響,以最后一聲高音結(jié)束的時(shí)刻為正點(diǎn)時(shí)刻。(二)該電路的工作原理電路圖的工作原理舉例來(lái)說(shuō)明;例如設(shè)4聲低音(約500Hz)分別 在59分51秒、53秒、55秒及57秒,最后一聲高音(約1000Hz)發(fā)生在59秒,它們的持續(xù)時(shí)間為1秒。只有當(dāng)分十進(jìn)位的,分個(gè)位的,秒十位的及秒個(gè)位的時(shí),音響電路才能工作。(三)對(duì)該電路中使用的元件的介紹因?yàn)樵谠撾娐分兴玫脑饕?4LS00、74LS04及74LS20這些元件在前面的電路中已經(jīng)介紹.這里就不再介紹它了報(bào)時(shí)器程序代碼;module baoshi(tenm,onem,tens,ones,q500,q1k,a,b);input

27、a,b;input 3:0tenm,onem,tens,ones;output q500,q1k;reg q500,q1k;always (tenm or onem or tens or ones)beginif (tenm,onem=8h59&tens,ones=8h50|tenm,onem=8h59&tens,ones=8h52|tenm,onem=8h59&tens,ones=8h54|tenm,onem=8h59&tens,ones=8h56|tenm,onem=8h59&tens,ones=8h58)q500=a;else q500=0;endalways (tenm or onem

28、 or tens or ones)beginif (tenm3:0=0000&onem3:0=0000)&(tens3:0=0000&ones3:0=0000)q1k=b;else q1k=0;endendmodule打包后成元器件如圖3-14所示;圖3-14 報(bào)時(shí)器33 數(shù)字鐘原理圖將各模塊組合一起構(gòu)成如圖3-15所示: 第4章 軟件調(diào)試軟件調(diào)試的過(guò)程據(jù)功能的增加分為幾步:首先,根據(jù)原來(lái)的100進(jìn)制顯示程序的基礎(chǔ)上編寫(xiě)成時(shí)分秒六位顯示的主程序。該程序?qū)r(shí)分秒分成個(gè)位和十位分別計(jì)算,所以將60進(jìn)制和24進(jìn)制變成10進(jìn)制、6進(jìn)制和2進(jìn)制。又因?yàn)槿绻麜r(shí)十位為2的話,不能大于3,所以在分十位向時(shí)個(gè)位

29、進(jìn)位時(shí)得判斷時(shí)十位是否為2,在組員的幫助下經(jīng)過(guò)不斷試驗(yàn)和修改終于完成。過(guò)程比較順利。該電子鐘使用一個(gè)鍵來(lái)調(diào)時(shí),利用長(zhǎng)按來(lái)選擇所要調(diào)的位,用短暫按下來(lái)對(duì)位進(jìn)行加1,前提是時(shí)鐘暫停,這個(gè)功能也是通過(guò)長(zhǎng)按來(lái)實(shí)現(xiàn)的。選位是從秒個(gè)位到時(shí)十位依次選取,但到時(shí)十位以后就回不到秒個(gè)位了,就是不會(huì)循環(huán)。所以就得對(duì)選的位進(jìn)行檢查,如果到了時(shí)十位再按取位鍵就重新賦給秒個(gè)位地址。這樣就可以循環(huán)選位了。但在后來(lái)的測(cè)試中又有了新的問(wèn)題,如果該位到了9,對(duì)一個(gè)位進(jìn)行加1調(diào)整就會(huì)顯示亂碼。時(shí)分秒的十位都會(huì)調(diào)到9!對(duì)于這個(gè)問(wèn)題費(fèi)看一些周折。起先構(gòu)思再加一個(gè)減一的鍵,但不但沒(méi)有解決這個(gè)亂碼問(wèn)題而且減到了0一下很可能也會(huì)出現(xiàn)亂碼。

30、所以就轉(zhuǎn)而尋求程序解決。調(diào)時(shí)的時(shí)候讓它也像正常運(yùn)行的時(shí)候進(jìn)位?沒(méi)見(jiàn)過(guò)這樣的。繼而決定在進(jìn)行加1調(diào)時(shí)的時(shí)候檢測(cè)該位是否到10或6或3。所以就產(chǎn)生了所謂的調(diào)時(shí)比較子程序,就是在調(diào)時(shí)的時(shí)候?qū)⒃撐桓?0或6或3比較。最后,調(diào)試的時(shí)候卻總是出現(xiàn)這樣的情況:所調(diào)的位超過(guò)了9或5或2就變成亂碼。比原來(lái)進(jìn)步的地方就是時(shí)分秒的十位不用超過(guò)9就變成亂碼。這說(shuō)明雖然還沒(méi)成功,但還是有前展的。就繼續(xù)調(diào)試。 結(jié)論我們對(duì)SOPC課程設(shè)計(jì)這門(mén)課的學(xué)習(xí)主要是理論學(xué)習(xí)和實(shí)驗(yàn)實(shí)踐兩個(gè)部分。通過(guò)對(duì)其理論知識(shí)的學(xué)習(xí),我對(duì)硬件描述語(yǔ)言有了初步的認(rèn)識(shí),學(xué)會(huì)利用硬件描述語(yǔ)言完成相應(yīng)功能系統(tǒng)的設(shè)計(jì)。在實(shí)驗(yàn)中,我們可以通過(guò)自己的實(shí)際操作,找出

31、問(wèn)題,改正錯(cuò)誤,提出改進(jìn)之法,大膽創(chuàng)新,使自己的能力在實(shí)踐中成長(zhǎng)起來(lái)。經(jīng)過(guò)這幾周的實(shí)驗(yàn),我基本了解了實(shí)驗(yàn)設(shè)計(jì)過(guò)程。雖然有些實(shí)驗(yàn)很簡(jiǎn)單,但是他們體現(xiàn)了EDA設(shè)計(jì)的大概流程 。通過(guò)這么多次的試驗(yàn)我將一些在課堂上了解了的知識(shí)的運(yùn)用到了實(shí)驗(yàn)中,經(jīng)過(guò)實(shí)驗(yàn)課之后,我對(duì)于VHDL語(yǔ)言的理解更加深刻了,本來(lái)有些不理解的理論知識(shí),都能通過(guò)實(shí)驗(yàn)得到一定解答。在實(shí)驗(yàn)的過(guò)程中,有時(shí)遇到難題的時(shí)候,我們上網(wǎng)或去圖書(shū)館查找資料,或者向老師和同學(xué)們討論,在這個(gè)過(guò)程中我學(xué)習(xí)到了一些我們?cè)谡n堂上學(xué)不到的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我更加深刻的懂得了理論與實(shí)際相結(jié)合的重要性!只有理論知識(shí)無(wú)法實(shí)現(xiàn)相關(guān)的設(shè)計(jì)和實(shí)際操作,當(dāng)把所學(xué)的理論知

32、識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,這樣才能把所學(xué)的理論知識(shí)更加鞏固至掌握住,才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考能力。參考文獻(xiàn)1 李東生.電子設(shè)計(jì)自動(dòng)化與IC設(shè)計(jì).北京:高等教育出版社,20042 蔡明生.電子設(shè)計(jì).北京:高等教育出版社,20043 齊洪喜,陸穎.VHDL電路設(shè)計(jì)使用教程.北京:清華大學(xué)出版社,20044 雷伏容.VHDL電路設(shè)計(jì).北京:清華大學(xué)出版社,20065 黃仁欣.EDA技術(shù)實(shí)用教程.北京:清華大學(xué)出版社,20066 路而紅.電子設(shè)計(jì)自動(dòng)化應(yīng)用技術(shù).北京:高等教育出版社,20047 陳有卿.實(shí)用555時(shí)基電路300例.北京:中國(guó)電力出版社,20048 晶體管技術(shù)編輯

33、部.電子技術(shù)原理.制作.實(shí)驗(yàn).北京:科學(xué)出版社,20059 張亦華,延明.數(shù)字電路EDA入門(mén)VHDL程序?qū)嵗?北京:北京郵電大學(xué)出版社,200310 王延才,趙德申.電子技術(shù)實(shí)訓(xùn).北京:高等教育出版社,2003附錄 下面是用Verilog HDL語(yǔ)言編寫(xiě)的2選一數(shù)據(jù)選擇器的程序代碼:module mux2(out,a,b,sel);output out;input a,b,sel;reg out;always (a or b or sel)beginif(sel=1)out=a;else out=b;endendmodule下面是用Verilog HDL語(yǔ)言編寫(xiě)的24進(jìn)制、60進(jìn)制計(jì)數(shù)器的程

34、序代碼:1)24進(jìn)制計(jì)數(shù)器程序代碼;module count24(ten,one,clk);output3:0 ten,one;input clk;reg3:0 ten,one;always (posedge clk)beginif(ten3:0=2&one3:0=3)beginten3:0=0;one3:0=0;endelse if(one3:0=9)beginone3:0=0;ten3:0=ten3:0+1;endelseone3:0=one3:0+1;endendmodule2)60進(jìn)制計(jì)數(shù)器程序代碼;module count60(cout,ten,one,clk);output3:0

35、ten,one;output cout;input clk;reg3:0 ten,one;always (posedge clk)beginif(one3:0=9)beginone3:0=0;if(ten3:0=5)ten3:0=0;elseten3:0=ten3:0+1;endelseone3:0=one3:0+1;endassign cout=(ten3:0=0&one3:0=0)?1:0;endmodule數(shù)據(jù)分配器程序代碼:module x(q,L,hten,hone,mten,mone,sten,sone,clk);output3:0 q;output5:0 L;input 3:0

36、hten,hone,mten,mone,sten,sone;input clk;reg3:0 q,rel;reg5:0 L;always (posedge clk)beginif(rel3:0=5) rel3:0=0;elserel3:0=rel3:0+1;endalways (rel )beginif(rel3:0=0) begin q3:0=sone3:0; L5:0=6b;endelse if(rel3:0=1) begin q3:0=sten3:0;L5:0=6b;endelse if(rel3:0=2) begin q3:0=mone3:0;L5:0=6b;endelse if(re

37、l3:0=3) begin q3:0=mten3:0; L5:0=6b;endelse if(rel3:0=4) begin q3:0=hone3:0; L5:0=6b;endelse begin q3:0=hten3:0;L5:0=6b;endendendmodule譯碼器程序代碼;module yima308(out,in);output7:0 out;input3:0 in;reg7:0 out;always (in) begin case(in)4d0:out=8b;4d1:out=8b;4d2:out=8b;4d3:out=8b;4d4:out=8b;4d5:out=8b;4d6:o

38、ut=8b;4d7:out=8b;4d8:out=8b;4d9:out=8b;endcaseendendmodule1)2分頻程序代碼;module fen2(a,b,q);input b;output a;output q;reg q;always (posedge b )begin q=q+1; endassign a=(q=4d1)?1:0;endmodule2)4分頻程序代碼;module fen4(a,b,q);input b;output a;output1:0 q;reg1:0q;always (posedge b )begin q=q+1; endassign a=(q=2d3

39、)?1:0;endmodule3)16分頻程序代碼;module fen16(a,b,q);input b;output a;output3:0 q;reg3:0q;always (posedge b )begin q=q+1; endassign a=(q=4d15)?1:0;endmodule 鬧時(shí)器程序代碼;module nsdl(out,m1,m2,h1,h2,tenh,oneh,tenm,onem,clk1k,cin);output out;input3:0 m1,m2,h1,h2,tenh,tenm,oneh,onem;input cin, clk1k;reg out;always

40、 (m1 or m2 or h1 or h2 or tenh or tenm or oneh or onem or cin) beginif(cin) out=0;else if(cin=0)beginif(tenh=h1&oneh=h2&tenm=m1&onem=m2) out=clk1k;elseout=0;endendendmodule報(bào)時(shí)器程序代碼;module baoshi(tenm,onem,tens,ones,q500,q1k,a,b);input a,b;input 3:0tenm,onem,tens,ones;output q500,q1k;reg q500,q1k;always (tenm or onem or tens or ones)beginif (tenm,onem=8

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論