基于Wishbone總線的UART IP核設(shè)計(jì)
CHECK狀態(tài):當(dāng)狀態(tài)機(jī)處于這個狀態(tài),最后1位數(shù)據(jù)仍然在傳輸。傳輸完成時,狀態(tài)機(jī)將判斷校驗(yàn)位。如果校驗(yàn)位無誤,則進(jìn)入下個狀態(tài)。
TX_STOP狀態(tài):在此狀態(tài)下,根據(jù)發(fā)送模塊的采樣結(jié)果,將設(shè)置相關(guān)中斷和狀態(tài)位。發(fā)送完畢后,狀態(tài)機(jī)返回IDLE狀態(tài)。
3 UART IP核的驗(yàn)證方法
對UART IP核的驗(yàn)證主要是在Modelsim軟件構(gòu)建的虛擬平臺中進(jìn)行的,通過編寫Testbench(測試代碼)作為激勵信號,將得到的值與期望值進(jìn)行比較,從而判斷功能是否正確。驗(yàn)證系統(tǒng)框圖,如圖5所示。本文引用地址:http://www.2s4d.com/article/156564.htm
本次驗(yàn)證施加的測試激勵包括兩個部分,一部分是模擬發(fā)送數(shù)據(jù)的過程,如總線對于模塊內(nèi)部寄存器的讀信號,UART串口輸出信號和設(shè)備的硬件接口信號等,驗(yàn)證模塊的正常功能是否實(shí)現(xiàn);另一部分是模擬接收數(shù)據(jù)的過程,如外部設(shè)備對UART發(fā)送的數(shù)據(jù)接收過程,以及UART 將數(shù)據(jù)轉(zhuǎn)換發(fā)送給微機(jī)系統(tǒng)。仿真波形圖,如圖6所示。
仿真波形圖模擬的是UART在全雙工的模式下同時接收一個完整的數(shù)據(jù)(51,16進(jìn)制)和發(fā)送一個完整的數(shù)據(jù)(11,16進(jìn)制)的過程。以接收過程為例:UART首先輸出發(fā)送UART_INT中斷信號,通知處理器準(zhǔn)備接收數(shù)據(jù),處理器響應(yīng)中斷。UART通過采樣脈沖(Baud)將信號寫入RX_UDR接收寄存器中,同時接收計(jì)數(shù)器計(jì)數(shù),計(jì)數(shù)到8時自動清零,中斷信號自動清除,隨后將接收到的8位數(shù)據(jù)通過總線模塊傳入處理器中。發(fā)送過程為接收的逆過程。
4 結(jié)束語
IP核重用技術(shù)以及接口標(biāo)準(zhǔn)化問題是IC設(shè)計(jì)領(lǐng)域中的研究熱點(diǎn),其應(yīng)用領(lǐng)域正在不斷拓展。本文介紹的基于Wishbone總線的UART IP核的設(shè)計(jì)方法,通過驗(yàn)證表明了各項(xiàng)功能達(dá)到預(yù)期要求,為IP核接口的標(biāo)準(zhǔn)化設(shè)計(jì)提供了依據(jù)。此外,該IP核代碼全部采用模塊化的Verilog-HDL語言編寫,便于以后不斷完善,具有較強(qiáng)的實(shí)際效益。
評論