




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)一.序列檢測(cè)器設(shè) 【仿真分析及分步結(jié)果 【FPGA資源使用及warning的理解 實(shí)驗(yàn)二.數(shù)字鎖設(shè) 【仿真分析及分步結(jié)果 【FPGA資源使用及warning的理解 實(shí)驗(yàn)三.四位符號(hào)除法設(shè) 【仿真分析及分步結(jié)果 【FPGA資源使用及warning的理解 實(shí)驗(yàn)四.同步FIFO的設(shè) 一 實(shí)驗(yàn)?zāi)?二 實(shí)驗(yàn)內(nèi) 1、FIFO模塊接 仿真編寫及仿真波 4、關(guān)于warning的說 5、使用資源說 三.實(shí)驗(yàn)總 四.附 仿真 實(shí)驗(yàn)五.屏幕保護(hù)程序的設(shè)計(jì)與實(shí) 三.實(shí)驗(yàn)方 四.實(shí)驗(yàn)總 五.附 實(shí)驗(yàn)六.鎖相環(huán)設(shè)計(jì)設(shè)計(jì)報(bào) 【仿真分析及分步結(jié)果 【FPGA資源使用及warning的理解 實(shí)驗(yàn)七.Cordic算法實(shí)現(xiàn)設(shè)計(jì)報(bào) 四.具體方 功能仿 VHDL實(shí) 五.仿真效 實(shí)際效 六.實(shí)驗(yàn)總 實(shí)驗(yàn)一.序列檢測(cè)器設(shè)【問題描述1101reset有效。【設(shè)計(jì)方案sel端處使用Moore狀態(tài)機(jī),1101同sel[0]綁定,最的‘1’同sel[3]綁定。速率同sel[3downto0]選擇速率一致即可。此處應(yīng)該注意的是resetsegmentsel都回到初值。對(duì)于防抖動(dòng)的部分,pdfbasys2板【仿真分析及分步結(jié)果下圖為整個(gè)模塊的RTLdivider控制燈亮或者不亮即找到或者沒有找到指定序列。My_segment為數(shù)碼管顯示模塊,其segment[6downtown0]sel[3downto0]兩個(gè)部分控制數(shù)碼管。bit/=bit_delay來判定是否按鍵按下。序列檢測(cè)模塊中,需要注意狀態(tài)機(jī)的寫法是狀態(tài)是固定的幾種(本實(shí)驗(yàn)中是4led=1,即使得小燈亮的狀態(tài)只有一種。數(shù)碼管顯示部分要與序列檢測(cè)部分綁定一起,即只有sel[3]=’1’bit=’1;reset有效?!綟PGA資源使用及warning的理解ifclk’eventandclk=’1’之下,即所有的寄存器都是去檢測(cè)時(shí)鐘邊沿而不是僅僅對(duì)時(shí)鐘進(jìn)行判warningwarningsegment_dat這個(gè)寄存器掉以節(jié)約合時(shí)這種截掉某些Bit(如沒有連線的Register,只定義沒有用到的Register【Testbench由于對(duì)于第一個(gè)實(shí)驗(yàn)相對(duì)簡單,因而很多同學(xué)都沒有使用testbench來進(jìn)行,Testbenchd0d1(bit0bit1)bit1waitfor10*clk_period后為’1’然T內(nèi)變?yōu)椤?’,依次來代表在實(shí)際上按下一個(gè)按鍵’1’的情形?!緦?shí)驗(yàn)結(jié)論檢測(cè)檢測(cè)檢測(cè)到檢測(cè)檢測(cè)到檢測(cè)燈亮檢測(cè)檢測(cè)到檢測(cè)到Resetreset沒有暗,后來經(jīng)過調(diào)試較reset后的初始值就好了。由于實(shí)驗(yàn)調(diào)試中發(fā)現(xiàn)“1101”序列并不是每一次都可以檢測(cè)到,這也是代碼有些Bug實(shí)驗(yàn)二.數(shù)字鎖設(shè)【問題描述撥碼開關(guān)限制4位,8個(gè)開關(guān)每兩個(gè)開關(guān)表達(dá)0,1,2三個(gè)數(shù)字中的一個(gè),按鍵輸入bit0,bi1,bi2三位來表達(dá)0,1,2三個(gè)數(shù)字,按鍵輸入,數(shù)碼管相應(yīng)顯示,若正確,則指示reset復(fù)位?!驹O(shè)計(jì)方案sel端處使用Moore狀態(tài)機(jī),sel輸出,按鍵輸入只有與開關(guān)對(duì)應(yīng)上,狀態(tài)速率同sel[3downto0]選擇速率一致即可。此處應(yīng)該注意的是resetsegmentsel都回到初值。對(duì)于防抖動(dòng)的部分,pdfbasys2板【仿真分析及分步結(jié)果bit[2downto0],檢測(cè)輸出是否與撥碼開關(guān)設(shè)置相同。My_segmentsegment[6downtown0]sel[3downto0]兩Bit[2downto0]的輸入中值得提到的是檢測(cè)到按鍵按下這一步驟,不能直接寫作bit/=bit_delay來判定是否按鍵按下。狀態(tài)轉(zhuǎn)移模塊中,需要注意狀態(tài)機(jī)的寫法是狀態(tài)是固定的幾種(本實(shí)驗(yàn)中是4數(shù)碼管顯示部分要與序列檢測(cè)部分綁定一起,即只有sel[3]=x3;sel[2]=x2;sel[1]=x1;sel[0]=x0;才可以認(rèn)為輸出正確。【FPGA資源使用及warning的理解ifclk’eventandclk=’1’之下,即所有的寄存器都是去檢測(cè)時(shí)鐘邊沿而不是僅僅對(duì)時(shí)鐘進(jìn)行判warningwarningsegment_dat這個(gè)寄存器掉以節(jié)約合時(shí)這種截掉某些Bit(如沒有連線的Register,只定義沒有用到的Register的速率,如果在高速中,會(huì)嚴(yán)重影響時(shí)序。上述綜合的warning也很常見,就是在代碼中缺少一些需要的敏感表。從程序的寫如果是異步(reset在實(shí)驗(yàn)中使用的就是異步的)就應(yīng)該加入敏感表中。否則將會(huì)變成同【Testbench由于前幾個(gè)實(shí)驗(yàn)相對(duì)簡單,因而很多同學(xué)都沒有使用testbench來進(jìn)行,直接detectror(狀態(tài)轉(zhuǎn)移圖)testbench如上圖。Testbenchbit[2downto0]reset,同時(shí)可以看到在輸出正確結(jié)果led7led0亮?!緦?shí)驗(yàn)結(jié)論燈亮N次都失敗之后給出一個(gè)標(biāo)示燈亮標(biāo)示嘗試次數(shù)過多,需要鎖定等。實(shí)驗(yàn)三.四位符號(hào)除法設(shè)【問題描述【設(shè)計(jì)方案 B【仿真分析及分步結(jié)果下圖為整個(gè)模塊的RTLSignedDividerDin1(3downto0)為被除數(shù),Din2(3downto0)為除數(shù),Dout為輸出的商,Rout為輸出的【FPGA資源使用及warning的理解ifclk’eventandclk=’1’之下,即所有的寄存器都是去檢測(cè)時(shí)鐘邊沿而不是僅僅對(duì)時(shí)鐘進(jìn)行判When…else語句,因而組合邏輯的使用相對(duì)較多,when….elseif…else雖然可以寫出同樣的功能,但是它們用法背后的本質(zhì)是不同的,if…elseprocesswhen…elseprocess外面,是并if…else語句,而時(shí)間要求小,需要同步when…else。warning很少,全部都是由于冗余的寄存器造成在綜合的時(shí)候需要被截掉Bit(Register,只【Testbench本實(shí)驗(yàn)并沒有用testbench【實(shí)驗(yàn)結(jié)論實(shí)驗(yàn)四.同步FIFO的設(shè)一.實(shí)驗(yàn)?zāi)?FIFO2FIFOVHDLVHDL二.實(shí)驗(yàn)內(nèi)1FIFO-FIFO深度,若FIFO內(nèi)數(shù)據(jù)數(shù)目Full8-FIFO寬度,代表數(shù)據(jù)的位4-FIFO-1-1reset-FIFO-1FIFO-1FIFO-FIFO-1FIFO1FIFO-1FIFO1FIFO1如圖示,我們?cè)O(shè)計(jì)的Ram_FIFO模塊由FIFO_Control模塊和ram模塊組成。其中FIFO_ControlramFIFO_Full、FIFO_Empty信號(hào)。Full、Empty判斷0,emptypre1從-10,full信號(hào)置高。3、Testbench、仿真編寫及仿真波針對(duì)頂層模塊,我們編寫了testbench以及的仿真fifosim.do,見附錄。之后在中輸入dofifosim.do指令得到以下仿真波形:圖 從仿真波形可以看出,我們的testbench是按照助教的給出的示例波形給的信號(hào),而仿4warning516、DataWidth8bit、AddrSize4bit,占用資源較少。另外其實(shí)這個(gè)實(shí)驗(yàn)并沒有要下到實(shí)驗(yàn)板三.實(shí)驗(yàn)總FIFO的接口、功能,并自己編寫代碼實(shí)現(xiàn)。在實(shí)現(xiàn)過程中注意到GENERICFIFO_Depth、DataWidth、AddrSize設(shè)為可調(diào)節(jié)。另外學(xué)習(xí)了testbench的編寫以及仿真的編寫,寫一個(gè)好的testbench不FIFO功能,在我們調(diào)試過程、查錯(cuò)過程中也會(huì)有很大的幫助。四.附
仿真vcomvsim-novoptwork.FIFO_testaddwave\{sim:/FIFO_test/wr_en}{sim:/FIFO_test/fifo_empty}radixunsignedwhen{$now=@2500ns}{echo"Simulationend"}run-all實(shí)驗(yàn)五.屏幕保護(hù)程序的設(shè)計(jì)與實(shí)一.實(shí)驗(yàn)?zāi)?.二.實(shí)驗(yàn)內(nèi)ROM8x5184btn[0]45度方向移動(dòng),移到屏幕btn[0]圖像又繼續(xù)動(dòng)作。btn[1]1btn[2]2:滾三.實(shí)驗(yàn)方1圖2屏保模塊框 圖396x54像素顯示圖在ScreenSaver模塊中有調(diào)用一個(gè)IPCoreBlockMemory用以96x54像素圖“ world”圖像并通 處理Mc''c
4IPCoreBlockMemory實(shí)現(xiàn)ROMVGAVGA25MHz640x480的標(biāo)25MHz1/(25x106)=0.04us640x480640640x0.04us=25.60usVGA一般規(guī)范,同步脈沖的長度大約為行顯示時(shí)間的0.15倍,這里我取96個(gè)時(shí)鐘像素。而顯示后沿和顯示前沿大約各為行顯示時(shí)間的3/40和1/40。因此,顯示后沿和1.92us0.64us4816個(gè)時(shí)鐘像素。80032us160s,32us521行。場(chǎng)時(shí)序需要480行x32us/行=15.360ms的時(shí)間。根據(jù)規(guī)范,場(chǎng)同步脈沖大約為場(chǎng)時(shí)序的1/240。因此,場(chǎng)同步脈沖Sync需要0.064ms,即2行。顯示前沿和顯示后沿分2910行。29480行的像素可見區(qū)域,最10521,清零并按上述過程重新開始,VGA控制器開始往屏幕寫入新的一幀。12:154541如此往復(fù)得到。滾world”(具體實(shí)現(xiàn)見代碼)offset1966BRAM3IPCoreBlockMemory所用到的??梢钥吹皆搶?shí)驗(yàn)板一共的BRAM所以一幅96x54像素的圖像是較為合理的利用了資源。Countercounter(3)4、5、6位都沒有連任何東西,所以不會(huì)影響結(jié)果。之所以將counter6位,是因?yàn)檎{(diào)試起來方便,調(diào)節(jié)圖四.實(shí)驗(yàn)總本次實(shí)驗(yàn)中用到了IPCore,學(xué)會(huì)了用 生成mark.coe文檔初始化ROM??梢哉f,合理的調(diào)用IPCore可以讓我們程序設(shè)計(jì)更加高效。如專門寫testbenchtestbench。IPCore的方式與助教給出的略有不同。我用的軟件環(huán)境是XilinxISEDesignSuite12.464bit。但最終實(shí)現(xiàn)的功能相同。五.附代碼:functionimg2=IMG2coe8(imgfile,outfile)fprintf(s,'%s\n',';VGAMemoryMap');fprintf(s,'%s\n',';.COEfilewithhexcoefficients');forr=1:heightfor
實(shí)驗(yàn)六.鎖相環(huán)設(shè)計(jì)【問題描述率要“實(shí)時(shí)”到。主要思路是利用鎖相環(huán)來實(shí)現(xiàn)輸出信號(hào)對(duì)于輸入信號(hào)的鎖定?!驹O(shè)計(jì)方案N計(jì)數(shù)器四部分構(gòu)成。如下圖:Fo1000Hz的數(shù)量級(jí)。其中可逆控制模塊與加減控制模塊額clk50M主時(shí)鐘。K的計(jì)數(shù)器(K=50M/1000,數(shù)量級(jí)在這個(gè)范1’時(shí),可逆計(jì)數(shù)器加,加到K則逸出“進(jìn)2分頻。在不同的M下,N的選擇也是不同的。因而實(shí)際中我是在每個(gè)周期都是對(duì)輸入信號(hào)T,來換算得到合適N值。【仿真分析及分步結(jié)果下圖為整個(gè)模塊的RTLs_gentask6_basic模塊是DPLL鎖相環(huán)模塊,輸出一個(gè)1.5倍頻的50%占空比的,其中ISIMclk為時(shí)鐘,x為輸入,y_temp為輸出,resetpadyx1.5y50%,滿足要求。在testbench里面,x1000hz量級(jí)來實(shí)現(xiàn)。下圖為模K計(jì)數(shù)testbench示意圖,其中K此時(shí)選取25,可以看到輸入信號(hào)占空比上圖為加減控制器的testbenchins為上升沿(這里僅僅去采insdecins為’1’的時(shí)候都減少脈沖)時(shí),iout輸出信號(hào)會(huì)減少一個(gè)dec為上升沿時(shí),iout輸出信號(hào)會(huì)增加一個(gè)脈沖。Iout信號(hào)的增加或者減(200nsinsdec的上升沿時(shí),都應(yīng)該先去判iout的輸出是高還是低,若為‘10decinsdec做一個(gè)寄【實(shí)驗(yàn)特色1.510Hz/sNN的大小與輸入信號(hào)有關(guān),輸入頻NTT結(jié)束都去重新更ns級(jí)別內(nèi)?!綟PGA資源使用及warning的理解DPLL模塊中鎖為寄存器。Tempclk上升沿的時(shí)候改變。warningwarningn2這個(gè)寄存器我給它元件之間的扇出量,影響它前級(jí)和后繼模塊的速率,如果在高速中,會(huì)嚴(yán)重影響時(shí)序。還有一種綜合的warning很常見,就是在代碼中缺少一些需要的敏感表。從程序的【Testbench每一步驟的仿真波形見上文中的“仿真及分步結(jié)果,這里僅簡略描述我對(duì)于每一testbench中輸入信號(hào)是如何給出的。Testbench對(duì)于一個(gè)需要分塊進(jìn)行的模塊是十分必要的,尤其是對(duì)于一些自己并不確定(DPLL3testbenchK計(jì)數(shù)器,及加減控制模塊。而對(duì)于分頻模塊和除法模塊則沒有testbench)【實(shí)驗(yàn)結(jié)論Spartan3dsp48E,所以用了*號(hào)來做乘法,后來一直有這樣做出來更有成就感,更能感受到自己如果真正參與科研也是做一個(gè)整體的一部分的感覺。1.5倍頻,而且還給定了輸入信號(hào)的范圍,但是頻率是輸入頻率1.5倍頻的的思路更容易理解(如開始生成一個(gè)1000hz的,然后用一寫counter來計(jì)數(shù)比較頻率,小則加,大則減,這種思路已經(jīng)拋開了鎖相環(huán),但是同樣實(shí)驗(yàn)七Cordic算法實(shí)報(bào)一.實(shí)驗(yàn)?zāi)緾ordicsin和cos二.實(shí)驗(yàn)內(nèi)0000416p和角度數(shù)值(單位是弧度)的對(duì)應(yīng)關(guān)系如下:
/2
/2即:顯示“FFFF”代表/2“0001”代表 BTN3、2、1、04個(gè)數(shù)碼管顯示的角度內(nèi)容,每按一下按鈕,對(duì)1(加到‘F’時(shí)再按按鈕回到‘SW0SW1cos值,SW1sin416d和對(duì)應(yīng)的數(shù)值vvd/1即:顯示“FFFF”代表計(jì)算結(jié)果v1,顯示“0001”代表v 1090三.實(shí)現(xiàn)原CordicCordic算法實(shí)現(xiàn)的是一次極坐標(biāo)的轉(zhuǎn)換,如下圖所示,將極坐標(biāo)向量(X0,Y0)變成新極坐標(biāo)向量(X,Y)
(X,X
sinX0Y sin
Y
(X0,
0 每一次
X1
Snn
narctann
而
SnXn1cos
sinSnnXn
sinS
cosS
Yn1 n nnn利用上述公式從X0Y0依次計(jì)算X1,Y1、X2Y2、X3,Y3、……、XN,YN。N,XN,YNX,Y。根據(jù)n的特殊取值(3)可以簡化公式(5)的硬件實(shí)現(xiàn),即Xn1
cos
2nX
nS2 Yn1 n如果在計(jì)算遞推表達(dá)式(6)的時(shí)候故意漏掉前面的系數(shù)cosn,即用下面的迭代表達(dá)式 S2nXnYSn n1nYSn
2
Y
n1
n
X則,當(dāng)?shù)螖?shù)足夠大時(shí)(n)可以發(fā)現(xiàn)最終的迭代結(jié)果
和直接計(jì)算公式(1)XY到的正確答案 的關(guān)系為Y
X
cos
X
Y Y
Kcosn0.607253XnXn1 S2Yn1Snn1 XnYnZn1ZnSn1ifZifZnnnX Y cosn XYX,Y就是要求的Sin
累計(jì)旋轉(zhuǎn)的角
和最終需要旋轉(zhuǎn)角度
X1
k
Y00,Z0Zn k
S
ifZn
ifZn
利用Cordic計(jì)算cos和sin(7)(8)對(duì)坐標(biāo)(1,0)旋轉(zhuǎn)角度得到的坐標(biāo)X,Ycossin其中公式(8)所做的乘法運(yùn)算K0.607253體方根據(jù)上述Cordic算法,設(shè)計(jì)了如 設(shè)計(jì)做功能仿真。代碼在老師給出的基礎(chǔ)上做了進(jìn)N=17是根據(jù)運(yùn)算精度得出的結(jié)論。N=17是根據(jù)運(yùn)算精度得出的結(jié)論。度,做有符號(hào)數(shù)運(yùn)算時(shí)補(bǔ)一位。角度θ的精度為16位,theta_bintheta做十二進(jìn)制轉(zhuǎn)換,轉(zhuǎn)換172VHDLROM提供數(shù)Z為π/2的量化(VHDLtestbench相對(duì)應(yīng)xy2*17XY,通過仿真,VHDLTest波形進(jìn)aquirementoftheprecision%arctan(2^-16)>pi/2/2^16>arctan(2^-17)forn=1:N-
2Cordicifs==0VHDLVHDL3首先是Cordic_pipline模塊。該模塊功能是進(jìn)行一次右圖中的公式運(yùn)算。其中調(diào)用了ipCORE,用于上述中4IPCore-BlockMemorytheta.coe文檔如下:Cordic模塊接收所需運(yùn)算的角度大小,并控制Cordic_pipline17次,將輸出傳遞給輸入以實(shí)現(xiàn)迭代。其中,整個(gè)迭代運(yùn)算在兩拍內(nèi)完成,一拍Cordic_pipline輸出到輸入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年河南單招英語模擬試題及答案
- 水利水電建筑工程專業(yè)2019年單招大綱及樣題參考答案
- 靜脈輸液血栓栓塞的預(yù)防及處理
- 北京印刷學(xué)院《名著導(dǎo)讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 面部護(hù)膚知識(shí)普及課件
- 溫州醫(yī)科大學(xué)仁濟(jì)學(xué)院《GMP法規(guī)及實(shí)務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年高考語文寫作滿分作文范文9篇
- 毛澤東思想的形成和發(fā)展
- 湖南省株洲市醴陵第二中學(xué)2024-2025學(xué)年高三4月一模試卷語文試題含解析
- 湖北醫(yī)藥學(xué)院《普通生物學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- GB/T 4802.1-2008紡織品織物起毛起球性能的測(cè)定第1部分:圓軌跡法
- GB/T 15098-1994危險(xiǎn)貨物運(yùn)輸包裝類別劃分原則
- 單組份室溫固化硅橡膠物質(zhì)安全數(shù)據(jù)表MSDS模板
- 2022年北京事業(yè)單位招聘考試真題及答案解析
- 高中英語 選必二 Unit3 Times change 第4課時(shí)-developing ideas- Emojis a new language 課件
- 機(jī)動(dòng)車檢測(cè)站突發(fā)環(huán)境污染事件應(yīng)急預(yù)案
- 關(guān)于赴XXX醫(yī)院參觀學(xué)習(xí)聯(lián)系函
- 【匯總】高二政治選擇性必修三(統(tǒng)編版) 重點(diǎn)知識(shí)點(diǎn)匯總
- T∕CIS 71001-2021 化工安全儀表系統(tǒng)安全要求規(guī)格書編制導(dǎo)則
- 體醫(yī)融合與健康中國課件
- 福利院裝修改造工程施工組織設(shè)計(jì)(225頁)
評(píng)論
0/150
提交評(píng)論