新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于EP2SGX系列FPGA的PCI接口設計

        一種基于EP2SGX系列FPGA的PCI接口設計

        作者: 時間:2010-07-07 來源:網絡 收藏

          3 設計實現

          本設計利用ALTERA公司的QuartusIl7.2軟件和硬件描述語言,采用自頂向下的設計方法進行的邏輯設計,并利用QuartusII軟件對設計進行了功能和時序仿真。

          設計的具體流程如下:首先從總體上考慮:作為一個功能模塊,嵌入在內部,內側面向用戶邏輯,外側通過芯片的I/O管腳與PCI總線相連。在用戶端,需要把復雜的PCI總線命令轉換為便于用戶使用的類似ISA總線的命令格式,把地址線與數據線分離,并產生單獨的讀寫控制信號。其次,根據總體要求,進行頂層設計和內部模塊劃分。最后,對具體的功能模塊用軟件編程實現并進行功能仿真。

          本設計中PCI接口的總體框圖如圖4所示。由圖4可知,PCI接口主要由地址/命令鎖存和譯碼、內部通信、外部通信和總線狀態機、中斷處理等模塊組成。

          3.1 地址/命令鎖存和譯碼

          由于PCI總線為地址和數據復用型總線,在使用中需將地址和數據進行分離,首先要對PCI總線上的32位地址/數據總線鎖存。譯碼是對來自主機的PCI總線命令信號CBE[3..0]和IDSEL信號進行識別,并相應地向內部邏輯發出配置空間讀寫操作、I/O讀寫操作、存儲器讀寫操作等信號。

          3.2 外部通信

          外部通信接口主要完成對PCI總線的應答,并發出相應的信號。對于瀆寫操作,接口發出DEVSEL#信號響應PCI的FRAME#信號,完成握手。PCI協議規定了在交易期間對地址/數據總線和命令/字節使能總線進行奇偶校驗。讀交易期間,接口被要求驅動PAR信號線;寫交易期間,目標將計算AD[31..0]和CBE[3..0]上的奇偶性,并把PERR信號送給PCI。

          3.3 內部通信

          內部通信接口主要產,豐面向用戶端,便于用戶使用的一信號,包括復位信號、分離的讀和寫信號、地址總線、32位的數據讀寫總線。

          3.4 總線狀態機

          該模塊足本設計的關鍵部分,其主要功能是根據PCI協議產生總時序來控制總線交易。總線狀態機包含的狀態主要有總線空閑狀態、總線停靠狀態、主設備數據傳輸狀態、從設備數據傳輸狀態、配置空間讀寫狀態、目標I/O空間讀寫狀態、主設備讀寫狀態、總線翻轉狀態、數據傳輸終止狀態等。以上各狀態主要依據輸入的PCIRST、FRAME#、IDSEL、CBE [3..0 ]、GNT#、IRDY#、TRDY#、STOP#等信號變化進行狀態轉換。

          3.5 中斷處理

          本模塊主要實現各種外部中斷源的輸入處理、中斷允許寄存器和中斷狀態寄存器的控制和管理、INTA#信號的輸出處理等。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵港市| 新乡县| 巩留县| 寿宁县| 利川市| 儋州市| 上思县| 旬阳县| 大荔县| 通州市| 隆尧县| 吉安市| 商水县| 阿合奇县| 平陆县| 禄丰县| 宾川县| 灵山县| 莱西市| 镇江市| 青田县| 循化| 安宁市| 南江县| 枣阳市| 广德县| 青田县| 扶余县| 乌兰县| 年辖:市辖区| 浪卡子县| 湖北省| 达日县| 湖州市| 湘潭市| 宁强县| 馆陶县| 威海市| 商南县| 石林| 正蓝旗|