基於FPGA的邏輯IP總線互聯實現裝置的製作方法
2023-12-07 19:13:51 2

本發明涉及液晶顯示技術領域,尤其涉及一種基於FPGA的邏輯IP總線互聯實現裝置。
背景技術:
在以FPGA可編程邏輯晶片為平臺的圖像/視頻處理方案中,通常包含各種不同算法和功能的圖像/視頻處理單元,例如模擬前端ADC、圖像/視頻解碼器、測試圖樣發生器、格式檢測、幀緩存、視頻縮放、輸出串行化等單元模塊。為了提高圖像/視頻處理的實時效率,通常採用流水線設計實現這些模塊之間的互連,即一級模塊處理完交給下一級處理模塊,一環接一環的將數據包傳遞下去。這裡面就會有跨時鐘域的問題,例如模擬前端ADC處理的是眾多不同的視頻接口、不同的視頻傳輸速率,其具有自己的採樣轉化速率,即工作時鐘域;而當進行到視頻解碼器單元,為了解碼PAL或NTSC不同制式的模擬信號,又會採用不同的處理時鐘;在幀緩存單元,如採用了非常高速的DDR3存儲器,則又要按存儲器讀/寫速率重新制定數據傳輸接口協議、數據封包規則、數據傳輸速率,執行數據存儲或讀出。圖像/視頻處理流水線中的數據流要跨過很多的功能模塊,每個功能模塊可能工作在不同的時鐘域。在這條流水線中,如果沒有一條標準化的數據傳輸協議,則邏輯功能IP之間的互連將會成為工程師所面臨的一個很複雜的問題。
而在控制層面,不同邏輯單元的功能寄存器管理著每種特殊算法、功能的實現,以及每種邏輯單元的正常工作流程。如果它們也處於不同的時鐘域,則處理器很難控制所有系統單元模塊的工作狀態,因而需要制定一種標準化的控制總線協議,以將所有不同時鐘域的功能寄存器配置單元統一匯總到控制總線上。在以Intel、AMD等處理器為核心的高端電腦主板產品的設計中,通常採用了專用的北橋、南橋晶片解決外部功能單元與處理器之間的速率、接口、協議差異的互聯問題。處理器的處理速度不斷的提升,而很多外部設備單元的處理速度提升遠沒有達到處理器的處理速度,因此也產生了很多總線標準解決處理器與某些專用外部設備的性能差異及互聯問題,例如ISA、PCI、AGP、PCIe總線等。而在處理器內部也有相應的諸如地址總線、數據總線、控制總線、仲裁單元來解決處理器內部模塊之間互聯的問題。
綜上所述,對於一個複雜的數字邏輯單元,內部模塊互聯的總線標準化實現效率也體現了系統的整體性能、效率,因而現有的亟待解決的技術問題之一為:如何解決不同時鐘域的邏輯功能IP與處理器之間的互聯問題。
技術實現要素:
針對上述技術問題,本發明提出如下技術方案:
一種基於FPGA的邏輯IP總線互聯實現裝置,包括AXI4Lite總線接口互聯單元以及邏輯功能封裝單元;
所述AXI4Lite總線接口互聯單元用於連接處理器單元與所述邏輯功能封裝單元;
所述邏輯功能封裝單元包括AXI4Lite總線協議解析模塊和寄存器模塊;
所述AXI4Lite總線協議解析模塊用於將AXI4Lite協議轉化為所述邏輯功能封裝單元內部的寄存器讀/寫總線協議;
所述寄存器模塊用於將所屬的邏輯功能封裝單元的預設功能、算法轉化為參數化控制指令,並將所述參數化控制指令以寄存器的形式實現。
可選地,所述邏輯功能封裝單元包括模擬前端AFE單元、視頻解碼器單元以及輸入格式檢測單元;
所述AFE單元用於將模擬視頻信號進行數位化處理;
所述視頻解碼器單元用於將對視頻信號進行解碼;
所述輸入格式檢測單元用於對視頻信號的輸入格式進行檢測。
可選地,所述邏輯功能封裝單元具有標準化的寄存器讀/寫控制總線。
可選地,所述寄存器讀/寫控制總線包含控制讀/寫指令、地址總線以及數據總線。
可選地,所述AXI4Lite總線接口互聯單元包括異步FIFO、時鐘轉換器、多個AXI Master/Slave接口、多AXI接口協議MUX及映射器。
可選地,所述處理器單元包括兼容AMBA AXI4Lite標準總線協議的上層Master單元。
可選地,所述AMBA AXI4Lite總線協議包含如下相互獨立的通道:
讀地址通道、讀數據通道、寫地址通道、寫數據通道以及寫響應通道。
可選地,所述通道兩端的接口根據數據傳輸方向不同分為主接口Master和從接口Slave interface。
可選地,所述寫數據通道的數據傳輸方向為從所述Master interface傳向所述Slave interface。
可選地,所述讀數據通道的數據傳輸方向為從所述Slave interface傳向所述Master interface。
本發明的基於FPGA的邏輯IP總線互聯實現裝置,包括AXI4Lite總線接口互聯單元以及邏輯功能封裝單元,所述AXI4Lite總線接口互聯單元用於連接處理器單元與所述邏輯功能封裝單元,所述邏輯功能封裝單元包括AXI4Lite總線協議解析模塊和寄存器模塊,所述AXI4Lite總線協議解析模塊用於將AXI4Lite協議轉化為所述邏輯功能封裝單元內部的寄存器讀/寫總線協議,所述寄存器模塊用於將所屬的邏輯功能封裝單元的預設功能、算法轉化為參數化控制指令,並將所述參數化控制指令以寄存器的形式實現,本發明由於IP實現形式所佔用的可編程邏輯資源很少,可在不同的FPGA可編程邏輯平臺上(包括CPLD)去實現,通過實現兼容AMBA AXI4Lite標準總線協議,可將不同功能、不同時鐘域的邏輯功能IP互連、擴展到豐富的片上AMBA片上SOC處理器的平臺中,特別適合應用於在以FPGA為平臺實現圖像/視頻處理功能、及算法的產品中。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明一個實施例的基於FPGA的邏輯IP總線互聯實現裝置的結構示意圖;
圖2為本發明一個實施例的基於FPGA實現AXI總線協議的系統架構示意圖;
圖3為本發明一個實施例的總線協議接口示意框圖;
圖4為本發明一個實施例的從Master interface向Slave interface傳輸數據的握手信號規則示意圖;
圖5為本發明一個實施例的從Slave interface向Master interface傳輸數據的握手信號規則示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
本發明提供的控制總線接口標準化的技術方案,用於解決處理器與不同邏輯功能IP之間的互聯問題。總的來說,本發明的是通過以下技術方案實現的:
通過可程式語言Verilog,在FPGA可編程邏輯資源平臺上執行一個接口模塊,該模塊主要實現的功能就是對AMBA AXI4Lite總線協議進行解析,以實現控制總線接口標準化。本發明所要解決的技術問題是如何實現接口總線標準化,因而需要對上層屏蔽掉不同邏輯功能的差異性,因為上層處理器並不需要了解下層互聯邏輯功能模塊的實現細節,而需要在上層處理器之間僅僅搭建一個標準化的通訊接口,因此除了總線接口標準化,還需要統一邏輯模塊內部的控制模式,即採用標準化的寄存器功能控制方式。
首先,邏輯功能模塊需要將其實現的算法參數、控制指令全部寄存器化。可以理解的是,邏輯模塊如需要正常運作,則需要上層處理器通過配置不同的寄存器值狀態,達到對下層邏輯功能模塊的間接控制,制定出統一的寄存器讀/寫總線,例如寫地址總線、寫數據總線、寫控制命令、讀地址總線、讀數據總線、讀控制命令。
接下來,解析AMBA AXI4Lite總線協議,即將AXI4Lite協議轉化為邏輯模塊內部的寄存器讀/寫總線協議。
為了實現AXI總線標準化互聯,在實現上述AMBA AXI4Lite協議的解析模塊後,將其集成到具體執行特殊功能的邏輯IP中,以通過AXI4Lite Interconnect(內部互聯模塊)與上層同樣兼容AMBA AXI4Lite協議的處理器進行通訊。
具體地,圖1為本發明一個實施例的基於FPGA的邏輯IP總線互聯實現裝置的結構示意圖;如圖1所示,該裝置包括AXI4Lite總線接口互聯單元20以及邏輯功能封裝單元30,其中:
AXI4Lite總線接口互聯單元20用於連接處理器單元10與所述邏輯功能封裝單元30;
其中,處理器單元10可指代控制層面的具有以下類似功能的單元,如:通過AXI4Lite總線互聯單元與各種不同邏輯功能封裝單元互聯,通過AXI4Lite總線將控制指令發送至不同邏輯功能封裝單元,還可通過AXI4Lite總線獲取邏輯功能封裝單元的命令執行反饋。
邏輯功能封裝單元30包括AXI4Lite總線協議解析模塊31和寄存器模塊32;
具體地,AXI4Lite總線協議解析模塊31用於將AXI4Lite協議轉化為所述邏輯功能封裝單元內部的寄存器讀/寫總線協議;
寄存器模塊32用於將所屬的邏輯功能封裝單元的預設功能、算法轉化為參數化控制指令,並將所述參數化控制指令以寄存器的形式實現,進而,在控制層面只需要控制器通過更新上述寄存器的不同的存儲值,即可實現對具體功能、算法執行過程的控制。
本實施例的基於FPGA的邏輯IP總線互聯實現裝置,由於IP實現形式所佔用的可編程邏輯資源很少,可在不同的FPGA可編程邏輯平臺上(包括CPLD)去實現,通過實現兼容AMBA AXI4Lite標準總線協議,可將不同功能、不同時鐘域的邏輯功能IP互連、擴展到豐富的片上AMBA片上SOC處理器的平臺中,特別適合應用於在以FPGA為平臺實現圖像/視頻處理功能、及算法的產品中。
進一步地,作為上述實施例的優選,所述邏輯功能封裝單元30可以包括模擬前端AFE單元、視頻解碼器單元以及輸入格式檢測單元;
具體地,所述AFE單元用於將模擬視頻信號進行數位化處理;
所述視頻解碼器單元用於將對視頻信號進行解碼;
所述輸入格式檢測單元用於對視頻信號的輸入格式進行檢測。
需要說明的是,上述所列出的邏輯功能單元主要應用在邏輯IP之間、邏輯IP與控制器/處理器之間,用於實現不同邏輯功能的封裝單元。
上述的AFE單元、視頻解碼器單元以及輸入格式檢測單元僅僅作為本發明的邏輯IP總線互聯實現裝置的具體應用示例,本發明對此不進行限制。可以理解的是,除了上述AFE單元、視頻解碼器單元以及輸入格式檢測單元之外,所述邏輯功能封裝單元可以是其他實現任意預設功能或算法的邏輯單元,通過上述AXI4Lite總線協議解析方法可使所述邏輯功能封裝單元與標準的、兼容AMBA AXI4Lite協議的系統、控制器進行互聯、功能擴展。
進一步地,作為上述實施例的優選,所述邏輯功能封裝單元30具有標準化的寄存器讀/寫控制總線33。
進一步地,作為上述實施例的優選,所述寄存器讀/寫控制總線33包含控制讀/寫指令、地址總線以及數據總線。
進一步地,作為上述實施例的優選,所述AXI4Lite總線接口互聯單元20可以包括異步FIFO、時鐘轉換器、多個AXI Master/Slave接口、多AXI接口協議MUX及映射器。
進一步地,作為上述實施例的優選,所述處理器單元10可以包括兼容AMBA AXI4Lite標準總線協議的上層Master單元。
進一步地,作為上述實施例的優選,所述AMBA AXI4Lite總線協議包含如下相互獨立的通道:
讀地址通道、讀數據通道、寫地址通道、寫數據通道以及寫響應通道。
進一步地,作為上述實施例的優選,所述通道兩端的接口根據數據傳輸方向不同分為主接口Master和從接口Slave interface。
進一步地,作為上述實施例的優選,所述寫數據通道的數據傳輸方向為從所述Master interface傳向所述Slave interface。
進一步地,作為上述實施例的優選,所述讀數據通道的數據傳輸方向為從所述Slave interface傳向所述Master interface。
下面以一具體實施例說明本發明的基於FPGA的邏輯IP總線互聯實現裝置的結構及工作原理,但不用於限制本發明。
圖2為本發明一個實施例的基於FPGA實現AXI總線協議的系統架構示意圖,如圖2所示,該架構包括:
模擬前端(AFE)1,其為用於進行模擬視頻信號數位化處理的單功能模塊;
具體來說,模擬前端(AFE)1集成了AXI4Lite總線協議解析模塊2以及模擬前端模塊的寄存器單元3,其中:
AXI4Lite總線協議解析模塊2用於從五個通道中解析出寄存器讀/寫控制總線的控制指令、地址指令、數據指令;其中,每個通道都是通過特殊的握手信號Ready和Valid實現指令傳輸的,且具有兩種模式實現雙向的指令傳輸:Master傳向Slave指令(參見圖4所示握手信號規則);Slave傳向Master指令(參見圖5所示握手信號規則);
具體來說,圖3為本發明一個實施例的總線協議接口示意框圖;圖4為本發明一個實施例的從Master interface向Slave interface傳輸數據的握手信號規則示意圖;如圖3、圖4所示,本實施例的Master傳向Slave指令實現方法包括:
上層Master在T1時刻發出Valid請求,同時準備好向Slave傳送的指令(參見圖4中的Instruction);
下層Slave檢測到上層發出的Valid請求信號,則在T2時刻,Slave將Ready信號置高;
稍後如果檢測到Master的Valid在T3時刻仍然為高,則將Instruction接收;
否則將Ready置低;
進一步地,如圖5所示,本實施例的Slave傳向Master指令實現方法包括:
下層Slave如需要向Master傳送指令,則Slave在T1時刻將Ready信號置高;Master檢測到Slave的Ready握手信號為高后,則在T2時刻將Valid信號置高;
稍後如果檢測到Slave的Ready在T3時刻仍然為高,則將Instruction接收;
否則將Valid置低。
單邏輯功能模塊AFE的寄存器單元3,具體指針對模擬前端邏輯單元的功能控制指令、參數寄存器化後的模塊,其具有標準化的寄存器讀/寫控制總線,包含控制讀/寫指令、地址總線、數據總線;AXI4Lite接口總線的上層Master通過此寄存器單元對此示例的邏輯功能模塊進行控制;
視頻解碼器4,代表一個處理視頻解碼的單功能模塊,其集成了AXI4Lite總線協議解析模塊2、視頻解碼器模塊的寄存器單元5,其中:
視頻解碼器模塊的寄存器單元5指針對視頻解碼邏輯單元的功能控制指令、參數寄存器化後的模塊,具有標準化的寄存器讀/寫控制總線,包含控制讀/寫指令、地址總線、數據總線;AXI4Lite接口總線的上層Master通過此寄存器單元對此示例的邏輯功能模塊進行控制;
輸入格式檢測模塊(IFM)6,代表一個執行輸入格式檢測的單功能模塊,其集成了本發明實現的AXI4Lite總線協議解析模塊2、輸入格式檢測模塊的寄存器單元7,其中:
輸入格式檢測模塊的寄存器單元7指針對輸入格式檢測邏輯單元的功能控制指令、參數寄存器化後的模塊,具有標準化的寄存器讀/寫控制總線,包含控制讀/寫指令、地址總線、數據總線;AXI4Lite接口總線的上層Master通過此寄存器單元對此示例的邏輯功能模塊進行控制;
此外,還包括其他所有實現單個功能的邏輯封裝單元8,其集成了實現的AXI4Lite總線協議解析模塊2及其單個功能模塊的寄存器控制單元9,其中:
寄存器單元9代表將單個邏輯模塊的功能控制指令、參數寄存器化後的模塊,其具有標準化的寄存器讀/寫控制總線,包含控制讀/寫指令、地址總線、數據總線;AXI4Lite接口總線的上層Master通過此寄存器單元對此示例的邏輯功能模塊進行控制;
進一步地,本實施例的AXI4Lite總線接口內部互聯的模塊10封裝了異步FIFO、時鐘轉換器、多個AXI Master/Slave接口、多AXI接口協議MUX及映射器;相當於一條總線通路,連接了上層處理器及下層多個邏輯功能IP;
本實施例的處理器單元11,指兼容AMBA AXI4Lite標準總線協議的上層Master單元,其中:
上層AXI4Lite協議的C驅動模型12用於將AXI4Lite總線接口的讀/寫控制封裝為高級語言C函數庫;在AMBA AXI4Lite標準總線互聯的系統應用層即可通過調用驅動庫裡的C函數達到控制互聯到該總線的邏輯功能模塊;
具體來說,本實施例的實現的AXI總線IP互聯的方法可以包括如下工作流程:
1)對實現單個功能的邏輯模塊算法參數、控制方式進行配置寄存器化。寄存器採用統一的地址、數據、命令總線格式;
2)集成該方法實現的AMBA AXI4Lite標準總線協議解析模塊。
3)將集成了AXI4Lite標準總線協議解析模塊的邏輯單元通過AXI4Lite Interconnect連接至互聯總線上。
4)將兼容AMBA AXI4Lite標準總線協議的處理器也通過AXI4Lite Interconnect連接至互聯總線上;
5)在處理器應用平臺調用API驅動庫裡的相應C操作函數,對底層邏輯單元進行算法、功能控制;
至此,本實施例的AXI總線IP互聯的方法的工作流程說明完畢。
以上實施例僅用於說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修改或替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。