報(bào)告材料主要是向上級(jí)匯報(bào)工作,其表達(dá)方式以敘述、說(shuō)明為主,在語(yǔ)言運(yùn)用上要突出陳述性,把事情交代清楚,充分顯示內(nèi)容的真實(shí)和材料的客觀。那么報(bào)告應(yīng)該怎么制定才合適呢?下面我就給大家講一講優(yōu)秀的報(bào)告文章怎么寫(xiě),我們一起來(lái)了解一下吧。
EDA實(shí)驗(yàn)報(bào)告全加器 EDA實(shí)驗(yàn)報(bào)告向量乘法器篇一
----移位相加8位硬件乘法器電路計(jì)
ou 1
移位相加硬件乘法器設(shè)計(jì)
一.實(shí)驗(yàn)?zāi)康?/p>
1、學(xué)習(xí)移位相加8 位硬件乘法器電路設(shè)計(jì);
2、學(xué)習(xí)應(yīng)用eda 技術(shù)進(jìn)行項(xiàng)目設(shè)計(jì)的能力
二.實(shí)驗(yàn)原理
該乘法器是由8位加法器構(gòu)成的以時(shí)序方式設(shè)計(jì)的8位乘法器。其乘法原理是:乘法通過(guò)逐項(xiàng)移位相加原理來(lái)實(shí)現(xiàn),從被乘數(shù)的最低位開(kāi)始,若
為1,則乘數(shù)左移后與上一次的和相加;若為0,左移后以全零相加,直至被乘數(shù)的最高位。
實(shí)驗(yàn)箱內(nèi)部結(jié)構(gòu)圖
:
三.實(shí)驗(yàn)設(shè)備
1.安裝quartus ii 軟件的pc一臺(tái);
2.實(shí)驗(yàn)箱一個(gè) 四.實(shí)驗(yàn)步驟
1.輸入下列vhdl程序:
2.編譯程序,并連接實(shí)驗(yàn)箱并下載 3.在實(shí)驗(yàn)箱上按下列要求進(jìn)行設(shè)置:
①選擇模式1 ②clkk控制移位相加速度,接clock0=4hz ③a[7..0]、b[7..0]輸入數(shù)據(jù) 顯示于此4個(gè)數(shù)碼管上
④dout[15..0]接數(shù)碼管8/7/6/5,顯示16位乘積:pio31—pio16 ⑤接鍵8(pio49):高電平清0,低電平計(jì)算允許
⑥a[7..0]接鍵2/1,輸入8位乘數(shù) pio7—pio0(模式1)⑦b[7..0]接鍵2/1,輸入8位被乘數(shù) pio7—pio0(模式1)
五.實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)程序編譯運(yùn)行后rtl電路圖
ou 1)2
(模式
實(shí)驗(yàn)rtl電路
a[7..0]接鍵2/1,輸入8位乘數(shù):a2(十六進(jìn)制)b[7..0]接鍵4/3,輸入8位被乘數(shù):33(十六進(jìn)制)可得結(jié)果dout[15..0]:2046(十六進(jìn)制)六:心得體會(huì)
通過(guò)電子設(shè)計(jì)的數(shù)字部分eda設(shè)計(jì),我們掌握了系統(tǒng)的數(shù)字電子設(shè)計(jì)的方法,也知道了實(shí)驗(yàn)調(diào)試適配的具體操作方法。
通過(guò)實(shí)驗(yàn),進(jìn)一步加深了對(duì)eda的了解,讓我對(duì)它有了濃厚的興趣。但是在調(diào)試程序時(shí),遇到了不少問(wèn)題,編譯下載程序時(shí),總是有錯(cuò)誤,在細(xì)心的檢查下,終于找出了錯(cuò)誤和警告,排除困難后,程序編譯就通過(guò)了,心里終于舒了一口氣。
ou 3
EDA實(shí)驗(yàn)報(bào)告全加器 EDA實(shí)驗(yàn)報(bào)告向量乘法器篇二
eda
實(shí)驗(yàn)報(bào)告
姓名:湯燦亮 學(xué)號(hào):2024118060 班級(jí):1211自動(dòng)化
實(shí)驗(yàn)一 quartus ⅱ的設(shè)計(jì)流程
一、實(shí)驗(yàn)?zāi)康模?/p>
1、掌握quartusⅱ安裝過(guò)程;
2、熟悉quartusⅱ設(shè)計(jì)環(huán)境;
3、掌握quartusⅱ的設(shè)計(jì)過(guò)程。
二、實(shí)驗(yàn)內(nèi)容:
用文本輸入法設(shè)計(jì)一個(gè)二進(jìn)制加法器。
三、實(shí)驗(yàn)步驟:
(一)、創(chuàng)建工作文件夾
在windows中新建一個(gè)文件夾(又稱工作庫(kù)或work library),用于保存設(shè)計(jì)工程項(xiàng)目的有關(guān)文件。注:設(shè)計(jì)工程項(xiàng)目的所有有關(guān)文件不能保存在根目錄下,必須保存在一個(gè)文件夾之下。例如建立的文件夾:e:cnt10
(二)、啟動(dòng)quartus ii 點(diǎn)擊quartusⅱ9.0圖標(biāo)打開(kāi)quartusⅱ9.0設(shè)計(jì)窗口?;螯c(diǎn)擊quartusⅱ9.0圖標(biāo)打開(kāi)quartusⅱ9.0設(shè)計(jì)窗口
(三)、設(shè)計(jì)文件輸入
1、打開(kāi)輸入文件編輯器
點(diǎn)擊菜單filenew?選擇verilog hdl file建立一個(gè)文本設(shè)計(jì)文件。用文本輸入法輸入程序。
2、保存文件,文件名同程序的模塊名。后綴.v
(四)、全編譯(邏輯綜合)
1、創(chuàng)建工程
點(diǎn)擊菜單filenew project wizard…….進(jìn)行工程設(shè)置。完成工程文件夾的選定、工程名、頂層設(shè)計(jì)文件名(主程序)、編程器件的選擇等工程設(shè)置。
2、編譯前的相關(guān)設(shè)置設(shè)置
⑴選擇pld芯片:assignmenmtssettingsdevice彈出的窗口中選擇選擇芯片。
⑵選擇配置芯片的工作方式assignmenmtssettingsdevicedevice&pin options彈出的窗口中首選general項(xiàng),在options欄中選擇auto-restart-configuration after error.⑶選擇配置芯片和編程方式:assignmenmtssettingsdevicedevice&pin options彈出的窗口中選擇configuration欄,在窗口中設(shè)置配置方式,配置芯片和是否需要生成壓縮的配置文件。
⑷選擇輸出設(shè)置:(1)-(4)項(xiàng)默認(rèn)方式,可以不做任何操作,⑸選擇目標(biāo)器件閑置引腳的狀態(tài):assignmenmtssettingsdevicedevice&pin options彈出的窗口中選擇unused pins欄,在窗口中對(duì)閑置的引腳設(shè)置,推薦設(shè)置為as input tri-stated。
3、執(zhí)行全程編譯:processingstart compilation。完成對(duì)設(shè)計(jì)項(xiàng)目的檢 錯(cuò)、邏輯綜合、結(jié)構(gòu)綜合、配置文件生成以及時(shí)序分析。
(五)、功能仿真(或時(shí)序仿真)
建議先做功能仿真,以檢驗(yàn)設(shè)計(jì)項(xiàng)目的邏輯真確性,這樣可以提高設(shè)計(jì)效率。
1、功能仿真設(shè)置:assignmenmtssettings彈出的窗口中選擇simulator settings。在右邊simulation mode中選擇 functional.2、processinggenerate functional simulation netlist,生成功能仿真所需的文件。
3、建立波形文件并進(jìn)行功能仿真
⑴filenew,在窗口中選擇vector waveform file打開(kāi)向量波形文件編輯器。
⑵設(shè)置仿真時(shí)間區(qū)域:可默認(rèn)。一般幾十微妙。時(shí)間區(qū)域過(guò)長(zhǎng),使仿真時(shí)間變長(zhǎng),影響仿真效率。
⑶在向量波形文件編輯器中添加項(xiàng)目的相關(guān)引腳。原則上是所有引腳,但有的項(xiàng)目引腳很多,可以只添加必要的一些引腳。雙擊向量波形文件編輯器name欄的空白區(qū)域后,會(huì)彈出一個(gè)“insert node or bus”對(duì)話框,在彈出的對(duì)話框中選擇“node finder?”按鈕,則彈出“node finder?”對(duì)話框,選擇filter:pins:all,然后點(diǎn)擊list,nodes found欄將列出所有輸入、輸出端口。選擇要觀察的信號(hào),點(diǎn)擊“>”命令按鈕加入到觀察目標(biāo)窗口中。選擇ok,則在波形圖中加入了待觀察信號(hào)的圖形。
或者執(zhí)行viewutility windowsnode finder命令打開(kāi)node finder窗口,在彈出的窗口中將所需引腳拖入波形編輯器中。
⑷編輯輸入波形:對(duì)所有的輸入引腳設(shè)置合適的波形。⑸啟動(dòng)仿真器:processingstart simulation.⑹觀察分析仿真結(jié)果。仿真結(jié)果保存于文件“simulation report”,此文件在仿真完成后會(huì)自動(dòng)彈出。若仿真結(jié)果有出入,重新修改程序,直到仿真結(jié)果沒(méi)有問(wèn)題。
(六)、下載驗(yàn)證:
1、芯片選擇acex1kep1k30qc208-2;
2、引腳鎖定:
3、全編譯;
4、下載線連接:將25針連下一端連接電腦lpt1口,一端連接到編程模塊的db25接口,再用十針連線一頭插入通用編程模塊jtga下載接口處,另一頭連接到目標(biāo)芯片的下載接口。
5、打開(kāi)實(shí)驗(yàn)箱電源,將模式選擇開(kāi)關(guān)ctrl的(2)(4)(8)撥至on,使按鍵kd1,kd2,led1,led2,led3,led4,led5等有效。
6、下載:toolsprogrammer,完成下載。
7、撥動(dòng)開(kāi)關(guān)按鍵kd1,kd2驗(yàn)證電路。
四、實(shí)驗(yàn)程序及仿真結(jié)果
(一)、實(shí)驗(yàn)程序:
時(shí)序仿真結(jié)果:
波形文件及仿真:
五、實(shí)驗(yàn)箱現(xiàn)象描述
注:在程序正確,正確操作實(shí)驗(yàn)箱并成功下載并正常運(yùn)行程序的前提下,現(xiàn)象為:實(shí)驗(yàn)箱上一排設(shè)定的led燈,分別為4個(gè)表示四位二進(jìn)制碼,一個(gè)表示使能信號(hào)en,一個(gè)表示復(fù)位信號(hào)rst,一個(gè)表示置數(shù)信號(hào),一個(gè)進(jìn)位位cout,高電平時(shí)表示進(jìn)位,四個(gè)用于置數(shù)的燈。en信號(hào)高電平有效,低電平起保持作用,rst低電平有效,起復(fù)位作用,load信號(hào)低電平有效,起置數(shù)作用。啟動(dòng)實(shí)驗(yàn)箱,讓en燈亮(高電平),rst燈亮(高電平),load燈亮(高電平),此時(shí)表示四位二進(jìn)制碼的led燈分別從0到9計(jì)數(shù)(約為1s記一個(gè)數(shù)),到10的時(shí)候,顯示數(shù)的四個(gè)led燈表示成0(全滅),進(jìn)位位燈(cout)閃動(dòng)一次(表示進(jìn)一位),如此反復(fù)。使en燈熄滅(低電平),顯示數(shù)的燈停止變動(dòng),保持在它當(dāng)前所表示的數(shù)值?;謴?fù)en燈亮,繼續(xù)計(jì)數(shù)。使rst燈熄滅(低電平),顯示數(shù)的燈立即變?yōu)槿珳纾ū硎緩?fù)位為0)。設(shè)置任意值,使load燈熄滅(低電平),顯示燈變成設(shè)置的數(shù)值,然后正常計(jì)數(shù)。
六、心得體會(huì)
在這次實(shí)驗(yàn)中,quartus ii軟件是英文版的,一下基本功能在第一次中還是不夠熟悉,通過(guò)問(wèn)老師同學(xué),慢慢的了解到quartus ⅱ軟件的基本使用方法,以及從編寫(xiě)程序到下載到實(shí)驗(yàn)箱驗(yàn)證運(yùn)行的基本流程,實(shí)驗(yàn)二用原理圖輸入法設(shè)計(jì)2位頻率計(jì)
一、實(shí)驗(yàn)?zāi)康模?/p>
1.熟悉和掌握用quartus ⅱ的原理圖輸入方法設(shè)計(jì)簡(jiǎn)單數(shù)字系統(tǒng)的方法,并通過(guò)一個(gè)2位頻率計(jì)的設(shè)計(jì)掌握用eda軟件進(jìn)行數(shù)字系統(tǒng)設(shè)計(jì)的詳細(xì)流程。2.掌握用eda技術(shù)的層次化設(shè)計(jì)方法; 3.掌握多個(gè)數(shù)碼管動(dòng)態(tài)顯示的原理與方法
二、實(shí)驗(yàn)內(nèi)容
用原理圖輸入法設(shè)計(jì)一個(gè)2位頻率計(jì)
三、實(shí)驗(yàn)步驟
1.在頂層文件設(shè)計(jì)窗口中設(shè)計(jì)頻率計(jì),頻率計(jì)的設(shè)計(jì)分成幾部分設(shè)計(jì),分別是一個(gè)2位十進(jìn)制計(jì)數(shù)器,一個(gè)時(shí)序控制電路,一個(gè)顯示電路模塊。
2.先設(shè)計(jì)2位十進(jìn)制計(jì)數(shù)器,如圖顯示為設(shè)計(jì)好的2位十進(jìn)制計(jì)數(shù)器。
步驟:(1)、點(diǎn)擊file—new,彈出如圖所示窗口,點(diǎn)擊design file中block diagram/schematic file,再點(diǎn)擊ok即可。(2)、在彈出的bdf文件設(shè)計(jì)窗口中設(shè)計(jì)所需的設(shè)計(jì),設(shè)計(jì)完成后,點(diǎn)擊編譯按鈕,編譯無(wú)誤后,再進(jìn)行時(shí)序仿真。
結(jié)果如圖:
(3)、即可點(diǎn)擊file—created/update—create symbol files for current file.生成元件符號(hào),供高層次設(shè)計(jì)調(diào)用。注意:需要獨(dú)立建立工程,2位十進(jìn)制計(jì)數(shù)器的工程名和bdf文件名都為counter8。
3、設(shè)計(jì)時(shí)序控制電路,設(shè)計(jì)步驟與設(shè)計(jì)2位類似,設(shè)計(jì)完成后,一樣需要設(shè)計(jì)文件符號(hào)供高層次設(shè)計(jì)調(diào)用,如圖為設(shè)計(jì)好的時(shí)序控制電路。
4.在頂層設(shè)計(jì)窗口中設(shè)計(jì)頂層設(shè)計(jì),最終的設(shè)計(jì)如圖
進(jìn)行時(shí)序仿真無(wú)誤后進(jìn)行波形仿真,結(jié)果如圖:
可以從波形仿真中看出,當(dāng)輸入的待測(cè)信號(hào)的周期為410ns的時(shí)候,所測(cè)的的頻率的最后兩位為39。
四、試驗(yàn)箱驗(yàn)證及現(xiàn)象描述
引腳正確設(shè)定并正確下載到試驗(yàn)箱后,調(diào)節(jié)待測(cè)信號(hào)頻率,當(dāng)輸入為4hz時(shí),數(shù)碼管上顯示04,當(dāng)輸入為8hz,數(shù)碼管上顯示08,當(dāng)輸入為16hz時(shí),數(shù)碼管
上顯示為16,當(dāng)輸入為128hz時(shí),數(shù)碼管上顯示為28。
五、心得體會(huì)
這次實(shí)驗(yàn)中,按照書(shū)上面的接線圖,完成基本的接線,然后在電腦上面設(shè)計(jì)原理圖,進(jìn)行實(shí)驗(yàn)的測(cè)試,掌握用eda技術(shù)的層次化設(shè)計(jì)方法,在實(shí)驗(yàn)中也出現(xiàn)過(guò)點(diǎn)失誤,軟件運(yùn)行出錯(cuò),經(jīng)過(guò)檢查,發(fā)現(xiàn)軟件沒(méi)有破解,在實(shí)驗(yàn)中還是要注意小細(xì)節(jié)。
實(shí)驗(yàn)三簡(jiǎn)易正弦波信號(hào)發(fā)生器設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康模?/p>
1、進(jìn)一步熟悉quartusii設(shè)計(jì)流程;
2、熟悉lmp_rom與fpga硬件資源的使用方法。3、熟悉signaltap ii嵌入式邏輯分析儀的使用方法。
二、實(shí)驗(yàn)內(nèi)容
用原理圖設(shè)計(jì)一個(gè)簡(jiǎn)易的正弦波信號(hào)發(fā)生器。
三、實(shí)驗(yàn)步驟
1.建立一個(gè)工程,取名為sin_gnt。
文件,用直接編輯法。點(diǎn)擊file—new—memory file—memory initialization file,點(diǎn)擊ok,選number為128位,word size為8位,點(diǎn)擊ok,填寫(xiě) 表格,結(jié)果如圖
3.以原理圖方式對(duì)lpm_rom進(jìn)行設(shè)置和調(diào)用,在工程原理圖編輯窗中雙擊,出現(xiàn)symbol框圖中點(diǎn)擊megawizard plug-in manager,在所示窗口中點(diǎn)擊memory compiler的rom:1-port,取文件名為rom78,,即可生成正弦信號(hào)數(shù)據(jù)存儲(chǔ)器rom,如圖所示
4.用原理圖方式對(duì)7為計(jì)數(shù)器lpm模塊,方法與制作rom78模塊類似,如圖所示
5.新建一個(gè)原理圖設(shè)計(jì)窗口,取名為sin_gnt,在窗口里面設(shè)計(jì)所需的電路,結(jié)果如圖,進(jìn)行時(shí)序仿真,無(wú)誤后建立波形文件,結(jié)果如圖
由圖可知,在時(shí)間脈沖的作用下,ar計(jì)數(shù),相對(duì)于的,q也從正弦信號(hào)數(shù)據(jù)存儲(chǔ)器rom中輸出相對(duì)應(yīng)的數(shù)值,由這兩項(xiàng),這可以在示波器上輸出正弦波。
四、心得體會(huì)
在實(shí)驗(yàn)中,lpm 是參數(shù)可設(shè)置模塊庫(kù)library of parameterized modules 的英語(yǔ)縮寫(xiě),altera 提供的可參數(shù)化宏功能模塊和lpm 函數(shù)均基于altera 器件的結(jié)構(gòu)做了優(yōu)化設(shè)計(jì)。在許多實(shí)用情況中,必須使用宏功能模塊才可以使用一些altera 特定器件的硬件功能。例如各類片上存儲(chǔ)器、dsp 模塊、lvds 驅(qū)動(dòng)器、嵌入式pll 以及serdes 和ddio 電路模塊等等。這些可以以圖形或硬件描述語(yǔ)言模塊形式方便調(diào)用的宏功能塊,使得基于eda 技術(shù)的電子設(shè)計(jì)的效率和可靠性有了很大的提高lpm可實(shí)現(xiàn)基于lpm的流水線的累加器的設(shè)計(jì),邏輯數(shù)據(jù)采樣電路設(shè)計(jì),簡(jiǎn)易正弦信號(hào)發(fā)生器的設(shè)計(jì)
實(shí)驗(yàn)四用狀態(tài)機(jī)實(shí)現(xiàn)序列檢測(cè)器的設(shè)計(jì)
一、實(shí)驗(yàn)?zāi)康?/p>
1、熟悉狀態(tài)機(jī)的作用及設(shè)計(jì)方法;
2、學(xué)習(xí)用狀態(tài)機(jī)實(shí)現(xiàn)序列檢測(cè)器的設(shè)計(jì),并對(duì)其進(jìn)行仿真和硬件測(cè)試。
二、實(shí)驗(yàn)原理
序列檢測(cè)器可用于檢測(cè)一組或多組由二進(jìn)制碼組成的脈沖序列信號(hào),當(dāng)序列檢測(cè)器連續(xù)收到一組串行二進(jìn)制碼后,如果與檢測(cè)器預(yù)先設(shè)置的碼相同,則輸出為1,否則輸出為0。
三、實(shí)驗(yàn)內(nèi)容
設(shè)計(jì)一個(gè)序列檢測(cè)器,對(duì)1110010進(jìn)行檢測(cè),對(duì)設(shè)計(jì)進(jìn)行仿真測(cè)試并給出仿 真波形。
四、實(shí)驗(yàn)步驟
(1)運(yùn)行軟件,創(chuàng)建一個(gè)工程,取名為shck,打開(kāi)文本文件編輯窗口,輸入編寫(xiě)好的程序,如圖所示。
取名為shiyan4,保存生成shiyan4.v文件。
(2)編譯,時(shí)序仿真,直至無(wú)錯(cuò)誤。
(3)建立波形文件,保存,取名為shck。設(shè)置各個(gè)需要的設(shè)置的參數(shù),仿真時(shí)間設(shè)置為50us,時(shí)鐘信號(hào)周期為4us,復(fù)位信號(hào)高電平有效,一般情況保持低電平,設(shè)置輸入信號(hào)din含有輸入數(shù)據(jù)段如圖1110010,如圖所示
(4)點(diǎn)擊波形仿真,結(jié)果如圖
由仿真結(jié)果可以看出,只有當(dāng)輸入完整的1110010時(shí),輸出信號(hào)才是高電平。(5)點(diǎn)擊tools—netlist viewers—state machine viewers,查看狀態(tài)轉(zhuǎn)換表。
四、心得體會(huì)
通過(guò)本次實(shí)驗(yàn)掌握了如何用verilog hdl語(yǔ)言實(shí)現(xiàn)狀態(tài)機(jī)的原理,運(yùn)用狀態(tài)機(jī)實(shí)現(xiàn)序列檢測(cè)器的設(shè)計(jì),進(jìn)一步掌握了課堂上所學(xué)到的知識(shí),但同時(shí)充分的感覺(jué)到了自己的不足之處,今后一定要加強(qiáng)自己弱勢(shì)方面的學(xué)習(xí),用心學(xué)好eda教科書(shū)上的知識(shí),并抽時(shí)間在課外進(jìn)行深入地學(xué)習(xí),相信下次試驗(yàn)情況會(huì)有很大程度的改觀
EDA實(shí)驗(yàn)報(bào)告全加器 EDA實(shí)驗(yàn)報(bào)告向量乘法器篇三
實(shí)驗(yàn)一:
quartus ii 軟件使用及組合電路設(shè)計(jì)仿真
實(shí)驗(yàn)?zāi)康模?/p>
學(xué)習(xí)quartus ii 軟件的使用,掌握軟件工程的建立,vhdl源文件的設(shè)計(jì)和波形仿真等基本內(nèi)容。
實(shí)驗(yàn)內(nèi)容:
1.四選一多路選擇器的設(shè)計(jì) 基本功能及原理 :
選擇器常用于信號(hào)的切換,四選一選擇器常用于信號(hào)的切換,四選一選擇器可以用于4路信號(hào)的切換。四選一選擇器有四個(gè)輸入端a,b,c,d,兩個(gè)信號(hào)選擇端s(0)和s(1)及一個(gè)信號(hào)輸出端y。當(dāng)s輸入不同的選擇信號(hào)時(shí),就可以使a,b,c,d中某一個(gè)相應(yīng)的輸入信號(hào)與輸出y端接通。
邏輯符號(hào)如下:
程序設(shè)計(jì):
軟件編譯:
在編輯器中輸入并保存了以上四選一選擇器的vhdl源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析:
仿真結(jié)果如下圖所示
分析:
由仿真圖可以得到以下結(jié)論:
當(dāng)s=0(00)時(shí)y=a;當(dāng)s=1(01)時(shí)y=b;當(dāng) s=2(10)時(shí)y=c;當(dāng)s=3(11)時(shí)y=d。符合我們最開(kāi)始設(shè)想的功能設(shè)計(jì),這說(shuō)明源程序正確。2.七段譯碼器程序設(shè)計(jì) 基本功能及原理:
七段譯碼器是用來(lái)顯示數(shù)字的,7段數(shù)碼是純組合電路,通常的小規(guī)模專用ic,如74或4000系列的器件只能作十進(jìn)制bcd碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是2進(jìn)制的,所以輸出表達(dá)都是16進(jìn)制的,為了滿足16進(jìn)制數(shù)的譯碼顯示,最方便的方法就是利用vhdl譯碼程序在fpga或cpld中實(shí)現(xiàn)。本項(xiàng)實(shí)驗(yàn)很容易實(shí)現(xiàn)這一目的。輸出信號(hào)的7位分別接到數(shù)碼管的7個(gè)段,本實(shí)驗(yàn)中用的數(shù)碼管為共陽(yáng)極的,接有低電平的段發(fā)亮。數(shù)碼管的圖形如下
七段譯碼器的邏輯符號(hào):
程序設(shè)計(jì):
軟件編譯:
在編輯器中輸入并保存了以上七段譯碼器的vhdl源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件
。仿真分析:
仿真結(jié)果如下圖所示:
分析: 由仿真的結(jié)果可以得到以下結(jié)論:
當(dāng)a=0(0000)時(shí)led7=1000000 此時(shí)數(shù)碼管顯示0; 當(dāng)a=1(0001)時(shí)led7=1111001 此時(shí)數(shù)碼管顯示1; 當(dāng)a=2(0010)時(shí)led7=0100100 此時(shí)數(shù)碼管顯示2; 當(dāng) a=3(0011)時(shí)led7=0110000 此時(shí)數(shù)碼管顯示3; 當(dāng) a=4(0100)時(shí)led7=0011001 此時(shí)數(shù)碼管顯示4; 當(dāng) a=5(0101)時(shí)led7=0010010 此時(shí)數(shù)碼管顯示5; 當(dāng) a=6(0110)時(shí)led7=0000010 此時(shí)數(shù)碼管顯示6; 當(dāng) a=7(0111)時(shí)led7=1111000 此時(shí)數(shù)碼管顯示7; 當(dāng) a=8(1000)時(shí)led7=0000000 此時(shí)數(shù)碼管顯示8; 當(dāng)a=9(1001)時(shí)led7=0010000 此時(shí)數(shù)碼管顯示9; 當(dāng)a=10(1010)時(shí)led7=0001000 此時(shí)數(shù)碼管顯示a; 當(dāng)a=11(1011)時(shí)led7=0000011 此時(shí)數(shù)碼管顯示b; 當(dāng) a=12(1100)時(shí)led7=1000110 此時(shí)數(shù)碼管顯示c; 當(dāng)a=13(1101)時(shí)led7=0100001 此時(shí)數(shù)碼管顯示d; 當(dāng)a=14(1110)時(shí)led7=0000110 此時(shí)數(shù)碼管顯示e; 當(dāng)a=15(1111)時(shí)led7=0001110 此時(shí)數(shù)碼管顯示f;
這完全符合我們最開(kāi)始的功能設(shè)計(jì),所以可以說(shuō)明源vhdl程序是正確的。
實(shí)驗(yàn)心得:
通過(guò)這次實(shí)驗(yàn),我基本掌握了quartus ii軟件的使用,也掌握了軟件工程的建立,vhdl源文件的設(shè)計(jì)和波形仿真等基本內(nèi)容。在實(shí)驗(yàn)中,我發(fā)現(xiàn)eda這門(mén)課十分有趣,從一個(gè)器件的功能設(shè)計(jì)到程序設(shè)計(jì),再到編譯成功,最后得到仿真的結(jié)果,這其中的每一步都需要認(rèn)真分析,一遍又一遍的編譯,修改。當(dāng)然,中間出現(xiàn)過(guò)錯(cuò)誤,但我依然不放棄,一點(diǎn)一點(diǎn)的修改,驗(yàn)證,最終終于出現(xiàn)了正確的仿真結(jié)果,雖然有一些毛刺,但是總的來(lái)說(shuō),不影響整體的結(jié)果。
實(shí)驗(yàn)二:計(jì)數(shù)器設(shè)計(jì)與顯示
實(shí)驗(yàn)?zāi)康模?/p>
(1)熟悉利用quartus ii中的原理圖輸入法設(shè)計(jì)組合電路,掌握層次化的設(shè)計(jì)方法;
(2)學(xué)習(xí)計(jì)數(shù)器設(shè)計(jì),多層次設(shè)計(jì)方法和總線數(shù)據(jù)輸入方式的
仿真,并進(jìn)行電路板下載演示驗(yàn)證。實(shí)驗(yàn)內(nèi)容:
1.完成計(jì)數(shù)器設(shè)計(jì)
基本功能及原理:
本實(shí)驗(yàn)要設(shè)計(jì)一個(gè)含有異步清零和計(jì)數(shù)使能的4位二進(jìn)制加減可控計(jì)數(shù)器,即有一個(gè)清零端和使能端,當(dāng)清零端為1時(shí)異步清零,即所有輸出值都為0,當(dāng)使能端為0時(shí),計(jì)數(shù)器停止工作,當(dāng)使能端為1時(shí),正常工作,由時(shí)鐘控制。另外,還應(yīng)該有一個(gè)控制端,當(dāng)控制端為0時(shí),進(jìn)行減法運(yùn)算,當(dāng)控制端為1時(shí),進(jìn)行加法運(yùn)算。輸出端有輸出值和進(jìn)位端,當(dāng)進(jìn)行加法運(yùn)算時(shí),輸出值遞增,當(dāng)減法運(yùn)算時(shí),輸出值遞減,同時(shí)進(jìn)位端進(jìn)行相應(yīng)的變化。
4位二進(jìn)制加減計(jì)數(shù)器的邏輯符號(hào):
程序設(shè)計(jì):
軟件編譯:
在編輯器中輸入并保存了以上4位二進(jìn)制加減計(jì)數(shù)器的vhdl源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析: 仿真結(jié)果如下:
分析:
由仿真圖可以得到以下結(jié)論:
當(dāng)enable端為0時(shí),所有數(shù)值都為0,當(dāng)enable端為1時(shí),計(jì)數(shù)器正常工作;當(dāng)reset端為1時(shí),異步清零,所有輸出數(shù)值為0,當(dāng)reset端為0時(shí),正常工作;當(dāng)updown端為0時(shí),進(jìn)行減法運(yùn)算,當(dāng)updown為1時(shí),進(jìn)行加法運(yùn)算;另外,當(dāng)程序進(jìn)行減法運(yùn)算時(shí),出現(xiàn)借位時(shí),co為1,其余為0,當(dāng)進(jìn)行加法運(yùn)算時(shí),出現(xiàn)進(jìn)位時(shí),co為1,其余為0。圖中所有的功能與我們?cè)O(shè)計(jì)的完全一樣,所以說(shuō)明源程序正確。2.50m分頻器的設(shè)計(jì)
基本功能及原理:
50m分頻器的作用主要是控制后面的數(shù)碼管顯示的快慢。即一個(gè)模為50m的計(jì)數(shù)器,由時(shí)鐘控制,分頻器所有的端口基本和上述4位二進(jìn)制加減計(jì)數(shù)器的端口一樣,原理也基本相同。分頻器的進(jìn)位端(co)用來(lái)控制加減計(jì)數(shù)器的時(shí)鐘,將兩個(gè)器件連接起來(lái)。50m分頻器的邏輯符號(hào)如下:
程序設(shè)計(jì):
軟件編譯:
在編輯器中輸入并保存了以上50m分頻器的vhdl源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析: 結(jié)果如下:
上圖為仿真圖的一部分,由于整個(gè)圖太大,所以顯示一部分即可,其余部分如圖以上圖規(guī)律一直遞增,直到50m為止,然后再重復(fù),如此循環(huán)。
上圖是部分輸出的顯示,由于整個(gè)圖太大,所以只顯示部分,其余部分如圖遞增。
分析:
由仿真圖可以看出,當(dāng)reset為0,enable為1時(shí)(因?yàn)楸緦?shí)驗(yàn)中計(jì)數(shù)器的模值太大,為了盡可能多的觀察出圖形,可讓reset一直為0,enable一直為1,即一直正常工作),輸出值由0一直遞增到50m,構(gòu)成一個(gè)加法計(jì)數(shù)器,與我們?cè)O(shè)計(jì)的功能一致。3.七段譯碼器程序設(shè)計(jì)
基本功能及原理:
七段譯碼器是用來(lái)顯示數(shù)字的,7段數(shù)碼是純組合電路,通常的小規(guī)模專用ic,如74或4000系列的器件只能作十進(jìn)制bcd碼譯碼,然而數(shù)字系統(tǒng)中的數(shù)據(jù)處理和運(yùn)算都是2進(jìn)制的,所以輸出表達(dá)都是16進(jìn)制的,為了滿足16進(jìn)制數(shù)的譯碼顯示,最方便的方法就是利用vhdl譯碼程序在fpga或cpld中實(shí)現(xiàn)。本項(xiàng)實(shí)驗(yàn)很容易實(shí)現(xiàn)這一目的。輸出信號(hào)的7位分別接到數(shù)碼管的7個(gè)段,本實(shí)驗(yàn)中用的數(shù)碼管為共陽(yáng)極的,接有低電平的段發(fā)亮。
七段譯碼器的邏輯符號(hào):
程序設(shè)計(jì):
軟件編譯:
在編輯器中輸入并保存了以上七段譯碼器的vhdl源程序后就可以對(duì)它進(jìn)行編譯了,編譯的最終目的是為了生成可以進(jìn)行仿真、定時(shí)分析及下載到可編程器件的相關(guān)文件。仿真分析:
仿真結(jié)果如下圖所示:
分析:具體分析與實(shí)驗(yàn)一中七段譯碼器的分析相同,在此不再贅述。計(jì)數(shù)器和譯碼器連接電路的頂層文件原理圖:
原理圖連接好之后就可以進(jìn)行引腳的鎖定,然后將整個(gè)程序下載到已經(jīng)安裝好的電路板上,即可進(jìn)行仿真演示。
實(shí)驗(yàn)心得:
經(jīng)過(guò)本次試驗(yàn),我學(xué)到了很多。首先,我加強(qiáng)了對(duì)quartus ii軟件的掌握;其次,我掌握了電路圖的頂層文件原理圖的連接,學(xué)會(huì)了如何把自己設(shè)計(jì)的程序正確的轉(zhuǎn)化為器件,然后正確的連接起來(lái),形成一個(gè)整體的功能器件;最后,我學(xué)會(huì)了如何安裝以及如何正確的把完整的程序下載到電路板上,并進(jìn)行演示驗(yàn)證。
實(shí)驗(yàn)三:大作業(yè)設(shè)計(jì)
(循環(huán)彩燈控制器)
實(shí)驗(yàn)?zāi)康模?/p>
綜合應(yīng)用數(shù)字電路的各種設(shè)計(jì)方法,完成一個(gè)較為復(fù)雜的電路設(shè)計(jì)。實(shí)驗(yàn)內(nèi)容:
流水燈(循環(huán)彩燈)的設(shè)計(jì) 設(shè)計(jì)任務(wù):
設(shè)計(jì)一個(gè)循環(huán)彩燈控制器,該控制器可控制10個(gè)發(fā)光二極管循環(huán)點(diǎn)亮,間隔點(diǎn)亮或者閃爍等花型。要求至少三種以上花型,并用按鍵控制花型之間的轉(zhuǎn)換,用數(shù)碼管顯示花型的序號(hào)?;驹恚?/p>
該控制器由兩部分組成,一部分是一個(gè)50m的分頻器,其主要用來(lái)控制花色變化的快慢;另一部分是一個(gè)彩燈控制器,該彩燈控制器可由兩個(gè)開(kāi)關(guān)控制花型的序號(hào),10個(gè)輸出分別控制10個(gè)發(fā)光二極管的亮暗,當(dāng)輸出為1時(shí),該發(fā)光二極管亮,輸出為0時(shí),該二極管滅。將分頻器的co端用來(lái)控制彩燈控制器的時(shí)鐘,將兩個(gè)器件連接起來(lái)。1.分頻器的設(shè)計(jì)
50m分頻器與實(shí)驗(yàn)二中的分頻器一樣,這里不再贅述。2.彩燈控制器的設(shè)計(jì) 基本原理:
該彩燈控制器由時(shí)鐘控制,reset異步清零,enable當(dāng)做使能端,由兩個(gè)開(kāi)關(guān)do(0-1)來(lái)控制選擇不同的花型,10個(gè)輸出端lig(0-9)來(lái)控制10個(gè)led燈的亮滅。因?yàn)橛昧藘蓚€(gè)開(kāi)關(guān)來(lái)控制花型,所以一共有4種花色。
彩燈控制器的邏輯符號(hào):
程序設(shè)計(jì):
3.七段譯碼器的設(shè)計(jì)
七段譯碼器是用來(lái)顯示不同花型的序號(hào)的,其設(shè)計(jì)與實(shí)驗(yàn)一中的設(shè)計(jì)一樣,這里不再贅述。循環(huán)彩燈控制器的原理圖:
仿真波形如下: 第一種花型:
第二種花型:
第三種花型:
第四種花型:
仿真分析:
將以上仿真波形圖和源程序?qū)Ρ龋覀兛梢钥吹?,仿真出?lái)的波形和我們?cè)O(shè)計(jì)的功能一致,這說(shuō)明源vhdl程序是正確的。實(shí)驗(yàn)心得:
本次試驗(yàn)是在沒(méi)有老師指導(dǎo)的情況下自己完成的,我在參考了網(wǎng)上的程序的情況下,最終成功的設(shè)計(jì)并正確的演示出了循環(huán)彩燈的不同花型。通過(guò)本次試驗(yàn),我真正的體會(huì)到了dea這門(mén)課的樂(lè)趣,也發(fā)現(xiàn)它對(duì)我們的學(xué)習(xí)和生活帶來(lái)很大的方便。
EDA實(shí)驗(yàn)報(bào)告全加器 EDA實(shí)驗(yàn)報(bào)告向量乘法器篇四
xx大學(xué)
university 《eda技術(shù)》實(shí)驗(yàn)報(bào)告
學(xué)
院:電子與信息工程學(xué)院
專
業(yè):電子信息科學(xué)與技術(shù)
姓
名:
xxx
班
級(jí):
xxx
學(xué)
號(hào):
xxxxxxxxx
指導(dǎo)老師:
xxx
這是模板,僅供參考,做實(shí)驗(yàn)報(bào)告的步驟都有,大家最好自己操練下,里面只有三個(gè)實(shí)驗(yàn)的例子
max+plus 實(shí)驗(yàn)名稱:設(shè)計(jì)作業(yè)(實(shí)驗(yàn)一)四選一多路選擇器
一、實(shí)驗(yàn)?zāi)康模菏煜ax+plus軟件的操作及應(yīng)用
二、實(shí)驗(yàn)步驟
1建立存儲(chǔ)工程的文件夾,如下:
2.打開(kāi)max+plusii軟件
3.建立工程
4.新建文本文件并以vhd格式保存()
5.敲入mux21代碼使其生成四選一芯片
5.1點(diǎn)擊max+puls ii/compiler進(jìn)行編譯
5.2點(diǎn)擊file/edit symbol即可對(duì)生成的四選一芯片進(jìn)行編輯
6.建立電路圖文件并保存(注意保存的名字不能與文本名字一致)
然后在空白處點(diǎn)擊右鍵再點(diǎn)擊enter symbol,雙擊剛剛建立的芯片即可
接下來(lái)就構(gòu)建原理圖了
進(jìn)行編譯后,如果要下載到開(kāi)發(fā)板上的話還要選擇引腳
點(diǎn)擊此處拖到芯片的引腳即可
7.建立波形圖并保存
點(diǎn)擊node/enter nodes from...這樣在波形圖中就把電路圖的輸入輸出引腳全部調(diào)進(jìn)來(lái)了 在里面選擇各個(gè)輸入引腳的的信號(hào)就行了
經(jīng)過(guò)編譯后再仿真(點(diǎn)擊max +plus/simulator)就可得到輸出的波形了 max+plus 設(shè)計(jì)作業(yè)(實(shí)驗(yàn)二)實(shí)驗(yàn)名稱:全加器的制作
一、實(shí)驗(yàn)?zāi)康模菏炀氄莆誱ax+plus軟件的操作
二、實(shí)驗(yàn)步驟
1.組成部件半加器源代碼 library ieee;use ;use ;use ;entity h_addr is port(a,b :in std_logic;co,so:out std_logic);end h_addr;architecture a of h_addr is begin so <= a xor b;co <= a and b;end a;2 全加器電路原理圖如下圖一所示:
圖一時(shí)序仿真圖形
max+plus 設(shè)計(jì)作業(yè)(實(shí)驗(yàn)三)實(shí)驗(yàn)名稱:矩陣鍵盤(pán)的制作
一、實(shí)驗(yàn)?zāi)康模菏煜ax+plus軟件的操作及應(yīng)用
二、實(shí)驗(yàn)步驟 文件的設(shè)計(jì)
library ieee;use ;use ;entity scanselect is port(clk:in std_logic;
res:in std_logic;in1,in2,in3,in4,in5,in6:in std_logic_vector(3 downto 0);sel:out std_logic_vector(2 downto 0);daout:out std_logic_vector(3 downto 0));end scanselect;architecture behave of scanselect is begin process(clk)variable cnt:std_logic_vector(2 downto 0);begin if(clk'event and clk='1')then
if res='0'then
cnt:=“000”;
else if cnt=“101” then cnt:=“000”;else cnt:=cnt+1;end if;end if;if cnt=“000” then daout(0)<=in1(0);daout(1)<=in1(1);daout(2)<=in1(2);daout(3)<=in1(3);elsif cnt=“001” then daout(0)<=in2(0);daout(1)<=in2(1);daout(2)<=in2(2);daout(3)<=in2(3);elsif cnt=“010” then daout(0)<=in3(0);daout(1)<=in3(1);daout(2)<=in3(2);daout(3)<=in3(3);elsif cnt=“011” then daout(0)<=in4(0);daout(1)<=in4(1);daout(2)<=in4(2);daout(3)<=in4(3);elsif cnt=“100” then daout(0)<=in5(0);daout(1)<=in5(1);daout(2)<=in5(2);daout(3)<=in5(3);elsif cnt=“101” then daout(0)<=in6(0);daout(1)<=in6(1);daout(2)<=in6(2);daout(3)<=in6(3);end if;end if;sel<=cnt;end process;end behave;
2.生成的圖形
2.電路圖層的設(shè)計(jì)
EDA實(shí)驗(yàn)報(bào)告全加器 EDA實(shí)驗(yàn)報(bào)告向量乘法器篇五
eda 實(shí)驗(yàn)報(bào)告
張佳興 2220241738 電氣工程及其自動(dòng)化1班
一、verilog語(yǔ)言反應(yīng)硬件特性舉例
cc(clk,en,cout)、input、output,這三個(gè)語(yǔ)句用verilog語(yǔ)言定義了一個(gè)邏輯器件,module后邊括號(hào)內(nèi)為端口名稱,每個(gè)端口都對(duì)應(yīng)硬件的一個(gè)引腳,引腳的輸入輸出性質(zhì)都由input、output所定義,c語(yǔ)言中對(duì)變量的定義,都是int等反應(yīng)數(shù)據(jù)大小的數(shù)據(jù)類型,不能反映硬件特性。
寄存器類型,表示一個(gè)具有保持作用的數(shù)據(jù)儲(chǔ)存單元,它只能在always語(yǔ)句和initial語(yǔ)句中被賦值,并且它的值從一個(gè)賦值到另一個(gè)賦值被保存下來(lái)。這種類型就和實(shí)際芯片中的寄存器作用一樣,可以將其中數(shù)據(jù)狀態(tài)保存一定時(shí)間,c語(yǔ)言中沒(méi)有這一類型。
語(yǔ)句當(dāng)其檢測(cè)到適當(dāng)狀態(tài)時(shí),執(zhí)行其中內(nèi)容。always @(posedge clk)語(yǔ)句就表明,檢測(cè)到高電平執(zhí)行,和實(shí)際芯片引腳狀態(tài)變化引起內(nèi)部變化原理一致,c語(yǔ)言中沒(méi)有過(guò)程賦值這種語(yǔ)句,c中也沒(méi)有對(duì)高低電平、上升下降沿的判斷條件。
g語(yǔ)言中的模塊例化,將各個(gè)模塊程序在例化程序里結(jié)合起來(lái),在硬件層面就相當(dāng)于將各個(gè)小的模塊互相連接,構(gòu)成一個(gè)大的模塊,c語(yǔ)言中類似的形式是函數(shù),一個(gè)函數(shù)可以有子函數(shù),但是c中的函數(shù)不能反應(yīng)硬件特性。
二、數(shù)字頻率計(jì)設(shè)計(jì)與調(diào)試總結(jié)
在進(jìn)行課程設(shè)計(jì)的過(guò)程中我遇到了以下幾點(diǎn)困難:
1.在最初設(shè)計(jì)時(shí),沒(méi)能利用硬件的思想來(lái)設(shè)計(jì)這個(gè)題目,導(dǎo)致頻率頻率計(jì)數(shù)的邏輯控制部分設(shè)計(jì)不清。在參考老師所提供的框圖后了解應(yīng)將邏輯控制部分單獨(dú)設(shè)計(jì)成一個(gè)模塊,通過(guò)en和clr來(lái)控制計(jì)數(shù),這樣技術(shù)部分就可以將之前的實(shí)驗(yàn)內(nèi)容移植過(guò)來(lái),十分簡(jiǎn)便。
2.在設(shè)計(jì)過(guò)程中的,鎖存部分原理沒(méi)有搞懂。按照老師的框圖,從前向后分析,發(fā)現(xiàn)鎖存的時(shí)鐘clk是之前邏輯控制部分的lock引腳所提供,這樣就將每個(gè)周期所計(jì)得的頻率結(jié)果在同一個(gè)時(shí)序通過(guò)鎖存器向后傳輸。
3.配置引腳時(shí)出錯(cuò),將數(shù)碼管的位選引腳順序弄反,導(dǎo)致數(shù)碼管顯示錯(cuò)誤。仔細(xì)檢查,發(fā)現(xiàn)錯(cuò)誤,改正后正常運(yùn)行。4.在拓展功能一的設(shè)計(jì)中,將十分頻部分弄錯(cuò),最后出來(lái)的結(jié)果和預(yù)期差了一些。在當(dāng)堂實(shí)驗(yàn)課中,這個(gè)錯(cuò)誤我沒(méi)能及時(shí)糾正,回來(lái)之后,我對(duì)應(yīng)程序認(rèn)真檢查,發(fā)現(xiàn)我的十分頻,被我設(shè)計(jì)成了逢9進(jìn)1,導(dǎo)致最后結(jié)果錯(cuò)誤。
5.發(fā)現(xiàn)了自己很多語(yǔ)法問(wèn)題,比如在過(guò)程賦值中對(duì)wire類型數(shù)據(jù)進(jìn)行賦值導(dǎo)致錯(cuò)誤,module定義的模塊名稱沒(méi)有和文件名稱對(duì)應(yīng)導(dǎo)致錯(cuò)誤等,最終我通過(guò)ppt及網(wǎng)絡(luò)途徑解決了這些問(wèn)題。
在這次實(shí)驗(yàn)中,基本功能全部實(shí)現(xiàn),并且是我自行制作,拓展功能一,同樣是我自行完成,不過(guò)我當(dāng)時(shí)得到的結(jié)果有誤差,實(shí)驗(yàn)后我已經(jīng)發(fā)現(xiàn)了問(wèn)題,改正了錯(cuò)誤。拓展功能二沒(méi)有實(shí)現(xiàn)。
三、對(duì)課程的建議
1.我希望老師以后的實(shí)驗(yàn)過(guò)程中能夠有一個(gè)答疑環(huán)節(jié),在實(shí)驗(yàn)前,我們可以對(duì)預(yù)習(xí)中不懂的部分進(jìn)行提問(wèn)。
2..希望老師能增加一些課時(shí),或者給我們一些課外時(shí)間去到實(shí)驗(yàn)室,我們的實(shí)驗(yàn)我自我感覺(jué)相對(duì)別的實(shí)驗(yàn)來(lái)說(shuō)難度還是比較大的,我覺(jué)得如果有充足的時(shí)間,灑家可以將拓展部分做出來(lái),為自己爭(zhēng)取更好的分?jǐn)?shù)。