使用ram單元實(shí)現(xiàn)的移位寄存器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電子元件技術(shù)領(lǐng)域,用于現(xiàn)場可編程器件(FPGA)或是數(shù)字集成電路中使用RAM單元實(shí)現(xiàn)移位寄存器功能。
【背景技術(shù)】
[0002]移位寄存器是數(shù)字電路中一個(gè)基本的功能單元,傳統(tǒng)移位寄存器是由若干個(gè)寄存器串行連接實(shí)現(xiàn),如圖1所示,圖中DFF表示一個(gè)D觸發(fā)器。在現(xiàn)場可編程器件(FPGA)或是數(shù)字集成電路中經(jīng)常需要使用到移位寄存器功能單元完成對(duì)數(shù)據(jù)的延時(shí)處理。但是,若直接使用寄存器資源來實(shí)現(xiàn)大型的移位寄存器,例如實(shí)現(xiàn)一個(gè)長度為1024,位寬為32位的移位寄存器,則需要32768個(gè)寄存器,會(huì)產(chǎn)生大量的資源開銷。在現(xiàn)場可編程器件(FPGA)中的主要表現(xiàn)是使用了大量的有限且珍貴的寄存器資源,在數(shù)字集成電路中的主要表現(xiàn)是由于使用了大量的寄存器會(huì)造成較大的面積開銷。
【發(fā)明內(nèi)容】
[0003]為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種使用RAM單元實(shí)現(xiàn)移位寄存器功能的方案,避免直接使用寄存器實(shí)現(xiàn)大型移位寄存器而導(dǎo)致大量資源開銷的不足,結(jié)構(gòu)簡單,易于實(shí)現(xiàn),成本開銷低。
[0004]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:包括單端口 RAM和加I累加器。
[0005]外部輸入的周期性時(shí)鐘信號(hào)連接至加I累加器的時(shí)鐘輸入端和單端口 RAM的時(shí)鐘輸入端;所述的加I累加器在周期性時(shí)鐘信號(hào)的驅(qū)動(dòng)下,每一個(gè)時(shí)鐘周期完成自加I功能,并且將每個(gè)時(shí)鐘周期的自加結(jié)果作為地址信號(hào)輸出至單端口 RAM的地址信號(hào)輸入端;當(dāng)加I累加器的輸出值達(dá)到N-1后,下一個(gè)時(shí)鐘周期加I累加器的輸出值重新置為0,并重新開始累加,其中N是所需移位寄存器的長度;外部輸入的數(shù)據(jù)信號(hào)連接至單端口 RAM的數(shù)據(jù)輸入端口,單端口 RAM的高電平使能輸入端固定連接邏輯高電平,輸出信號(hào)連接到移位寄存器功能模塊外部輸出;單端口 RAM在周期性時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)輸入的地址信號(hào)的地址,將數(shù)據(jù)信號(hào)上的數(shù)據(jù)寫入到單端口 RAM對(duì)應(yīng)的地址中,同時(shí)將地址信號(hào)的地址對(duì)應(yīng)的單端口 RAM中的數(shù)據(jù)輸出。
[0006]本發(fā)明的有益效果是:在現(xiàn)場可編程器件(FPGA)或是數(shù)字集成電路中RAM是一種在相同存儲(chǔ)容量下成本開銷大大低于寄存器的存儲(chǔ)單元。本發(fā)明采用RAM單元來實(shí)現(xiàn)大型移位寄存器功能,成本開銷大大低于直接使用寄存器單元實(shí)現(xiàn)移位寄存器的成本開銷;本發(fā)明的電路結(jié)構(gòu)簡單,各個(gè)單元之間的信號(hào)流控制較少,易實(shí)現(xiàn);本發(fā)明的電路使用了成熟的部件,如單端口 RAM等,沒有特殊的部件,無開發(fā)難度。
【附圖說明】
[0007]圖1是傳統(tǒng)移位寄存器實(shí)現(xiàn)電路圖;
[0008]圖2是移位寄存器功能模塊電路結(jié)構(gòu);
[0009]圖3是加I累加器單元輸入輸出端口時(shí)序圖;
[0010]圖4是單端口 RAM單元輸入輸出端口時(shí)序圖;
[0011]圖5是移位寄存器功能模塊電路結(jié)構(gòu)圖;
[0012]圖6是加I累加器單元輸入輸出端口時(shí)序圖;
[0013]圖7是單端口 RAM單元輸入輸出端口時(shí)序圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明,本發(fā)明包括但不僅限于下述實(shí)施例。
[0015]本發(fā)明提供的移位寄存器功能模塊,如圖2所示,有兩個(gè)輸入,分別為datain信號(hào)和elk信號(hào);有一個(gè)輸出,為dataout信號(hào);內(nèi)部包含兩個(gè)單元,分別為單端口 RAM單元和加I累加器單元。
[0016]輸入信號(hào)elk為時(shí)鐘信號(hào),輸入信號(hào)datain為輸入的數(shù)據(jù),輸出信號(hào)dataout為輸出數(shù)據(jù)。輸入信號(hào)datain輸入數(shù)據(jù)在經(jīng)過移位寄存器功能模塊延時(shí)一定時(shí)鐘周期后通過輸出信號(hào)dataout輸出。
[0017]移位寄存器功能模塊內(nèi)的單端口 RAM單元主要完成每個(gè)時(shí)鐘周期內(nèi)對(duì)輸入數(shù)據(jù)的存儲(chǔ),并完成對(duì)應(yīng)地址數(shù)據(jù)的輸出。加I累加器單元主要完成每個(gè)時(shí)鐘周期內(nèi)計(jì)數(shù)器的自加I功能。
[0018]結(jié)合圖2具體說明本
【發(fā)明內(nèi)容】
。
[0019]外部輸入信號(hào)elk是周期性時(shí)鐘信號(hào),連接至加I累加器的時(shí)鐘輸入端和單端口RAM的時(shí)鐘輸入端。外部輸入信號(hào)datain是輸入的數(shù)據(jù)信號(hào),連接至單端口 RAM的數(shù)據(jù)輸入端口。
[0020]外部輸入信號(hào)elk連接至加I累加器的時(shí)鐘輸入端elk后,所述的加I累加器單元,在外部時(shí)鐘信號(hào)elk的驅(qū)動(dòng)下,每一個(gè)時(shí)鐘周期完成自加I功能,并且將每個(gè)時(shí)鐘周期的自加結(jié)果通過輸出端口 cnt輸出,即每經(jīng)過一個(gè)時(shí)鐘周期,cnt = cnt+lo加I累加器單元的輸入端口和輸出端口的時(shí)序關(guān)系如圖3所示。在T(O)時(shí)刻,加I累加器單元cnt輸出值為“0”,經(jīng)過一個(gè)時(shí)鐘周期到T(I)時(shí)刻后,加I累加器單元cnt輸出值自加1,輸出值為“1”,每一個(gè)時(shí)鐘周期后輸出信號(hào)cnt在前一個(gè)時(shí)鐘周期輸出值的基礎(chǔ)上自加I。當(dāng)?shù)郊覫累加器單元cnt輸出值達(dá)到N-1后,下一個(gè)時(shí)鐘周期加I累加器單元cnt輸出值重新置為“0”,并重新開始累加,其中N是移位寄存器的長度。加I累加器單元的輸出信號(hào)cnt連接到單端口 RAM單元輸入端addr。
[0021]單端口 RAM單元有四個(gè)輸入信號(hào),分別為寫使能信號(hào)wea(高電平使能),地址信號(hào)addr,輸入數(shù)據(jù)信號(hào)datain,時(shí)鐘信號(hào)elk ;有一個(gè)輸出信號(hào),為輸出數(shù)據(jù)信號(hào)dataout。寫使能信號(hào)固定連接邏輯高電平“1”,即單端口 RAM—直處于寫使能狀態(tài)。地址信號(hào)addr連接到加I累加器單元的輸出端cnt。輸入數(shù)據(jù)信號(hào)datain連接到移位寄存器功能模塊外部輸入datain。時(shí)鐘信號(hào)elk連接到移位寄存器功能模塊外部輸入elk。輸出信號(hào)dataout連接到移位寄存器功能模塊外部輸出dataout。單端口 RAM單元端口的時(shí)序要求如圖4所示。在時(shí)鐘信號(hào)elk的驅(qū)動(dòng)下,單端口 RAM單元需根據(jù)輸入的地址信號(hào)addr的地址將datain信號(hào)上的數(shù)據(jù)寫入到RAM對(duì)應(yīng)的地址中,同時(shí)將地址信號(hào)addr的地址對(duì)應(yīng)的RAM中的數(shù)據(jù)輸出到dataout信號(hào)上。
[0022]實(shí)例為實(shí)現(xiàn)一個(gè)長度為1000,位寬為32位的移位寄存器功能模塊。
[0023]本實(shí)例的實(shí)現(xiàn)如圖3所示,有兩個(gè)輸入,分別為datain信號(hào)和elk信號(hào),datain信號(hào)是32位的信號(hào),elk信號(hào)是I位的信號(hào);有一個(gè)輸出,為dataout信號(hào),dataout信號(hào)是32位的信號(hào);內(nèi)部包含兩個(gè)單元,分別為單端口 RAM單元和加I累加器單元。單端口 RAM的存儲(chǔ)容量為32X 1024bit。加I累加器單元的輸出信號(hào)cnt是10位的信號(hào)。
[0024]輸入信號(hào)elk為時(shí)鐘信號(hào),輸入信號(hào)datain為輸入的數(shù)據(jù),輸出信號(hào)dataout為輸出數(shù)據(jù)。輸入信號(hào)datain輸入數(shù)據(jù)在經(jīng)過移位寄存器功能模塊延時(shí)1000個(gè)時(shí)鐘周期后通過輸出信號(hào)dataout輸出。
[0025]移位寄存器功能模塊內(nèi)的單端口 RAM單元主要完成每個(gè)時(shí)鐘周期內(nèi)對(duì)輸入數(shù)據(jù)的存儲(chǔ),并完成對(duì)應(yīng)地址數(shù)據(jù)的輸出。加I累加器單元主要完成每個(gè)時(shí)鐘周期內(nèi)計(jì)數(shù)器的自加I功能。
[0026]結(jié)合圖5具體說明本
【發(fā)明內(nèi)容】
。
[0027]外部輸入信號(hào)elk是周期性時(shí)鐘信號(hào),連接至加I累加器的時(shí)鐘輸入端和單端口RAM的時(shí)鐘輸入端。外部輸入信號(hào)datain是輸入的數(shù)據(jù)信號(hào),連接至單端口 RAM的數(shù)據(jù)輸入端口。
[0028]外部輸入信號(hào)elk連接至加I累加器的時(shí)鐘輸入端elk后,所述的加I累加器單元,在外部時(shí)鐘信號(hào)elk的驅(qū)動(dòng)下,每一個(gè)時(shí)鐘周期完成自加I功能,并且將每個(gè)時(shí)鐘周期的自加結(jié)果通過輸出端口 cnt輸出,即每經(jīng)過一個(gè)時(shí)鐘周期,cnt = cnt+lo加I累加器單元的輸入端口和輸出端口的時(shí)序關(guān)系如圖3所示。在T(O)時(shí)刻,加I累加器單元cnt輸出值為“0”,經(jīng)過一個(gè)時(shí)鐘周期到T(I)時(shí)刻后,加I累加器單元cnt輸出值自加1,輸出值為“1”,每一個(gè)時(shí)鐘周期后輸出信號(hào)cnt在前一個(gè)時(shí)鐘周期輸出值的基礎(chǔ)上自加I。當(dāng)?shù)郊覫累加器單元cnt輸出值達(dá)到999后,下一個(gè)時(shí)鐘周期加I累加器單元cnt輸出值重新置為“0”,并重新開始累加。加I累加器單元的輸出信號(hào)cnt連接到單端口 RAM單元輸入端addr,信號(hào)線的位寬為10位。
[0029]單端口 RAM單元有四個(gè)輸入信號(hào),分別為寫使能信號(hào)wea(高電平使能),地址信號(hào)addr,輸入數(shù)據(jù)信號(hào)datain,時(shí)鐘信號(hào)elk ;有一個(gè)輸出信號(hào),為輸出數(shù)據(jù)信號(hào)dataout。寫使能信號(hào)固定連接邏輯高電平“1”,即單端口 RAM —直處于寫使能狀態(tài)。地址信號(hào)addr是10位的信號(hào),連接到加I累加器單元的輸出端cnt。輸入數(shù)據(jù)信號(hào)datain是32位的信號(hào),連接到移位寄存器功能模塊外部輸入datain。時(shí)鐘信號(hào)elk連接到移位寄存器功能模塊外部輸入elk。輸出信號(hào)dataout是32位的信號(hào),連接到移位寄存器功能模塊外部輸出dataout。單端口 RAM單元端口的時(shí)序要求如圖7所示。在時(shí)鐘信號(hào)elk的驅(qū)動(dòng)下,單端口RAM單元需根據(jù)輸入的地址信號(hào)addr的地址將datain信號(hào)上的數(shù)據(jù)寫入到RAM對(duì)應(yīng)的地址中,同時(shí)將地址信號(hào)addr的地址對(duì)應(yīng)的RAM中的數(shù)據(jù)輸出到dataout信號(hào)上。
[0030]采用上述的三個(gè)步驟便可實(shí)現(xiàn)一個(gè)長度為1000,位寬為32位的移位寄存器功能模塊。
【主權(quán)項(xiàng)】
1.一種使用RAM單元實(shí)現(xiàn)的移位寄存器,包括單端口 RAM和加I累加器,其特征在于:外部輸入的周期性時(shí)鐘信號(hào)連接至加I累加器的時(shí)鐘輸入端和單端口 RAM的時(shí)鐘輸入端;所述的加I累加器在周期性時(shí)鐘信號(hào)的驅(qū)動(dòng)下,每一個(gè)時(shí)鐘周期完成自加I功能,并且將每個(gè)時(shí)鐘周期的自加結(jié)果作為地址信號(hào)輸出至單端口 RAM的地址信號(hào)輸入端;當(dāng)加I累加器的輸出值達(dá)到N-1后,下一個(gè)時(shí)鐘周期加I累加器的輸出值重新置為O,并重新開始累加,其中N是所需移位寄存器的長度;外部輸入的數(shù)據(jù)信號(hào)連接至單端口 RAM的數(shù)據(jù)輸入端口,單端口 RAM的高電平使能輸入端固定連接邏輯高電平,輸出信號(hào)連接到移位寄存器功能模塊外部輸出;單端口 RAM在周期性時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)輸入的地址信號(hào)的地址,將數(shù)據(jù)信號(hào)上的數(shù)據(jù)寫入到單端口 RAM對(duì)應(yīng)的地址中,同時(shí)將地址信號(hào)的地址對(duì)應(yīng)的單端口 RAM中的數(shù)據(jù)輸出。
【專利摘要】本發(fā)明提供了一種使用RAM單元實(shí)現(xiàn)的移位寄存器,包括單端口RAM和加1累加器,外部輸入的周期性時(shí)鐘信號(hào)連接至加1累加器的時(shí)鐘輸入端和單端口RAM的時(shí)鐘輸入端;加1累加器輸出地址信號(hào)至單端口RAM;單端口RAM在周期性時(shí)鐘信號(hào)的驅(qū)動(dòng)下,根據(jù)輸入的地址信號(hào)的地址,將數(shù)據(jù)信號(hào)上的數(shù)據(jù)寫入到單端口RAM對(duì)應(yīng)的地址中,同時(shí)將地址信號(hào)的地址對(duì)應(yīng)的單端口RAM中的數(shù)據(jù)輸出。本發(fā)明在相同存儲(chǔ)容量下成本開銷大大低于寄存器。
【IPC分類】G11C19-28
【公開號(hào)】CN104733049
【申請?zhí)枴緾N201510140365
【發(fā)明人】謝元斌, 魏敬法, 鐘小敏, 張阿朋, 王小峰
【申請人】中國電子科技集團(tuán)公司第二十研究所
【公開日】2015年6月24日
【申請日】2015年3月27日