欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

寫串行化和資源復(fù)制相結(jié)合的多端口寄存器文件設(shè)計(jì)方法

文檔序號(hào):6403907閱讀:332來源:國(guó)知局
專利名稱:寫串行化和資源復(fù)制相結(jié)合的多端口寄存器文件設(shè)計(jì)方法
技術(shù)領(lǐng)域
本發(fā)明涉及集成電路設(shè)計(jì)中寄存器文件設(shè)計(jì)方法,尤其是現(xiàn)場(chǎng)可編程門陣列FPGA和專用集成電路ASIC設(shè)計(jì)中多端口寄存器文件的設(shè)計(jì)及實(shí)現(xiàn)方法。
背景技術(shù)
微處理器是當(dāng)前計(jì)算機(jī)和嵌入式系統(tǒng)的核心部件。隨著集成電路工藝水平的提高和設(shè)計(jì)技術(shù)的發(fā)展,F(xiàn)PGA或ASIC的設(shè)計(jì)已經(jīng)成為微處理器設(shè)計(jì)和驗(yàn)證的重要組成部分。寄存器文件是微處理器的一個(gè)重要部件,現(xiàn)代高性能微處理器的一個(gè)特點(diǎn)是寄存器文件的規(guī)模大、讀寫端口多。在FPGA中,雖然還存在單端口或者雙端口的靜態(tài)SRAM可以作為寄存器文件來使用,但是其端口數(shù)太少,不能直接作為多端口寄存器文件使用。目前在FPGA中實(shí)現(xiàn)多端口寄存器文件,一般采用一種如www.fpgacpu.org公布的稱為“Double Ram”的方法,但該方法硬件開銷大,當(dāng)端口超過一定數(shù)目后硬件消耗難以忍受。在ASIC設(shè)計(jì)中,多端口寄存器文件一般采用全定制的設(shè)計(jì)方法,然而全定制設(shè)計(jì)的技術(shù)門檻高、設(shè)計(jì)周期長(zhǎng),為了使全定制模塊融入到目前的ASIC設(shè)計(jì)流程中去還必須建立各種復(fù)雜的視圖。因此,對(duì)FPGA和ASIC設(shè)計(jì)來說,尋找一種既適用于FPGA又適用于ASIC的多端口寄存器文件設(shè)計(jì)方法是亟待解決的關(guān)鍵問題。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是針對(duì)目前FPGA和ASIC設(shè)計(jì)中多端口寄存器文件設(shè)計(jì)存在的問題,提供一種通用性強(qiáng)、硬件開銷小、性能高、設(shè)計(jì)周期短的多端口寄存器文件的設(shè)計(jì)方法。
本發(fā)明的技術(shù)方案是將寄存器文件設(shè)計(jì)成兩部分,一部分是寫串行部件,一部分是存儲(chǔ)體與讀端口部件。在寫串行部件中采用寫操作串行化的方法實(shí)現(xiàn)多個(gè)寫端口;利用FPGA和ASIC設(shè)計(jì)中提供的靜態(tài)RAM,在存儲(chǔ)體與讀端口部件中通過資源復(fù)制的方法實(shí)現(xiàn)多個(gè)讀端口。一個(gè)有m個(gè)讀端口和n個(gè)寫端口的多端口寄存器文件的具體設(shè)計(jì)方法是1.確定單端口寄存器文件的實(shí)現(xiàn)方法,在FPGA中,單端口寄存器文件由分布式RAM實(shí)現(xiàn);在ASIC設(shè)計(jì)中,單端口寄存器文件用存儲(chǔ)體編譯器(MemoryCompiler)編譯生成。單端口寄存器文件是具有一個(gè)讀端口和一個(gè)寫端口的寄存器文件,讀端口包括讀地址和讀使能信號(hào)輸入端、讀數(shù)據(jù)輸出端;寫端口包括寫數(shù)據(jù)、寫地址、寫使能信號(hào)輸入端。
2.在寫串行部件中采用寫串行化法實(shí)現(xiàn)寄存器文件的n個(gè)寫端口,寫串行部件由n個(gè)鎖存器組、一個(gè)模k計(jì)數(shù)器和一個(gè)多路選擇器組成1)設(shè)置n組由系統(tǒng)的主時(shí)鐘clk控制的鎖存器組,一個(gè)鎖存器組由數(shù)據(jù)鎖存器、地址鎖存器和使能信號(hào)鎖存器組成,在系統(tǒng)時(shí)鐘clk的上升沿將n個(gè)寫端口的數(shù)據(jù)、地址、寫使能信號(hào)分別鎖存,假定寫端口的數(shù)據(jù)為a位,地址為b位,使能信號(hào)為1位,則一個(gè)鎖存器組為(a+b+1)個(gè)鎖存器。
2)設(shè)置一個(gè)由時(shí)鐘clk_fast控制的模k計(jì)數(shù)器,k≥n,時(shí)鐘clk_fast的頻率為時(shí)鐘clk的頻率的k倍,在clk的上升沿之后,模k計(jì)數(shù)器的值為0,其后加1計(jì)數(shù)。
3)設(shè)置一個(gè)由模k計(jì)數(shù)器控制的多路選擇器。多路選擇器由3個(gè)n選1多路選擇器組成,分別是寫數(shù)據(jù)、寫地址、寫使能信號(hào)多路選擇器。多路選擇器的輸入來自于n組鎖存器,在模k計(jì)數(shù)器的控制下,在快速時(shí)鐘clk_fast的每一拍,分別選擇一個(gè)鎖存器組,將其中的寫數(shù)據(jù)、寫地址及寫使能信號(hào)送至存儲(chǔ)體與讀端口部件。令模k計(jì)數(shù)器的當(dāng)前值為cur_count,當(dāng)cur_count=i時(shí),第i組鎖存器的輸出被選擇;當(dāng)cur_count=i+1時(shí),第i+1組鎖存器的輸出被選擇;依次類推,當(dāng)cur_count=i+n-2時(shí),第n-1組鎖存器的輸出被選擇;當(dāng)cur_count≥i+n-1時(shí),第n組鎖存器的輸出被選擇,其中i≥0且i≤k-n。
3.在存儲(chǔ)體與讀端口部件中采用資源復(fù)制法實(shí)現(xiàn)寄存器文件的m個(gè)讀端口存儲(chǔ)體與讀端口部件由m個(gè)單端口寄存器文件組成。m個(gè)單端口寄存器文件的寫數(shù)據(jù)、寫地址與寫使能信號(hào)輸入端都分別與寫數(shù)據(jù)、寫地址、寫使能多路選擇器的輸出相連。在快速時(shí)鐘clk_fast的控制下,每一拍將一個(gè)寫端口的數(shù)據(jù)同時(shí)寫入m個(gè)單端口寄存器文件,這樣,n個(gè)寫端口的數(shù)據(jù)就依次串行地同時(shí)寫入到m個(gè)單端口寄存器文件中,由于m個(gè)單端口寄存器文件的寫數(shù)據(jù)、寫地址與寫使能信號(hào)輸入端的連接的信號(hào)都是一樣的,因此它們存儲(chǔ)的數(shù)據(jù)是一樣的,保證了m個(gè)讀端口訪問到的數(shù)據(jù)一致。本發(fā)明多端口寄存器文件的m個(gè)讀端口與m個(gè)單端口寄存器文件一一對(duì)應(yīng),多端口寄存器文件的第i個(gè)讀端口的地址和讀使能信號(hào)分別連接到第i個(gè)單端口寄存器文件讀地址和讀使能輸入端,第i個(gè)單端口寄存器文件讀出的數(shù)據(jù)也就是第i個(gè)讀端口讀出的數(shù)據(jù)。
采用本發(fā)明能產(chǎn)生如下有益技術(shù)效果1.本發(fā)明既適用于FPGA的寄存器文件的設(shè)計(jì),又適用于ASIC的寄存器文件的設(shè)計(jì),通用性強(qiáng)。
2.充分利用了FPGA和ASIC設(shè)計(jì)中能夠提供的資源,降低了設(shè)計(jì)的復(fù)雜度。
3.通過把寫操作串行化,多個(gè)寫端口分時(shí)共享單端口寄存器文件的一個(gè)寫端口,避免了直接實(shí)現(xiàn)多個(gè)寫端口帶來的硬件開銷,降低了設(shè)計(jì)實(shí)現(xiàn)需要的硬件。
4.通過資源復(fù)制,簡(jiǎn)化了讀端口的設(shè)計(jì)實(shí)現(xiàn),且能有效保證讀端口訪問到的數(shù)據(jù)保持一致,提高了性能。


圖1是采用本發(fā)明實(shí)現(xiàn)的一個(gè)具有m個(gè)讀端口和n個(gè)寫端口的寄存器文件的邏輯結(jié)構(gòu)具體實(shí)施例方式圖1是采用本發(fā)明實(shí)現(xiàn)的一個(gè)具有m個(gè)讀端口和n個(gè)寫端口的寄存器文件的邏輯結(jié)構(gòu)圖。本發(fā)明將寄存器文件設(shè)計(jì)成兩部分,一部分是寫串行部件,一部分是存儲(chǔ)體與讀端口部件。寫串行部件由n個(gè)鎖存器組、一個(gè)多路選擇器和一個(gè)模k的計(jì)數(shù)器組成。鎖存器組的個(gè)數(shù)與寫端口數(shù)相等,每一個(gè)鎖存器組由a個(gè)數(shù)據(jù)鎖存器、b個(gè)地址鎖存器和1個(gè)使能信號(hào)鎖存器組成,系統(tǒng)時(shí)鐘clk的上升或下降沿將寫端口的數(shù)據(jù)、地址及寫使能信號(hào)分別鎖存。多路選擇器在模k(k是一個(gè)不小于n的數(shù))計(jì)數(shù)器的控制下,在快速時(shí)鐘clk_fast的每一拍,分別選擇一個(gè)鎖存器組,將其中的數(shù)據(jù)、地址及使能信號(hào)送至存儲(chǔ)體與讀端口部件。存儲(chǔ)體與讀端口部件由m個(gè)單端口寄存器文件組成,單端口寄存器文件是具有一個(gè)讀端口和一個(gè)寫端口的寄存器文件,讀端口包括讀地址和讀使能信號(hào)輸入端、讀數(shù)據(jù)輸出端;寫端口包括寫數(shù)據(jù)、寫地址、寫使能信號(hào)輸入端。m為讀端口的個(gè)數(shù)。m個(gè)單端口寄存器文件的寫數(shù)據(jù)、寫地址與寫使能信號(hào)輸入端都分別與寫數(shù)據(jù)、寫地址、寫使能多路選擇器的輸出相連。在快速時(shí)鐘clk_fast的控制下,每一拍將一個(gè)寫端口的數(shù)據(jù)寫入m個(gè)單端口寄存器文件。由于m個(gè)單端口寄存器文件的寫數(shù)據(jù)、寫地址與寫使能信號(hào)輸入端連接的信號(hào)都是一樣的,因此它們存儲(chǔ)的數(shù)據(jù)也是一樣的。本發(fā)明多端口寄存器文件的m個(gè)讀端口與m個(gè)單端口寄存器文件一一對(duì)應(yīng),多端口寄存器文件的第i個(gè)讀端口的地址和讀使能信號(hào)分別連接到第i個(gè)單端口寄存器文件讀地址和讀使能輸入端,第i個(gè)單端口寄存器文件讀出的數(shù)據(jù)也就是第i個(gè)讀端口讀出的數(shù)據(jù)。
本發(fā)明已經(jīng)在國(guó)防科大自行研制的DSP芯片F(xiàn)T-C62的功能驗(yàn)證中采用。在FT-C67 CPU內(nèi)核的FPGA仿真驗(yàn)證中,采用本發(fā)明在一片F(xiàn)PGA中實(shí)現(xiàn)了包括兩個(gè)10讀6寫的寄存器文件的CPU內(nèi)核。在采用本發(fā)明之前,單是一個(gè)寄存器文件就占用了Xilinx公司400萬門的FPGA VirtexII xcv4000的80%的資源;采用本發(fā)明,兩個(gè)寄存器文件總共只占用了約40%的資源。
權(quán)利要求
1.一種寫串行化和資源復(fù)制相結(jié)合的多端口寄存器文件設(shè)計(jì)方法,其特征在于將寄存器文件設(shè)計(jì)成兩部分,一部分是寫串行部件,一部分是存儲(chǔ)體與讀端口部件,在寫串行部件中采用寫操作串行化的方法實(shí)現(xiàn)多個(gè)寫端口;利用FPGA和ASIC設(shè)計(jì)中提供的靜態(tài)RAM,在存儲(chǔ)體與讀端口部件中通過資源復(fù)制的方法實(shí)現(xiàn)多個(gè)讀端口,一個(gè)有m個(gè)讀端口和n個(gè)寫端口的多端口寄存器文件的具體設(shè)計(jì)方法是1.1確定單端口寄存器文件的實(shí)現(xiàn)方法,在FPGA中,單端口寄存器文件由分布式RAM實(shí)現(xiàn);在ASIC設(shè)計(jì)中,單端口寄存器文件用存儲(chǔ)體編譯器(Memory Compiler)編譯生成,單端口寄存器文件是具有一個(gè)讀端口和一個(gè)寫端口的寄存器文件,讀端口包括讀地址和讀使能信號(hào)輸入端、讀數(shù)據(jù)輸出端;寫端口包括寫數(shù)據(jù)、寫地址、寫使能信號(hào)輸入端;1.2在寫串行部件中采用寫串行化法實(shí)現(xiàn)寄存器文件的n個(gè)寫端口,寫串行部件由n個(gè)鎖存器組、一個(gè)模k計(jì)數(shù)器和一個(gè)多路選擇器組成1.2.1設(shè)置n組由系統(tǒng)的主時(shí)鐘clk控制的鎖存器組,一個(gè)鎖存器組由數(shù)據(jù)鎖存器、地址鎖存器和使能信號(hào)鎖存器組成,在系統(tǒng)時(shí)鐘clk的上升或下降沿將n個(gè)寫端口的數(shù)據(jù)、地址、寫使能信號(hào)分別鎖存,假定寫端口的數(shù)據(jù)為a位,地址為b位,使能信號(hào)為1位,則一個(gè)鎖存器組為(a+b+1)個(gè)鎖存器;1.2.2設(shè)置一個(gè)由時(shí)鐘clk_fast控制的模k計(jì)數(shù)器,k≥n,時(shí)鐘clk_fast的頻率為時(shí)鐘clk的頻率的k倍,在clk的上升沿之后,模k計(jì)數(shù)器的值為0,其后加1計(jì)數(shù);1.2.3設(shè)置一個(gè)由模k計(jì)數(shù)器控制的多路選擇器,多路選擇器由3個(gè)n選1多路選擇器組成,分別是寫數(shù)據(jù)、寫地址、寫使能信號(hào)多路選擇器;多路選擇器的輸入來自于n組鎖存器, 在模k計(jì)數(shù)器的控制下,在快速時(shí)鐘clk_fast的每一拍,分別選擇一個(gè)鎖存器組,將其中的寫數(shù)據(jù)、寫地址及寫使能信號(hào)送至存儲(chǔ)體與讀端口部件;令模k計(jì)數(shù)器的當(dāng)前值為cur_count,當(dāng)cur_count=i時(shí),第i組鎖存器的輸出被選擇;當(dāng)cur_count=i+1時(shí),第i+1組鎖存器的輸出被選擇;依次類推,當(dāng)cur_count=i+n-2時(shí),第n-1組鎖存器的輸出被選擇;當(dāng)cur_count≥i+n-1時(shí),第n組鎖存器的輸出被選擇,其中i≥0且i≤k-n;1.3在存儲(chǔ)體與讀端口部件中采用資源復(fù)制法實(shí)現(xiàn)寄存器文件的m個(gè)讀端口存儲(chǔ)體與讀端口部件由m個(gè)單端口寄存器文件組成,m個(gè)單端口寄存器文件的寫數(shù)據(jù)、寫地址與寫使能信號(hào)輸入端都分別與寫數(shù)據(jù)、寫地址、寫使能多路選擇器的輸出相連;在快速時(shí)鐘clk_fast的控制下,每一拍將一個(gè)寫端口的數(shù)據(jù)同時(shí)寫入m個(gè)單端口寄存器文件,這樣,n個(gè)寫端口的數(shù)據(jù)就依次串行地同時(shí)寫入到m個(gè)單端口寄存器文件中,由于m個(gè)單端口寄存器文件的寫數(shù)據(jù)、寫地址與寫使能信號(hào)輸入端的連接的信號(hào)都是一樣的,因此它們存儲(chǔ)的數(shù)據(jù)是一樣的,保證了m個(gè)讀端口訪問到的數(shù)據(jù)一致;多端口寄存器文件的m個(gè)讀端口與m個(gè)單端口寄存器文件一一對(duì)應(yīng),多端口寄存器文件的第i個(gè)讀端口的地址和讀使能信號(hào)分別連接到第i個(gè)單端口寄存器文件讀地址和讀使能輸入端,第i個(gè)單端口寄存器文件讀出的數(shù)據(jù)也就是第i個(gè)讀端口讀出的數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種寫串行化和資源復(fù)制相結(jié)合的多端口寄存器文件設(shè)計(jì)方法,所要解決的技術(shù)問題是提供一種通用性強(qiáng)、硬件開銷小、性能高、設(shè)計(jì)周期短的多端口寄存器文件的設(shè)計(jì)方法。技術(shù)方案是將寄存器文件設(shè)計(jì)成兩部分,一部分是寫串行部件,一部分是存儲(chǔ)體與讀端口部件。在寫串行部件中采用寫操作串行化的方法實(shí)現(xiàn)多個(gè)寫端口;利用FPGA和ASIC設(shè)計(jì)中提供的靜態(tài)RAM,在存儲(chǔ)體與讀端口部件中通過資源復(fù)制的方法實(shí)現(xiàn)多個(gè)讀端口。本發(fā)明通用性強(qiáng),降低了設(shè)計(jì)的復(fù)雜度,降低了設(shè)計(jì)實(shí)現(xiàn)需要的硬件,提高了性能。
文檔編號(hào)G06F15/76GK1598806SQ20041004508
公開日2005年3月23日 申請(qǐng)日期2004年7月23日 優(yōu)先權(quán)日2004年7月23日
發(fā)明者李振濤, 陳書明, 馬鵬勇, 郭陽, 萬江華, 胡春媚, 馬劍武, 馬馳遠(yuǎn) 申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
镇坪县| 叶城县| 津市市| 洪雅县| 朔州市| 屏山县| 陕西省| 高碑店市| 页游| 浑源县| 凯里市| 南雄市| 林口县| 名山县| 新巴尔虎左旗| 秦皇岛市| 巴里| 英山县| 楚雄市| 肃南| 安图县| 丹巴县| 宁陵县| 义马市| 达尔| 大城县| 永福县| 通山县| 安国市| 腾冲县| 深圳市| 麦盖提县| 山东省| 玛曲县| 横峰县| 沁阳市| 屏南县| 平泉县| 渭源县| 柳河县| 手游|