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