被usb折磨了一段時間了,不寫點東西記錄一下,都對不起自己的青春。而且以后還將會繼續被折磨,所以不寫一個系列,真對不起自己的人生呀。希望在記錄自己努力學習的過程中,也能給感興趣的小伙伴兒帶來幫助。今天是開篇,先分享一個高質量的usb2.0項目給大家。
本文通過集成各個小項目,最后形成USB這個綜合項目,分享給對USB感興趣的朋友。廢話不多說,直接上干貨。
1. USB2.0的IP核
本項目的核心來自opencores,具體的網址是:https://opencores.org/projects/usb,大家可以自有下載。具體項目參考百度網盤鏈接中的《USB2.0的IP核(詳細verilog源碼和文檔).rar》。
下圖是對應的Architecture。
具體的文件列表如下圖所示:
2.ahb轉wishbone的bridge
具體項目參考百度網盤鏈接中的《ahb2wishbone_latest.tar.gz》。
端口定義,如下圖所示:
結構框圖,如下圖所示:
3.usb_phy項目
具體項目參考百度網盤鏈接中的《usb_phy_latest.tar.gz》。
模塊端口定義
文件列表,如下圖所示:
4. 基于ahb接口的usb2.0 controller項目
我通過將ahb轉wishbone接口模塊集成到項目中。大家都知道opencores上的開源項目基本都是基于wishbone總線的,但是我們平時接觸的最多的還是AMBA總線。大家對AMBA總線都比較熟悉,所以我就集成ahb_to_wishbone_bridge到項目中,這樣就把wishbone接口隱藏在內部,你甚至都可以忽略它的存在,對外的接口就變成了ahb接口了,這可以說是比較完美的一種方案了。
項目中的ahb接口轉wishbone接口,如下圖所示:
項目中的wishbone接口,如下圖所示:
項目中的usb controller,如下圖所示:
項目中的utmi接口,如下圖所示:
項目中的dma接口,如下圖所示:
5. 基于ahb接口的usb2.0 controller+phy項目
在《ahb_usb2_controller.tar.gz》的基礎上又集成了usb_phy,如下圖所示,具體項目參考百度網盤鏈接中的《ahb_usb20_controller_phy.rar》。
6.如何獲得所有的資料
如果覺得對您有幫助,請關注微信公眾號《芯片驗證日記》,一鍵三連,后臺回復"usb"即可獲得網盤連接。網盤內容如下
7. 主項目的spec中文翻譯版本
本文的翻譯版本,并非直接丟給google自動翻譯的結果。雖然翻譯的過程中也有借助google翻譯,但是每一句都有仔細斟酌,并對不合理的地方進行了修正。具體請參考百度網盤鏈接中的《USB_Function_IP_Core中譯版.docx》
8.油管上對應的視頻
油管上對應的視頻我也幫你扒下來了,時長2小時21分鐘,具體請參考百度網盤鏈接中的《USB2.0_core_verification_UVM_SR_SES1_demo.mp4》。等后續我時間充足一點,我打算基于這個項目,從零搭建一套完整的UVM驗證環境。
寫文章不易,如果覺得對您有幫助,麻煩一鍵三連,或者賞個雞腿也行。
-
接口
+關注
關注
33文章
8650瀏覽量
151415 -
usb
+關注
關注
60文章
7961瀏覽量
265110 -
USB2.0
+關注
關注
2文章
187瀏覽量
46128 -
dma
+關注
關注
3文章
565瀏覽量
100683 -
AHB
+關注
關注
0文章
21瀏覽量
9799
發布評論請先 登錄
相關推薦
評論