PCI Express協(xié)議實現(xiàn)與驗證
PCI Express規(guī)范規(guī)定對于設備的設計采用分層結(jié)構(gòu),由下向上可分為物理層(Physical Layer)、數(shù)據(jù)鏈路層(Data Link Layer)和事務層(Transaction Layer),物理層又由邏輯子層和電氣子層組成。沿縱向來看,各層又可分為發(fā)送和接收2塊功能。發(fā)送功能塊構(gòu)成了設備的發(fā)送部分,處理向外的傳輸事務;接收功能塊構(gòu)成了設備的接收部分,處理向內(nèi)的傳輸事務。典型PCI Express層次結(jié)構(gòu)如圖2所示。本文引用地址:http://butianyuan.cn/article/202021.htm
作為PCI Express協(xié)議的最高層,事務層主要負責以下任務,如:基于流水線的分割事務協(xié)議;處理事務包的機制;基于“信用”的流量控制;支持數(shù)據(jù)完整性。數(shù)據(jù)鏈路層位于事務層和物理層之間,為事務層TLP在鏈路中的傳輸提供可靠的傳輸機制。數(shù)據(jù)鏈路層完成的主要任務包括傳遞TLP、錯誤檢測和裁決、初始化和電源管理、產(chǎn)生DLLP。
物理層位于PCI Express協(xié)議的最底層,決定了PCI Express總線接口的物理特性,如點對點串行連接、微差分信號驅(qū)動、熱撥插、可配置帶寬等。
2 PCI Express IP核設計
2.1 結(jié)構(gòu)設計
從層次上來講,PCI Express IP核實現(xiàn)了PCI Express協(xié)議定義的所有3個層次:事務、數(shù)據(jù)鏈路和物理的邏輯部分。從結(jié)構(gòu)上來講,PCI Express IP核主要由用戶接口模塊、發(fā)送數(shù)據(jù)包解析模塊、電源管理模塊、DLLP仲裁模塊、TLP仲裁模塊、重傳緩沖模塊、CRC生成模塊、幀信息生成模塊、數(shù)據(jù)鏈路層數(shù)據(jù)流仲裁模塊、LTSSM狀態(tài)機模塊、SKP發(fā)生模塊、LTSSM用有序集發(fā)生模塊、物理層數(shù)據(jù)流仲裁模塊、通道分配模塊、通道合并模塊、亂序模塊、解亂序模塊、PIPE接口模塊、接收數(shù)據(jù)包解析模塊和接收緩沖模塊組成。本文重點介紹用戶接口模塊和發(fā)送數(shù)據(jù)包解析模塊。
用戶接口模塊是用戶邏輯與PCI Express IP核進行數(shù)據(jù)交互的橋梁,該模塊分為發(fā)送接口和接收接口2部分。一方面,用戶邏輯按照規(guī)定的時序通過該模塊把欲發(fā)送的數(shù)據(jù)發(fā)送到PCI Express鏈路;另一方面,PCI Express IP核接收來自PCI Express鏈路上的數(shù)據(jù),處理后通過該模塊發(fā)送給用戶邏輯。
發(fā)送數(shù)據(jù)包解析模塊的主要任務之一負責解析TLP包,并提供給TLP仲裁模塊進行傳輸。
發(fā)送數(shù)據(jù)包解析模塊的第2個功能為實現(xiàn)流控機制。流控機制是PCI Express中最基本的機制之一,流控機制雖然是對本地緩存的一種有效保護,但對TLP的收發(fā)性能有很大的影響。流量的初始化和更新均使用DLLP來完成;初始化使用FC Initl和FC Init2DLLP來完成;更新使用FC Updata DLLP來完成。
評論