【技術實現步驟摘要】
本專利技術涉及高速數據傳輸,具體而言,涉及一種基于fpga的ddr讀寫仲裁方法及裝置。
技術介紹
1、隨著通訊技術的快速發展,數據傳輸總量在不斷增加中,尤其是對于通信設備信號處理,當上下行同時具有較大數據量處理時,要求設備存儲器的容量較大并且能夠同時滿足上下行數據處理要求。針對該情況,當前主要是在設備中外掛ddr等存儲器進行數據緩存。
2、在一些典型的應用場景中,例如通信綜測儀,需要同時進行下行信號發射以及上行接收信號測試,即需要從ddr中快速讀取波形文件,下發信號,同時要將adc采集的高速信號寫入ddr中,需要同時對ddr進行讀寫操作,但是現有的ddr讀寫控制器只有對數據包全部讀寫需求,即對某個數據包單獨的讀或單獨的寫完成才會進行其他處理,這極大地限制了數據處理效率。
3、公開號為cn111610934a的中國專利技術專利公開了一種ddr控制器及控制方法,并具體公開了如下方案:輸入數據讀寫控制器控制ping?fifo和pang?fifo之間寫入和讀出的切換;ddr讀寫控制模塊對ddr控制器ip核進行讀寫控制和讀寫仲裁,提高了ddr的讀寫效率。但該現有技術主要是滿足對單一ddr讀寫的控制需求,而對大數據量以及高速數據處理的靈活性不夠,且效率低下。
技術實現思路
1、本專利技術的目的在于提供一種基于fpga的ddr讀寫仲裁方法及裝置,其通過分解每次ddr寫入讀出的數據量,可實現ddr讀寫的動態切換,能夠滿足高速數據讀寫需求,且提高了高速讀寫效率,以解決現有技術
2、本專利技術的實施例通過以下技術方案實現:一種基于fpga的ddr讀寫仲裁方法,包括:
3、ddr讀寫仲裁模塊接收ddr讀寫指令,所述ddr讀寫指令包括第一指令和/或第二指令;
4、判斷ddr讀寫指令中是否包含第一指令,若否,則使能輸出數據緩存模塊的讀操作,每當輸出數據緩存模塊緩存的數據大小達到第二預設緩存閾值時,完成一次讀操作,進行m次使能,直至輸出數據緩存模塊完成第二指令所指示的讀數據長度要求,其中,所述m由讀數據長度要求以及第二預設緩存閾值確定;
5、若是,則進一步判斷是否僅包含第一指令;
6、若是,則使能輸入數據緩存模塊的寫操作,每當輸入數據緩存模塊中緩存的數據達到大小第一預設緩存閾值時,將緩存的數據寫入ddr?ip核控制模塊中,完成一次寫操作,進行n次使能,直至完成第一指令所指示的寫數據長度要求,其中,所述n由寫數據長度要求以及第一預設緩存閾值確定,所述ddr?ip核控制模塊用于控制ddr芯片;
7、若否,則在輸入數據緩存模塊或輸出數據緩存模塊完成一次對應的寫或讀操作后,進行讀或寫操作的切換,直至完成對應指令的寫數據長度要求或讀數據長度要求。
8、根據一種優選實施方式,所述輸入數據緩存模塊包括輸入fifo緩存以及輸入fifo控制模塊,所述輸入fifo控制模塊用于控制寫入輸入fifo緩存進行緩存,并接收ddr讀寫仲裁模塊的fifo讀指令,以及控制從輸入fifo緩存讀出數據傳入ddr讀寫仲裁模塊中;
9、所述輸出數據緩存模塊包括輸出fifo緩存以及輸出fifo控制模塊,所述輸出fifo控制模塊用于控制從ddr中讀出的數據寫入輸出fifo緩存中進行緩存,并產生輸出fifo讀數使能信號,控制輸出數據從輸出fifo緩存中讀出。
10、根據一種優選實施方式,所述若是,則使能輸入數據緩存模塊的寫操作,每當輸入數據緩存模塊中緩存的數據大小達到第一預設緩存閾值時,將緩存的數據寫入ddr?ip核控制模塊中,完成一次寫操作,進行n次使能,直至完成第一指令所指示的寫數據長度要求,具體包括:
11、步驟s11、輸入fifo控制模塊接收ddr寫入指令,使能輸入fifo緩存的寫操作;
12、步驟s12、輸入fifo控制模塊對寫入輸入fifo緩存的數據進行計數,當向輸入fifo緩存中寫入大小為第一預設緩存閾值n的數據時,向ddr讀寫仲裁模塊中寫入第一標志,所述第一標志指示已向輸入fifo緩存中寫入大小為n的數據;
13、步驟s13、輸入fifo控制模塊接收ddr讀指令,使能輸入fifo緩存的讀操作,向ddrip核控制模塊中寫入大小為n的數據;
14、步驟s14、循環步驟s11至步驟s13,直至完成第一指令所指示的寫數據長度要求。
15、根據一種優選實施方式,所述若否,則使能輸出數據緩存模塊的讀操作,每當輸出數據緩存模塊緩存的數據大小達到第二預設緩存閾值時,完成一次讀操作,進行m次使能,直至完成第二指令所指示的讀數據長度要求,具體包括:
16、步驟s21、輸出fifo控制模塊接收ddr讀指令,使能輸出fifo緩存的寫操作;
17、步驟s22、輸出fifo控制模塊對寫入輸出fifo緩存的數據進行計數,當向輸出fifo緩存中寫入大小為第二預設緩存閾值m的數據時,向ddr讀寫仲裁模塊中寫入第二標志,所述第二標志用于指示已向輸出fifo緩存中寫入大小為m的數據;
18、步驟s23、循環步驟s21至步驟s22,直至完成第二指令所指示的讀數據長度要求。
19、根據一種優選實施方式,所述步驟s23還包括:
20、步驟s231、ddr讀寫仲裁模塊對輸出fifo緩存中的數據大小進行校驗,當輸出fifo緩存中的數據大小達到第三預設緩存閾值x時產生讀數使能信號,其中,所述第三預設緩存閾值x指示輸出fifo緩存中的數據將滿;
21、步驟s232、輸出fifo控制模塊接收讀數使能信號,使能輸出fifo緩存中的數據讀出。
22、根據一種優選實施方式,所述若否,則在輸入數據緩存模塊或輸出數據緩存模塊完成一次對應的寫或讀操作后,進行讀或寫操作的切換,直至完成對應指令的寫數據長度要求或讀數據長度要求,具體包括:
23、步驟s31、ddr讀寫仲裁模塊接收讀寫標志,所述讀寫標志包含第三標志或第四標志,其中,所述第三標志指示輸入fifo緩存已向ddr?ip核控制模塊中寫入大小為n的數據,所述第四標志指示輸出fifo緩存已從ddr?ip核控制模塊中讀取大小為m的數據或輸出fifo緩存中的數據已讀出;
24、步驟s32、判斷是否是第三標志,若是,則轉至步驟s33;
25、若否,則轉至步驟s34;
26、步驟s33、ddr讀寫仲裁模塊檢測輸出fifo緩存m次使能是否結束和輸出fifo緩存中的數據大小是否達到x,若輸出fifo緩存m次使能已結束,使能輸入fifo緩存的寫操作,直至完成n次使能,流程結束;
27、若輸出fifo緩存m次使能未結束且輸出fifo緩存中的數據大小小于x,使能輸出fifo緩存的讀操作,轉至步驟s35;
28、若輸出fifo緩存m次使能未結束且輸出fifo緩存中的數據大小達到x,使能輸出fifo緩存中的數據讀出,轉至步驟本文檔來自技高網...
【技術保護點】
1.一種基于FPGA的DDR讀寫仲裁方法,其特征在于,包括:
2.如權利要求1所述的基于FPGA的DDR讀寫仲裁方法,其特征在于,所述輸入數據緩存模塊包括輸入FIFO緩存以及輸入FIFO控制模塊,所述輸入FIFO控制模塊用于控制寫入輸入FIFO緩存進行緩存,并接收DDR讀寫仲裁模塊的FIFO讀指令,以及控制從輸入FIFO緩存讀出數據傳入DDR讀寫仲裁模塊中;
3.如權利要求2所述的基于FPGA的DDR讀寫仲裁方法,其特征在于,所述若是,則使能輸入數據緩存模塊的寫操作,每當輸入數據緩存模塊中緩存的數據大小達到第一預設緩存閾值時,將緩存的數據寫入DDR?IP核控制模塊中,完成一次寫操作,進行N次使能,直至完成第一指令所指示的寫數據長度要求,具體包括:
4.如權利要求3所述的基于FPGA的DDR讀寫仲裁方法,其特征在于,所述若否,則使能輸出數據緩存模塊的讀操作,每當輸出數據緩存模塊緩存的數據大小達到第二預設緩存閾值時,完成一次讀操作,進行M次使能,直至完成第二指令所指示的讀數據長度要求,具體包括:
5.如權利要求4所述的基于FPGA的DD
6.如權利要求5所述的基于FPGA的DDR讀寫仲裁方法,其特征在于,所述若否,則在輸入數據緩存模塊或輸出數據緩存模塊完成一次對應的寫或讀操作后,進行讀或寫操作的切換,直至完成對應指令的寫數據長度要求或讀數據長度要求,具體包括:
7.如權利要求1至6任一項所述的基于FPGA的DDR讀寫仲裁方法,其特征在于,所述第一預設閾值n小于第二預設閾值m。
8.如權利要求7所述的基于FPGA的DDR讀寫仲裁方法,其特征在于,所述n由DDR選型以及輸入數據處理速率確定,所述m由DDR選型以及輸出數據處理速率確定。
9.一種基于FPGA的DDR讀寫仲裁裝置,其特征在于,應用到如權利要求1至8任一項所述的方法,包括輸入數據緩存模塊、DDR讀寫仲裁模塊、輸出數據緩存模塊以及DDR?IP核控制模塊;其中,所述DDR讀寫仲裁模塊用于控制DDR?IP核控制模塊寫入輸入數據緩存模塊的數據,并讀出DDR?IP核控制模塊的數據至輸出數據緩存模塊,所述DDR?IP核控制模塊用于控制DDR芯片。
10.如權利要求9所述的基于FPGA的DDR讀寫仲裁裝置,其特征在于,所述輸入數據緩存模塊、DDR讀寫仲裁模塊、輸出數據緩存模塊以及DDR?IP核控制模塊均搭載于FPGA。
...【技術特征摘要】
1.一種基于fpga的ddr讀寫仲裁方法,其特征在于,包括:
2.如權利要求1所述的基于fpga的ddr讀寫仲裁方法,其特征在于,所述輸入數據緩存模塊包括輸入fifo緩存以及輸入fifo控制模塊,所述輸入fifo控制模塊用于控制寫入輸入fifo緩存進行緩存,并接收ddr讀寫仲裁模塊的fifo讀指令,以及控制從輸入fifo緩存讀出數據傳入ddr讀寫仲裁模塊中;
3.如權利要求2所述的基于fpga的ddr讀寫仲裁方法,其特征在于,所述若是,則使能輸入數據緩存模塊的寫操作,每當輸入數據緩存模塊中緩存的數據大小達到第一預設緩存閾值時,將緩存的數據寫入ddr?ip核控制模塊中,完成一次寫操作,進行n次使能,直至完成第一指令所指示的寫數據長度要求,具體包括:
4.如權利要求3所述的基于fpga的ddr讀寫仲裁方法,其特征在于,所述若否,則使能輸出數據緩存模塊的讀操作,每當輸出數據緩存模塊緩存的數據大小達到第二預設緩存閾值時,完成一次讀操作,進行m次使能,直至完成第二指令所指示的讀數據長度要求,具體包括:
5.如權利要求4所述的基于fpga的ddr讀寫仲裁方法,其特征在于,所述步驟s23還包括:
6.如權利要求5所...
【專利技術屬性】
技術研發人員:任和,馬志剛,劉偉,王興云,廖鑫,馮佳梅,陳延強,錢西杰,
申請(專利權)人:瑞瑪思特深圳科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。