版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
綜合方面經(jīng)綜合后:普通的數(shù)據(jù)單端輸入都會(huì)加一個(gè)IBUF緩沖器;數(shù)據(jù)單端輸出有個(gè)OBUF緩存器;時(shí)鐘輸入口會(huì)加BUFGP緩沖器;對(duì)于4選1的mux,if結(jié)構(gòu)和case結(jié)構(gòu)都只需要一個(gè)slice,由MUXF5控制兩個(gè)LUT下圖為8選一case結(jié)構(gòu),MUXF6控制兩個(gè)MUXF5,以?xún)蓚€(gè)slices實(shí)現(xiàn)8選1,用if結(jié)構(gòu)實(shí)現(xiàn)的結(jié)構(gòu)也是一樣的注意一點(diǎn):使用ViewTechnologySchematic,來(lái)查看最底層的實(shí)現(xiàn)形式,即FPGA中的LUT、MUXF5等使用但有的綜合后RTLSchematic相同,TechnoligySchematic不同,而有的又相反(如onebit相加,加括號(hào)前后例子),那么我們應(yīng)該以哪種為最優(yōu)呢?如下圖:圖上下分別為加括號(hào)前和加括號(hào)后RTL:只有根據(jù)實(shí)際需要來(lái)選擇,如信號(hào)的先后順序等等2.LUT的名字后_數(shù)字,那個(gè)數(shù)字代表什么意思?LUTa_b:a代表所有輸入數(shù)據(jù)位寬,即輸入數(shù)據(jù)的個(gè)數(shù),切勿將位寬理解為“每個(gè)輸入端口的數(shù)據(jù)寬度(因每個(gè)輸入端口是單bit輸入);b代表LUT被初始化的狀態(tài)3.比較器位寬大小對(duì)綜合結(jié)構(gòu)的影響當(dāng)比較的位寬高于一定位數(shù)時(shí),綜合會(huì)采用進(jìn)位鏈結(jié)構(gòu),如下圖:4.在調(diào)用DCM核時(shí),CLKFX_OUT為輸出引腳,并且LOCKED_OUT必須勾上,否則波形無(wú)法輸出,具體步驟參考本文件夾下“dcm核設(shè)置”5.如何判斷PCB板上的復(fù)位芯片是低復(fù)位還是高復(fù)位?將復(fù)位芯片的輸出連接至LED等,若正常工作后是亮(前提是LED另一端是接地),表示正常工作是高,說(shuō)明之前是低,即為低復(fù)位,不亮則為高復(fù)位6.兩種不同下載接口的比較<具體還可參考項(xiàng)23>eq\o\ac(○,1)每個(gè)FPGA都有兩組下載接口JTAG和SPI;eq\o\ac(○,2)JTAG中TMS為模式選擇,TCK為時(shí)鐘,TDI和TDO分別為輸入輸出數(shù)據(jù);eq\o\ac(○,3)SPI中SS(有的為STB)為片選信號(hào),SCK為時(shí)鐘信號(hào),另外兩根為數(shù)據(jù)信號(hào);eq\o\ac(○,4)通過(guò)JTAG下載程序到FPGA:編程管腳跳針要拔掉,掉電后程序也會(huì)丟失,即下次上電工作后需要重新下載程序eq\o\ac(○,5)通過(guò)SPI下載程序到FPGA:先將編程引腳PROG接地,SPI接口斷開(kāi)與FPGA通信,而與flash通信,程序下載到外掛FLASH中,然后將PROG跳針拔掉,F(xiàn)LASH中程序下載到FPGA中eq\o\ac(○,6)外部Flash不單是一個(gè)裸存儲(chǔ)器,它還有SPI接口,圖中的SPI接口就是從FLASH的SPI接口中引出來(lái)的引腳eq\o\ac(○,7)SPI接口是串行同步通信,串口UART是串行異步通信7.關(guān)于示波器當(dāng)配置芯片相應(yīng)寄存器后,觀察輸出的波形頻率時(shí),若出現(xiàn)頻率跳動(dòng),可以檢查示波器上的采樣電平是否在波形的中間位置8.關(guān)于復(fù)位信號(hào)與寄存器聲明寄存器在聲明時(shí)最好給個(gè)初始值,即加載時(shí)的值,例如:reg[1:0]a=2’b00或直接寫(xiě)0;復(fù)位信號(hào)不要列在敏感列表中,直接使用if(rst),使rst成為控制信號(hào)9.如何看出接口讀取數(shù)據(jù)所用的時(shí)鐘沿上圖可以看出,時(shí)鐘的下降沿對(duì)準(zhǔn)數(shù)據(jù)中心,說(shuō)明該芯片的此接口是用時(shí)鐘的下降沿來(lái)讀取數(shù)據(jù)的上圖可以看出,時(shí)鐘的上升沿對(duì)準(zhǔn)數(shù)據(jù)中心,說(shuō)明該芯片的此接口是用時(shí)鐘的上升沿來(lái)讀取數(shù)據(jù)的故:如果芯片AB之間有走線延遲的話(huà),那么我們?cè)谛酒珹要用相反的時(shí)鐘沿送出數(shù)據(jù),經(jīng)過(guò)走線延遲后,芯片B對(duì)應(yīng)接口讀取數(shù)據(jù)的時(shí)鐘沿正好對(duì)準(zhǔn)到達(dá)芯片B的數(shù)據(jù)的保持時(shí)間,即使最大延遲半個(gè)周期,也正好對(duì)準(zhǔn)數(shù)據(jù)的中心10.FPGA內(nèi)部寄存器都是高復(fù)位,綜合時(shí)綜合工具會(huì)自動(dòng)為復(fù)位信號(hào)反相,若外部芯片為低復(fù)位,則可在FPGA設(shè)計(jì)時(shí),先將復(fù)位信號(hào)反相,然后使用if(rst)11.當(dāng)控制信號(hào)高于slice的供應(yīng)時(shí),可將控制信號(hào)轉(zhuǎn)化為數(shù)據(jù)信號(hào),例如:If(a)q<=b;轉(zhuǎn)換為q<=(a&b)|(!a&q);elseq<=q;12.毛刺問(wèn)題概念:由于延遲的作用,多個(gè)信號(hào)到達(dá)終點(diǎn)的時(shí)間有先有后,形成了競(jìng)爭(zhēng),由競(jìng)爭(zhēng)產(chǎn)生的錯(cuò)誤輸出就是毛刺產(chǎn)生條件:在同一時(shí)刻有多個(gè)信號(hào)輸入發(fā)生改變出現(xiàn)時(shí)間:由于冒險(xiǎn)多出現(xiàn)在信號(hào)發(fā)生電平跳變的時(shí)刻,即在輸出信號(hào)的建立時(shí)間內(nèi)會(huì)產(chǎn)生毛刺,而在保持時(shí)間內(nèi)不會(huì)出現(xiàn),13.調(diào)用ram
在建立RAM的IP核時(shí),關(guān)于是否選擇輸出寄存器,根據(jù)需要!選擇一個(gè)寄存器,數(shù)據(jù)則在采到地址后,延遲一個(gè)時(shí)鐘周期,才會(huì)輸出14.綜合后的寄存器fd為普通的寄存器;fdr為帶復(fù)位端的寄存器;fdre為帶復(fù)位端和使能端得寄存器15.寄存器地址注重參數(shù)化設(shè)計(jì)可以先用define定義相關(guān)寄存器的地址參數(shù),然后在運(yùn)用中使用該參數(shù),如下:`definereset_addr 4'b1101;always@(posedgeCLK32MornegedgeRST) begin if(!RST) begin SPI_EN<=8'b0010_0000; CTL[7:1]<=7'b1111_101; RESET<=8'b1101_0000; end elseif(wr_reg==2'b01) case(ADDR) `spi_en_addr : SPI_EN[7:0]<=DATA[7:0]; `reset_addr : RESET[7:0]<=DATA[7:0];………. 則地址寄存器名R/W默認(rèn)值說(shuō)明4’b1101RESETR/W8’b1101_0000復(fù)位寄存器當(dāng)給寄存器的賦值是某一固定值時(shí),為只讀寄存器16.綜合問(wèn)題將一輸入端口賦值給一個(gè)寄存器,再將該寄存器賦值給一個(gè)wire型輸出端口,則在綜合后,輸入不會(huì)賦值給輸出,注意上面的輸入輸出指的是整個(gè)工程的輸入輸出解決辦法:給輸入添加一個(gè)ibuf,或者給輸出添加一個(gè)obuf有時(shí)不必延遲一個(gè)時(shí)鐘周期,而直接將輸入賦值給輸出17.時(shí)序約束問(wèn)題eq\o\ac(○,1)寄存器到寄存器:過(guò)周期約束來(lái)設(shè)置,一般為實(shí)際時(shí)鐘頻率的110%;eq\o\ac(○,2)輸入管腳到寄存器:通過(guò)offsetin來(lái)設(shè)置,一般為半個(gè)時(shí)鐘周期;由于上游芯片的數(shù)據(jù)輸出和該FPGA的數(shù)據(jù)輸入使用的是同一個(gè)時(shí)鐘,故如果上游芯片的數(shù)據(jù)輸出采用下降沿,那么FPGA的offsetin就需采用上升沿;上游芯片的輸出到FPGA寄存器之間的延遲可能不到半個(gè)周期;eq\o\ac(○,3)寄存器到輸出管腳:參考eq\o\ac(○,2)18.系統(tǒng)同步接口和源同步接口的區(qū)別eq\o\ac(○,1)系統(tǒng)同步接口:上游芯片發(fā)送數(shù)據(jù)的時(shí)鐘和FPGA接收數(shù)據(jù)的時(shí)鐘均為系統(tǒng)時(shí)鐘,或者FPGA發(fā)送數(shù)據(jù)的時(shí)鐘和下游芯片接收數(shù)據(jù)的時(shí)鐘均為系統(tǒng)時(shí)鐘;eq\o\ac(○,2)源同步接口:上游芯片發(fā)送數(shù)據(jù)給FPGA的同時(shí),也發(fā)送接收時(shí)鐘給FPGA,或者FPGA發(fā)送數(shù)據(jù)給下游芯片的同時(shí),也發(fā)送接收時(shí)鐘給下游芯片。19.在為寄存器分配地址時(shí),常表示為0x…,這樣也表示是十六進(jìn)制!20.FPGA設(shè)計(jì)面積與速度面積指設(shè)計(jì)所占用的FPGA邏輯資源數(shù)目,即觸發(fā)器FF和查找表LUT的數(shù)目速度指芯片穩(wěn)定運(yùn)行時(shí)所能達(dá)到的最高頻率實(shí)際運(yùn)用中,存在二者之間的平衡操作有:模塊復(fù)用、乒乓操作、串并轉(zhuǎn)換以及流水線操作,其中流水線操作比較重要。21.同步電路與異步電路區(qū)別在于電路觸發(fā)是否與驅(qū)動(dòng)時(shí)鐘同步,從行為上將就是所有電路是否在同一時(shí)鐘沿的觸發(fā)下處理數(shù)據(jù)。以復(fù)位電路為例,如果在敏感表中使用negedgerst,則為異步電路設(shè)計(jì)原則:eq\o\ac(○,1)在多時(shí)鐘設(shè)計(jì)中,使設(shè)計(jì)做到局部同步,即同一時(shí)鐘驅(qū)動(dòng)的電路要同步于其同一時(shí)鐘沿(要么均采用上升沿,要么均采用下降沿),即盡量使用單時(shí)鐘和單時(shí)鐘沿。eq\o\ac(○,2)避免使用門(mén)控時(shí)鐘。門(mén)控時(shí)鐘是指產(chǎn)生時(shí)鐘使用了組合邏輯。門(mén)控時(shí)鐘相關(guān)的邏輯不是同步電路,可能帶有毛刺。雖可減小功耗,但隨著低功耗FPGA的發(fā)展,應(yīng)盡可能避免使用門(mén)控時(shí)鐘。eq\o\ac(○,3)禁止在模塊內(nèi)部使用計(jì)數(shù)器分頻來(lái)產(chǎn)生所需的時(shí)鐘,這樣會(huì)使時(shí)序分析變得復(fù)雜,產(chǎn)生較大的時(shí)鐘漂移,浪費(fèi)時(shí)序裕量,降低設(shè)計(jì)可靠性,不過(guò)對(duì)于低速系統(tǒng)采用一兩個(gè)是沒(méi)太大問(wèn)題,可以設(shè)計(jì)成時(shí)鐘使能電路,參考本目錄下其他資料。同步電路優(yōu)點(diǎn):eq\o\ac(○,1)有效避免毛刺,提高設(shè)計(jì)可靠性;eq\o\ac(○,2)簡(jiǎn)化時(shí)序分析過(guò)程;eq\o\ac(○,3)減少工作環(huán)境對(duì)設(shè)計(jì)的影響,異步電路受工作溫度、電壓等影響,器件延時(shí)變化較大,異步電路時(shí)序變得更加苛刻,導(dǎo)致芯片無(wú)法正常工作,而同步電路只要求時(shí)鐘和數(shù)據(jù)沿相對(duì)穩(wěn)定,時(shí)序要求相對(duì)寬松。22.單片機(jī)與ARM二者都可通過(guò)Intel總線或者SPI或者串口與外部芯片通信,并且通過(guò)CS信號(hào)來(lái)選擇要通信的芯片,故允許一定數(shù)量的芯片掛在Intel總線上23.FPGA配置過(guò)程及配置方式配置過(guò)程:eq\o\ac(○,1)上電后,F(xiàn)PGA若滿(mǎn)足相關(guān)條件便會(huì)自動(dòng)進(jìn)行初始化,初始化完成后DNOE信號(hào)將變低,并且以后都會(huì)是低電平;eq\o\ac(○,2)初始化完成后,F(xiàn)PGA會(huì)將INIT信號(hào)置低,開(kāi)始清空配置寄存器,清空完后將INIT信號(hào)置高;用戶(hù)可將PROG或者INIT信號(hào)置低,來(lái)延長(zhǎng)清空寄存器時(shí)間(注:INIT信號(hào)為雙向端口);eq\o\ac(○,3)清空寄存器后,F(xiàn)PGA對(duì)配置模式管腳M[2:0]采樣,確定數(shù)據(jù)配置模式;<001>為SPI模式,<000>為JTAG模式;eq\o\ac(○,4)若需重新配置,只需將PROG置低即可,這里不要使用INIT。配置模式:eq\o\ac(○,1)根據(jù)芯片能否自動(dòng)加載配置數(shù)據(jù),分為主模式、從模式和JTAG模式;eq\o\ac(○,2)主模式,能自動(dòng)將配置數(shù)據(jù)從相應(yīng)外存儲(chǔ)器讀入到SRAM中,實(shí)現(xiàn)內(nèi)部結(jié)構(gòu)映射,如我們比較常用SPI模式<FPGA是基于SRAM工藝的>;eq\o\ac(○,3)JTAG模式,數(shù)據(jù)直接從TDI進(jìn)入FPGA,完成相應(yīng)的配置,該模式用來(lái)對(duì)芯片進(jìn)行測(cè)試。<jointtestactiongroup>24.關(guān)于雙向端口的綜合結(jié)果分析例如:input[15:0]data_in,input[3:0]work_state, input[1:0]cnt_cl, inout[15:0]sdram_data, output[15:0]data_out,assignsdram_data=(work_state==W_WR)?data_in:16'bz;----------------------------eq\o\ac(○,1)assigndata_out=(cnt_cl==2'd2)?sdram_data:16'bz;------------------------------------eq\o\ac(○,2)綜合后如下:語(yǔ)句eq\o\ac(○,1)綜合成下面的BUFT;當(dāng)T2=0時(shí),sdram_data輸出data_in,當(dāng)T2=1時(shí),BUFT輸出高阻。需要注意兩點(diǎn):eq\o\ac(○,1)T1和T2要存在制約關(guān)系;eq\o\ac(○,2)不要去追究太多,程序中的式eq\o\ac(○,1)就綜合成下面的BUFT,式eq\o\ac(○,2)就綜合成上面的BUFT,另外,由于data_out不是雙向端口,故可將eq\o\ac(○,2)式改成:assigndata_out=(cnt_cl==2'd2)?sdram_data:16'b0;這樣上面BUFT就會(huì)用與門(mén)代替(本項(xiàng)目中綜合后是這樣的)eq\o\ac(○,3)上面的BUFT就等價(jià)于下面的電路:在功能仿真時(shí),雙向端口上如果沒(méi)有數(shù)據(jù),則輸出高阻態(tài)25.關(guān)于設(shè)計(jì)中給寄存器賦初值的分析賦初值后,在程序加載時(shí),會(huì)自動(dòng)為寄存器賦值,避免了在程序初始時(shí)刻出現(xiàn)“X”狀態(tài)26.SPI系統(tǒng)設(shè)計(jì),如下圖所示eq\o\ac(○,1)從SPI接口出來(lái)的數(shù)據(jù)地址總線以及讀寫(xiě)命令進(jìn)入各寄存器模塊管理,注意數(shù)據(jù)收發(fā)總線是獨(dú)立的兩組總線;eq\o\ac(○,2)數(shù)據(jù)線數(shù)據(jù)讀寫(xiě),通過(guò)地址線高位來(lái)控制,個(gè)人認(rèn)為,用高位地址來(lái)產(chǎn)生片選,用片選去控制輸出端,未被片選時(shí)輸出高阻態(tài),同時(shí)使用片選控讀寫(xiě)信號(hào),未被片選時(shí),不進(jìn)行讀寫(xiě)操作;eq\o\ac(○,3)功能接口只負(fù)責(zé)數(shù)據(jù)處理,然后數(shù)據(jù)送到相關(guān)寄存器模塊,供外部訪問(wèn);eq\o\ac(○,4)對(duì)于被選中的寄存器管理模塊,在寫(xiě)命令下,將從SPI送來(lái)的數(shù)據(jù)寫(xiě)入到功能接口發(fā)送寄存器,將數(shù)據(jù)從功能接口發(fā)送出去,或者也可寫(xiě)入其他相應(yīng)的寄存器,由寄存器地址決定;在讀命令下,將功能接口接收的數(shù)據(jù)寫(xiě)入SPI發(fā)送寄存器,從而發(fā)送到SPI總線上,注意地址要對(duì)應(yīng)。27.上電加載管腳PROG_B端的電容的容值要合適,在XC3S250E中為10UF,這樣才能正確下載程序!28.在FPGA上板調(diào)試過(guò)程中,如果相關(guān)信號(hào)不正確,考慮方向?查看PCB板上的時(shí)鐘芯片的時(shí)鐘頻率是否準(zhǔn)確;29.在問(wèn)題26中,遇見(jiàn)如下問(wèn)題:例如:在接口1reg管理模塊中,有個(gè)寄存器既輸出給SPI接口端數(shù)據(jù)總線,也輸出給功能接口1,在功能接口1中,對(duì)輸入的數(shù)據(jù)進(jìn)行了如下操作4'b0110:SERD<=datain[7]; 4'b0111:SERD<=datain[6]; 4'b1000:SERD<=datain[5]; 4'b1001:SERD<=datain[4]; 4'b1010:SERD<=datain[3]; 4'b1011:SERD<=datain[2]; 4'b1100:SERD<=datain[1]; 4'b1101:SERD<=datain[0];結(jié)果導(dǎo)致從SPI接口讀出的數(shù)據(jù)與寫(xiě)入的不一致解決辦法:將進(jìn)入功能接口1的數(shù)據(jù),先緩存,再使用,如下reg[7:0]datai_delay;always@(posedgeCK4MornegedgeRST)if(!RST) datai_delay<=8'b0;elseif(fame_len==4'b0000) datai_delay<=datain; else datai_delay<=datai_delay;再將第一段程序datain換成datai_delay所以,以后如果多個(gè)模塊共用一個(gè)寄存器的數(shù)據(jù),出現(xiàn)錯(cuò)誤的話(huà),不妨在某些模塊中,將該寄存器數(shù)據(jù)延遲。30.在頂層模塊中,輸出端口由多個(gè)模塊的輸出端口驅(qū)動(dòng)時(shí),綜合時(shí)報(bào)錯(cuò)怎么辦?解決辦法:在各個(gè)模塊使用使能信號(hào)將各個(gè)驅(qū)動(dòng)信號(hào)變成三態(tài)使能門(mén)31.FPGA調(diào)試方法對(duì)于在一段時(shí)間內(nèi),只在一個(gè)時(shí)鐘發(fā)生變化的信號(hào),可用點(diǎn)燈來(lái)測(cè)試該信號(hào)的正確性
測(cè)試程序是:當(dāng)該信號(hào)來(lái)時(shí),測(cè)試燈狀態(tài)改變,其他時(shí)刻保持不變
同理:對(duì)于不循環(huán)的計(jì)數(shù)器的特定也可以這樣來(lái)測(cè)試程序參考:regrun_r=1'b1;assignrun=run_r;always@(posedgeCLK32M)if(!rst) run_r<=1'b1; elseif(cs_send_ram) run_r<=1'b0; else run_r<=run_r;
對(duì)于整個(gè)程序,從時(shí)序的后端往前端,逐步測(cè)試,逐步判斷出錯(cuò)的地方32.關(guān)于總線驅(qū)動(dòng)在CPLD中,用assign語(yǔ)句直接對(duì)信號(hào)進(jìn)行驅(qū)動(dòng),不需要時(shí)鐘;同樣在FPGA中對(duì)信號(hào)進(jìn)行驅(qū)動(dòng),也采用一樣的方法,不要用時(shí)鐘去采樣,直接用assign33.關(guān)于時(shí)鐘選取的問(wèn)題有兩個(gè)時(shí)鐘A和B,若要將它們合并成一個(gè)時(shí)鐘C,從而在設(shè)計(jì)中使用C時(shí)鐘沿方法是:assignC=A&B,而不要弄成A|B34.數(shù)據(jù)選擇問(wèn)題:使用x條件判斷來(lái)從a和b中選擇一個(gè)賦值給c錯(cuò)誤語(yǔ)言:Wire[7:0]a,b,c;Wirex;Assignc=(!x&a)||(x&b);錯(cuò)誤原因:x是一位,a是8位,如何相與?正確寫(xiě)法:Assignc=x?a:b注意:這里的括號(hào)并不對(duì)多位數(shù)據(jù)進(jìn)行邏輯判斷(已經(jīng)綜合驗(yàn)證),只有在if等判斷語(yǔ)句中才對(duì)括號(hào)進(jìn)行邏輯判斷35.FPGA錯(cuò)誤排除方法當(dāng)?shù)玫降男盘?hào)不正確時(shí),檢查該信號(hào)在頂層端口是否對(duì)應(yīng),位寬是否正確36.FPGA選型對(duì)于中低速信號(hào),選擇FPGA主要考慮兩個(gè)方面:容量和管腳,其次還有價(jià)格和速度容量:看FPGA內(nèi)部的RAM的大小是否夠存數(shù)據(jù)幀,以及RAM的數(shù)目是否夠用管腳:數(shù)目是否夠用對(duì)于高速信號(hào),才考慮速度37.BlockRAM和DistributedRAM有什么區(qū)別?eq\o\ac(○,1)較大的存儲(chǔ)應(yīng)用,建議用bram;零星的小ram,一般就用dram。但這只是個(gè)一般原則,具體的使用得看整個(gè)設(shè)計(jì)中資源的冗余度和性能要求
eq\o\ac(○,2)dram可以是純組合邏輯,即給出地址馬上出數(shù)據(jù),也可以加上register變成有時(shí)鐘的ram。而bram一定是有時(shí)鐘的。
eq\o\ac(○,3)如果要產(chǎn)生大的FIFO或timing要求較高,就用BlockRAM。否則,就可以用DistributedRAM。在XilinxAsynchronousFIFOCORE的使用時(shí),有兩種RAM可供選擇,Blockmemory和Distributedmemory。差別在于,前者是使用FPGA中的整塊雙口RAM資源,而后者則是拼湊起FPGA中的查找表形成。
38.FIFO核生成時(shí),如下界面:第一列是選擇讀寫(xiě)時(shí)鐘是共用的還是獨(dú)立的,第二列選擇實(shí)現(xiàn)FIFO時(shí)是使用塊RAM還是使用分布式RAM
第一列根據(jù)自己需要選擇,第二列根據(jù)FIFO大小及時(shí)序來(lái)選擇,如37題所述。
注:各項(xiàng)選擇用同一個(gè)按鈕來(lái)選擇,而非分開(kāi)選擇39.板上調(diào)試時(shí),有時(shí)用示波器測(cè)量信號(hào),出現(xiàn)問(wèn)題是:無(wú)論量哪個(gè)管腳,都出來(lái)的是50HZ正弦波。問(wèn)題出在:探針的接地?cái)嗔?0.調(diào)試FPGA,信號(hào)不輸出當(dāng)仿真時(shí),某信號(hào)不輸出或者輸出為高阻時(shí),檢查方向:該模塊內(nèi)的信號(hào)是否與該模塊內(nèi)被調(diào)用模塊的信號(hào)相對(duì)應(yīng),包括被調(diào)用的IP核例如A模塊內(nèi)有信號(hào)a,A模塊內(nèi)調(diào)用了模塊B,模塊B中的信號(hào)b與頂層模塊A中的信號(hào)a相對(duì)應(yīng),則在A中,調(diào)用要正確,即對(duì)應(yīng)為.b(a)41.FIFO使用總結(jié)如果使用IP核的RST端口,請(qǐng)注意RST是高復(fù)位42.MCU數(shù)據(jù)雙向端口處理對(duì)于雙向端口,要通過(guò)片選處理成兩個(gè)獨(dú)立的輸入端口和輸出端口,從而方便掛多個(gè)器件。方法如處理SDRAM雙向數(shù)據(jù)端口一樣。43.MCU讀寫(xiě)時(shí)序分析圖一圖二
由上圖時(shí)序分析可知:?jiǎn)纹瑱C(jī)在ALE下降沿對(duì)準(zhǔn)地址中心處,故FPGA用ALE下降沿去采樣地址;單片機(jī)在讀信號(hào)上升沿讀取數(shù)據(jù),故FPGA要在讀信號(hào)下降沿給出數(shù)據(jù);單片機(jī)在寫(xiě)信號(hào)下降沿送出數(shù)據(jù),故FPGA在寫(xiě)信號(hào)上升沿讀取數(shù)據(jù)。44.FPGA模塊調(diào)用問(wèn)題——可參考項(xiàng)目OPU4中528K(V35網(wǎng)管信息)的FPGA設(shè)計(jì)舉例:工程中有相同的4組功能端口,它們實(shí)現(xiàn)相同的功能。在實(shí)現(xiàn)一組功能端口的功能后,不需要將該組模塊復(fù)制3遍,只需要將該組模塊在頂層模塊例化三遍,改變例化端口名即可。
如下,P是同一個(gè)功能接口,x和y是整個(gè)工程的輸入輸出端口,由于有四組端口,故在例化時(shí)要給不同的變量名,而四組端口調(diào)用同一模塊,故a和b不變。綜合時(shí),例化了多少次,rtl級(jí)電路中便有多少個(gè)該電路模塊,ip核同樣例化調(diào)用。inputx1,x2,x3,x4;outputy1,y2,y3,y4;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游服務(wù)行業(yè)勞動(dòng)合同樣本
- 教育機(jī)構(gòu)管理層合同范例3篇
- 數(shù)碼產(chǎn)品交易合同案例3篇
- 安裝合同范文集合3篇
- 居住證房屋租賃合同完整文本3篇
- 數(shù)據(jù)采集服務(wù)合作合同3篇
- 安徽電子政務(wù)勞動(dòng)合同樣本3篇
- 方木購(gòu)銷(xiāo)合同書(shū)格式3篇
- 安徽離婚協(xié)議書(shū)樣式3篇
- 攝影器材維修合同范本3篇
- GB/T 45076-2024再生資源交易平臺(tái)建設(shè)規(guī)范
- 10.2《師說(shuō)》課件 2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文必修上冊(cè)
- 2024年度企業(yè)重組與債務(wù)重組協(xié)議3篇
- 年高考新課標(biāo)I卷語(yǔ)文試題講評(píng)課件
- 《三 采用合理的論證方法》教學(xué)設(shè)計(jì)統(tǒng)編版高中語(yǔ)文選擇性必修上冊(cè)
- 2024-2025學(xué)年語(yǔ)文二年級(jí)上冊(cè) 部編版期末測(cè)試卷 (含答案)
- 職業(yè)技術(shù)學(xué)院無(wú)人機(jī)應(yīng)用技術(shù)專(zhuān)業(yè)人才培養(yǎng)方案
- 神經(jīng)病學(xué)第九版腦梗死
- 2024-2030年中國(guó)膏劑(膏方)行業(yè)競(jìng)爭(zhēng)狀況及營(yíng)銷(xiāo)前景預(yù)測(cè)報(bào)告版
- 國(guó)家太空安全
- 惠州學(xué)院《電機(jī)與拖動(dòng)基礎(chǔ)》2022-2023學(xué)年期末試卷
評(píng)論
0/150
提交評(píng)論