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