一種dcr總線和apb總線之間的總線橋的制作方法
【專利摘要】本發明提供一種DCR總線到APB總線之間的總線橋,所述的總線橋使用地址比較邏輯單元,用于確定總線橋是否接收DCR總線的請求;使用協議轉換正向數據通路單元,用于將接收的DCR總線請求的地址信號,控制信號和寫數據信號轉換為符合APB總線協議的地址信號,控制信號和寫數據信號。使用協議轉換反向數據通路單元,用于將接收的APB總線協議的應答信號和讀數據信號轉換為符合DCR總線協議的應答信號和讀數據信號。本發明的優點是:可以將DCR總線標準通過該總線橋映射為APB總線標準。該總線橋可以作為一個IP連接DCR總線和APB總線,將符合DCR總線協議的讀寫請求轉換為符合總線協議的讀寫請求。
【專利說明】-種DCR總線和APB總線之間的總線橋
【技術領域】
[0001] 本發明屬于處理器總線【技術領域】,尤其是涉及一種DCR總線和APB總線之間的總 線橋。
【背景技術】
[0002] 片上系統(System-on-chip,SoC)盡年來正逐漸成為集成電路設計中的主流發展 趨勢。可重復使用的集成電路IC(integrated circuit)模塊越來越多的在SoC芯片設計 中應用,因此SoC芯片的設計速度顯著地加快。這種可重復使用的1C模塊又被稱為IP。IP 是具有知識產權(Intellectual Property)的集成電路芯核的簡稱。IP被預先設計好,經 過驗證,并且具有某種確定功能。
[0003] 設備控制寄存器總線(Devices Control Register, DCR)和高級外圍總線 (Advanced Peripheral Bus,APB)是片上系統模塊中重要的寄存器配置接口。在工業控制, 航空航天等領域的SoC芯片使用的處理器中,PowerPC處理器占據了很大的份額,DCR總線 是其重要的寄存器配置接口。而隨著SoC芯片復雜性和規模性的增加,越來越多的具有APB 寄存器配置接口的IP需要應用在一個PowerPC處理器的SoC芯片中。為了能夠使PowerPC 處理器通過DCR寄存器配置接口訪問具有APB配置寄存器接口的IP,該IP的配置寄存器接 口需要修改,以兼容DCR總線協議,這樣的修改非常不利于IP的可重復使用。
【發明內容】
[0004] 本發明要解決的問題是提供一種DCR總線和APB總線之間的總線橋,可以將DCR 總線標準通過該總線橋映射為APB總線標準。
[0005] 為解決上述技術問題,本發明采用的技術方案是:
[0006] 一種DCR總線和APB總線之間的總線橋,包括:
[0007] 地址比較邏輯單元,負責判斷DCR讀或寫請求的地址是否在所連接的APB接口設 備允許訪問的范圍內,即是否能接收該DCR請求;如果在允許范圍內,進行DCR協議到APB 協議的轉換;否則,不做協議轉換;
[0008] 協議轉換正向數據通路單元,用于將接收的DCR總線請求的地址信號,控制信號 和寫數據信號轉換為符合APB總線協議的地址信號,控制信號和寫數據信號
[0009] 協議轉換反向數據通路單元,用于將接收的APB總線協議的應答信號和讀數據信 號轉換為符合DCR總線協議的應答信號和讀數據信號。
[0010] 進一步的,所述地址比較邏輯單元包括兩個比較器、兩個與門和一非門;兩個比較 器的輸出端連接一與門的輸入端,其輸出端和非門的輸出端作為另一個與門的輸入端,兩 個比較器實現DCR請求的地址信號DCR_ADDR分別與硬件固化的DCR總線地址的最大值和 最小值的比較,DCR請求的控制信號DCR_READ和DCR_WRITE作為非門的輸入信號。
[0011] 進一步的,所述協議轉換正向數據通路單元包括兩個電路結構相同的第一轉換電 路和第二轉換電路,均由依次連接的一脈沖產生電路、多路選擇器一、多路選擇器二、一寄 存器組成,寄存器的輸出端連接多路選擇器一的一個輸入端,其中脈沖產生電路的輸出信 號作為多路選擇器一的通道選擇信號,第一轉換電路的寄存器的輸出端連接第二轉換電路 的脈沖產生電路的輸入端;地址比較邏輯單元的輸出信號作為第一轉換電路的脈沖產生電 路的輸入信號,APB總線的應答信號APB_PREADY作為第一轉換電路和第二轉換電路的多路 選擇器二的通道選擇信號。
[0012] 進一步的,所述協議轉換反向數據通路單元包括應答信號轉換電路和讀數據信號 轉換電路,
[0013] 所述應答信號轉換電路包括依次連接的一脈沖產生電路、多路選擇器三、多路選 擇器四、寄存器;APB總線的應答信號APB_PREADY作為脈沖產生電路的輸入信號,脈沖產生 電路的輸出信號作為多路選擇器三的通道選擇信號,寄存器的輸出端連接多路選擇器三的 一輸入端,DCR請求的控制信號DCR_READ和DCR_WRITE依次經過或門、非門后的信號作為 多路選擇器四的通道選擇信號;
[0014] 所述讀數據信號轉換電路包括多路選擇器五、多路選擇器六、兩個寄存器,所述應 答信號轉換電路的脈沖產生電路的輸出端連接多路選擇器五的通道選擇端,APB總線的讀 數據信號apb_rdata從多路選擇器五輸入后經一寄存器的輸出信號,一個分支作為多路選 擇器五的輸入信號,另一個分支作為多路選擇器六的輸入信號;地址比較邏輯單元的輸出 信號和DCR請求的控制信號DCR_READ依次經過一與門、另一個寄存器后作為多路選擇器六 的通道選擇電路。
[0015] 本發明具有的優點和積極效果是:
[0016] 可實現將符合DCR總線協議的讀寫請求轉換為符合APB總線協議的讀寫請求,可 以將DCR總線標準通過該總線橋映射為APB總線標準;可以作為一個IP連接DCR總線和 APB總線;
[0017] 數字電路簡單,實現方便。
【專利附圖】
【附圖說明】
[0018] 圖1是本發明所述總線橋和DCR總線,APB總線的連接關系示意圖;
[0019] 圖2是本發明所述總線橋的結構框圖;
[0020] 圖3是本發明地址比較邏輯單元的一種具體實施電路;
[0021] 圖4是本發明協議轉換正向數據通路單元的一種具體實施電路;
[0022] 圖5是本發明協議轉換反向數據通路單元的一種具體實施電路;
[0023] 圖6是本發明所述總線橋的工作流程圖。
【具體實施方式】
[0024] 為了使本【技術領域】的人員更好地理解本申請中的技術方案,下面將結合本申請實 施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施 例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通 技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本申請保護 的范圍。
[0025] 本發明的DCR總線和APB總線的連接關系如圖1所示,DCR總線接口的處理器100 發出寄存器配置讀或寫請求,該請求符合DCR總線協議;該請求傳遞到DCR總線101上的總 線橋102上;該總線橋將接收符合DCR總線協議的讀寫請求,并轉換為符合APB總線協議的 讀寫請求;轉換后的符合APB總線協議的讀寫請求通過APB總線103傳遞到具有APB接口 的設備104。
[0026] 本申請一種DCR總線和APB總線之間的總線橋,總線橋102包括地址比較邏輯單 元201、協議轉換正向數據通路單元202和協議轉換反向數據通路單元203,如圖2所示,
[0027] 所述地址比較邏輯單元201,負責判斷DCR讀或寫請求的地址是否在所連接的APB 接口設備允許訪問的范圍內,即是否能接收該DCR請求;如果在允許范圍內,進行DCR協議 到APB協議的轉換;如果不在,不接收該DCR請求,即不做協議轉換;
[0028] 所述協議轉換正向數據通路單元202,用于將接收的DCR總線請求的地址信號,控 制信號和寫數據信號轉換為符合APB總線協議的地址信號,控制信號和寫數據信號
[0029] 所述協議轉換反向數據通路單元203,用于將接收的APB總線協議的應答信號和 讀數據信號轉換為符合DCR總線協議的應答信號和讀數據信號。
[0030] 具體的,地址比較邏輯單元201的一種具體實施電路如圖3所示,包括兩個比較 器、兩個與門和一非門;其中APB接口的設備能容許的訪問地址范圍映射為DCR總線地址的 最大值和DCR總線地址的最小值,上述最大值和最小值的地址映射關系確定后,固化成硬 件參數;收到的DCR請求的地址信號DCR_ADDR分別通過兩個比較器與硬件固化的DCR總線 地址的最大值和DCR總線地址的最小值進行比較,比較后的結果通過一個與門實現只有當 DCR請求的訪問地址在DCR總線地址的最大值和DCR總線地址的最小值所確定的范圍內,該 DCR請求才會被接收;
[0031] 在該具體實施方法中,還使用了 DCR請求的控制信號DCR_READ和DCR_WRITE,先通 過一個或門將DCR_READ和DCR_WRITE信號進行邏輯或運算,將運算結果和上述得到的地址 比較結果通過一個與門進行邏輯與運算,實現只有當DCR_READ和DCR_WRITE信號的其中之 一有效時,地址比較邏輯的結果才會被輸出;目的是只有當DCR總線上出現符合DCR協議的 請求時,地址譯碼邏輯才會輸出有效的結果;而當DCR總線沒有請求時,地址譯碼邏輯的輸 出被屏蔽。
[0032] 在本具體實施例中,地址比較邏輯單元201輸出的結果ADDR_HIT為1時,表示DCR 總線上有符合DCR總線協議的讀或寫請求,并且該請求的地址在所連接的APB設備容許的 訪問地址范圍內,能夠被接收;如果ADDR_HIT為0,表示DCR總線上沒有請求或DCR請求的 訪問地址超出了所連接的APB設備容許的訪問地址范圍而不被接收;其中圖3為本發明所 述總線橋的地址比較邏輯的一種具體實施電路,還可以有其它的實施方法比如將DCR地址 某高位地址段和某一個硬件固化參數比較作為判斷依據的實現電路。
[0033] 地址轉換邏輯單元201的輸出ADDR_HIT為1時,協議轉換正向數據通路單元202 和協議轉換反向數據通路單元203才會工作。
[0034] 具體的,所述協議轉換正向數據通路單元202的一種具體實施電路如圖4所示:包 括兩個電路結構相同的第一轉換電路和第二轉換電路,均由依次連接的一脈沖產生電路、 多路選擇器一、多路選擇器二、一寄存器組成;寄存器的輸出端連接多路選擇器一的一個輸 入端,其中脈沖產生電路的輸出信號作為多路選擇器一的通道選擇信號,第一轉換電路的 寄存器的輸出端連接第二轉換電路的脈沖產生電路的輸入端;
[0035] APB總線的地址信號APB_PADDR,寫數據信號APB_PWDATA和寫控制信號APB_ PWRITE由DCR請求的地址信號DCR_ADDR,寫數據信號DCR_WRBUS和寫請求信號DCR_WRITE 直接映射;
[0036] APB總線的控制信號APB_PSEL和APB_PENABLE分別通過第一轉換電路和第二轉換 電路實現:首先使用地址比較邏輯單元201的輸出信號ADDR_HIT通過脈沖產生電路產生一 個周期的脈沖信號401,該脈沖信號401的產生方法為將ADDR_HIT信號通過一寄存器實現 延時一個周期后再通過一非門取反后和原ADDR_HIT信號通過一與門做與邏輯;將脈沖信 號401作為多路選擇器一選通脈沖,將置位APB總線的控制信號APB_PSEL ;APB總線的控制 信號APB_PENABLE可復位APB總線的控制信號APB_PSEL ;
[0037] 脈沖信號401和APB_PREADY信號控制APB_PSEL信號置位或復位的方式,它們分 別作為第一轉換電路的多路選擇器一、多路選擇器二的片選信號;實現脈沖信號401為1并 且 APB_PREADY 為 0 時,APB_PSEL 置位為 1 ;APB_PREADY 為 1 時,APB_PSEL 復位為 0 ;脈沖信 號401和APB_PREADY都為0時,APB_PSEL保持不變。
[0038] APB_PSEL信號又經過與脈沖信號401產生的電路結構同樣的電路,產生選通脈沖 402,置位APB總線的控制信號APB_PENABLE,而APB總線的應答信號APB_PREADY信號和復 位APB總線的控制信號APB_PENABLE ;選通脈沖402和APB_PREADY控制PENABLE信號置位 或復位的方式如圖4所示,它們分別作為第二轉換電路的多路選擇器一、多路選擇器二的 片選信號,實現選通脈沖402為1并且APB_PREADY為0時,PENABLEL置位為1 ;APB_PREADY 為1時,PENABLE復位為0 ;選通脈沖402和APB_PREADY都為0時,PENABLE保持不變。
[0039] 具體的,只有地址轉換邏輯201的輸出ADDR_HIT為1時,協議轉換反向數據通路 203才會工作;所述協議轉換反向數據通路單元203的一種具體實施電路如圖5所示:包括 應答信號轉換電路和讀數據信號轉換電路,
[0040] 所述應答信號轉換電路包括依次連接的一脈沖產生電路、多路選擇器三、多路選 擇器四、寄存器;APB總線的應答信號APB_PREADY作為脈沖產生電路的輸入信號,脈沖產生 電路的輸出信號作為多路選擇器三的通道選擇信號,寄存器的輸出端連接多路選擇器三的 一輸入端,DCR請求的控制信號DCR_READ和DCR_WRITE依次經過或門、非門后的信號作為 多路選擇器四的通道選擇信號;
[0041] 所述讀數據信號轉換電路包括多路選擇器五、多路選擇器六、兩個寄存器,所述應 答信號轉換電路的脈沖產生電路的輸出端連接多路選擇器五的通道選擇端,APB總線的讀 數據信號apb_rdata從多路選擇器五輸入后經一寄存器的輸出信號,一個分支作為多路選 擇器五的輸入信號,另一個分支作為多路選擇器六的輸入信號;地址比較邏輯單元的輸出 信號和DCR請求的控制信號DCR_READ依次經過一與門、另一個寄存器后作為多路選擇器六 的通道選擇電路;
[0042] 上述電路結構實現APB_PREADY產生一個周期的脈沖信號501,該脈沖信號501的 產生方法為將APB_PREADY信號通過一個寄存器延時一個周期后通過一非門取反后和原 APB_PREADY信號通過一與門做與邏輯。
[0043] 然后將脈沖信號501作為多路選擇器三和多路選擇器五的選通脈沖,將通過多路 選擇器四置位DCR總線的應答信號DCR_ACK ;DCR總線的控制信號DCR_WRITE和DCR_READ 通過協議轉換反向數據通路203的邏輯電路復位DCR總線的應答信號DCR_ACK ;
[0044] DCR總線的控制信號DCR_WRITE和DCR_READ信號在協議轉換反向數據通路203中 先經過一或門進行或邏輯,再經過一非門進行取反,得到的信號502控制DCR總線的應答信 號DCR_ACK的復位;脈沖信號501為1并且信號502為0,DCR_ACK置位為1 ;信號502為1, DCR_ACK復位為0 ;脈沖信號501為0并且信號502為0, DCR_ACK保持不變。
[0045] 由APB_PREADY產生的脈沖信號501還作為使能信號,將APB總線的讀數據信號 APB_RDATA 寄存,
[0046] 地址比較邏輯201的輸出信號ADDR_HIT和DCR總線的控制信號DCR_READ做經一 與門進行與邏輯后經過一寄存器實現一個周期的延時后作為選擇信號503,為DCR總線的 讀數據信號DCR_RDBUS選擇數據源;如果選擇信號503為1,將選擇經過寄存的APB總線讀 數據信號APB_RDATA作為DCR總線的讀數據信號DCR_RDBUS輸出,如果選擇信號503為0, 將選擇DCR_BYPASS_DATA作為DCR總線的讀數據信號DCR_RDBUS輸出。
[0047] 請參見圖6示出了本發明的一種DCR總線和APB總線之間的總線橋的轉換流程示 意圖,包括以下步驟:
[0048] 步驟600 :等候接收符合DCR總線協議的讀寫請求;
[0049] 步驟601 :收到符合DCR總線協議的讀寫請求后,判斷DCR讀或寫請求的地址是否 在所連接的APB接口設備所允許訪問的范圍內,在范圍內則進行接收,否則不接收;如果能 夠接收,進入步驟602 ;如果不能接收,返回步驟600。
[0050] 步驟602 :將接收的DCR總線請求的地址信號和控制信號轉換為符合APB總線協 議的地址信號和控制信號;如果接收的DCR請求為寫請求,將接收的DCR總線請求的寫數據 信號轉換為符合APB總線協議的寫數據信號;
[0051] 步驟603 :發出APB總線請求后,等候APB總線的應答;
[0052] 步驟604 :收到APB總線的應答信號后,將接收的APB總線協議的應答信號轉換為 符合DCR總線協議的應答信號;對于讀請求,將接收的APB總線協議的讀數據信號轉換為符 合DCR總線協議的讀數據信號;
[0053] 步驟605 :返回DCR總線應答信號,對于讀請求,總線橋還要同時返回DCR總線協 議的讀數據信號。
[0054] 由上所述,完成了一次將DCR總線請求轉換為APB總線請求的過程,返回步驟600。
[0055] 以上對本發明的實施例進行了詳細說明,但所述內容僅為本發明的較佳實施例, 不能被認為用于限定本發明的實施范圍。凡依本發明申請范圍所作的均等變化與改進等, 均應仍歸屬于本發明的專利涵蓋范圍之內。
【權利要求】
1. 一種DCR總線和APB總線之間的總線橋,其特征在于所述總線橋包括: 地址比較邏輯單元,負責判斷DCR讀或寫請求的地址是否在所連接的APB接口設備允 許訪問的范圍內,即是否能接收該DCR請求;如果在允許范圍內,進行DCR協議到APB協議 的轉換;否則,不做協議轉換; 協議轉換正向數據通路單元,用于將接收的DCR總線請求的地址信號,控制信號和寫 數據信號轉換為符合APB總線協議的地址信號,控制信號和寫數據信號 協議轉換反向數據通路單元,用于將接收的APB總線協議的應答信號和讀數據信號轉 換為符合DCR總線協議的應答信號和讀數據信號。
2. 根據權利要求1所述的DCR總線和APB總線之間的總線橋,其特征在于:所述地址 比較邏輯單元包括兩個比較器、兩個與門和一非門;兩個比較器的輸出端連接一與門的輸 入端,其輸出端和非門的輸出端作為另一個與門的輸入端,兩個比較器實現DCR請求的地 址信號DCR_ADDR分別與硬件固化的DCR總線地址的最大值和最小值的比較,DCR請求的控 制信號DCR_READ和DCR_WRITE作為非門的輸入信號。
3. 根據權利要求1或2所述的DCR總線和APB總線之間的總線橋,其特征在于:所述 協議轉換正向數據通路單元包括兩個電路結構相同的第一轉換電路和第二轉換電路,均由 依次連接的一脈沖產生電路、多路選擇器一、多路選擇器二、一寄存器組成,寄存器的輸出 端連接多路選擇器一的一個輸入端,其中脈沖產生電路的輸出信號作為多路選擇器一的通 道選擇信號,第一轉換電路的寄存器的輸出端連接第二轉換電路的脈沖產生電路的輸入 端;地址比較邏輯單元的輸出信號作為第一轉換電路的脈沖產生電路的輸入信號,APB總 線的應答信號APB_PREADY作為第一轉換電路和第二轉換電路的多路選擇器二的通道選擇 信號。
4. 根據權利要求1或2所述的DCR總線和APB總線之間的總線橋,其特征在于:所述 協議轉換反向數據通路單元包括應答信號轉換電路和讀數據信號轉換電路, 所述應答信號轉換電路包括依次連接的一脈沖產生電路、多路選擇器三、多路選擇器 四、寄存器;APB總線的應答信號APB_PREADY作為脈沖產生電路的輸入信號,脈沖產生電路 的輸出信號作為多路選擇器三的通道選擇信號,寄存器的輸出端連接多路選擇器三的一輸 入端,DCR請求的控制信號DCR_READ和DCR_WRITE依次經過或門、非門后的信號作為多路 選擇器四的通道選擇信號; 所述讀數據信號轉換電路包括多路選擇器五、多路選擇器六、兩個寄存器,所述應答信 號轉換電路的脈沖產生電路的輸出端連接多路選擇器五的通道選擇端,APB總線的讀數據 信號APB_RDATA從多路選擇器五輸入后經一寄存器的輸出信號,一個分支作為多路選擇器 五的輸入信號,另一個分支作為多路選擇器六的輸入信號;地址比較邏輯單元的輸出信號 和DCR請求的控制信號DCR_READ依次經過一與門、另一個寄存器后作為多路選擇器六的通 道選擇電路。
【文檔編號】G06F13/42GK104216856SQ201410490661
【公開日】2014年12月17日 申請日期:2014年9月23日 優先權日:2014年9月23日
【發明者】李楠, 王忠海, 肖佐楠, 鄭茳 申請人:天津國芯科技有限公司