CN104733049A - 使用ram单元实现的移位寄存器 - Google Patents
使用ram单元实现的移位寄存器 Download PDFInfo
- Publication number
- CN104733049A CN104733049A CN201510140365.9A CN201510140365A CN104733049A CN 104733049 A CN104733049 A CN 104733049A CN 201510140365 A CN201510140365 A CN 201510140365A CN 104733049 A CN104733049 A CN 104733049A
- Authority
- CN
- China
- Prior art keywords
- signal
- port ram
- address
- single port
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Logic Circuits (AREA)
Abstract
本发明提供了一种使用RAM单元实现的移位寄存器,包括单端口RAM和加1累加器,外部输入的周期性时钟信号连接至加1累加器的时钟输入端和单端口RAM的时钟输入端;加1累加器输出地址信号至单端口RAM;单端口RAM在周期性时钟信号的驱动下,根据输入的地址信号的地址,将数据信号上的数据写入到单端口RAM对应的地址中,同时将地址信号的地址对应的单端口RAM中的数据输出。本发明在相同存储容量下成本开销大大低于寄存器。
Description
技术领域
本发明属于电子元件技术领域,用于现场可编程器件(FPGA)或是数字集成电路中使用RAM单元实现移位寄存器功能。
背景技术
移位寄存器是数字电路中一个基本的功能单元,传统移位寄存器是由若干个寄存器串行连接实现,如图1所示,图中DFF表示一个D触发器。在现场可编程器件(FPGA)或是数字集成电路中经常需要使用到移位寄存器功能单元完成对数据的延时处理。但是,若直接使用寄存器资源来实现大型的移位寄存器,例如实现一个长度为1024,位宽为32位的移位寄存器,则需要32768个寄存器,会产生大量的资源开销。在现场可编程器件(FPGA)中的主要表现是使用了大量的有限且珍贵的寄存器资源,在数字集成电路中的主要表现是由于使用了大量的寄存器会造成较大的面积开销。
发明内容
为了克服现有技术的不足,本发明提供一种使用RAM单元实现移位寄存器功能的方案,避免直接使用寄存器实现大型移位寄存器而导致大量资源开销的不足,结构简单,易于实现,成本开销低。
本发明解决其技术问题所采用的技术方案是:包括单端口RAM和加1累加器。
外部输入的周期性时钟信号连接至加1累加器的时钟输入端和单端口RAM的时钟输入端;所述的加1累加器在周期性时钟信号的驱动下,每一个时钟周期完成自加1功能,并且将每个时钟周期的自加结果作为地址信号输出至单端口RAM的地址信号输入端;当加1累加器的输出值达到N-1后,下一个时钟周期加1累加器的输出值重新置为0,并重新开始累加,其中N是所需移位寄存器的长度;外部输入的数据信号连接至单端口RAM的数据输入端口,单端口RAM的高电平使能输入端固定连接逻辑高电平,输出信号连接到移位寄存器功能模块外部输出;单端口RAM在周期性时钟信号的驱动下,根据输入的地址信号的地址,将数据信号上的数据写入到单端口RAM对应的地址中,同时将地址信号的地址对应的单端口RAM中的数据输出。
本发明的有益效果是:在现场可编程器件(FPGA)或是数字集成电路中RAM是一种在相同存储容量下成本开销大大低于寄存器的存储单元。本发明采用RAM单元来实现大型移位寄存器功能,成本开销大大低于直接使用寄存器单元实现移位寄存器的成本开销;本发明的电路结构简单,各个单元之间的信号流控制较少,易实现;本发明的电路使用了成熟的部件,如单端口RAM等,没有特殊的部件,无开发难度。
附图说明
图1是传统移位寄存器实现电路图;
图2是移位寄存器功能模块电路结构;
图3是加1累加器单元输入输出端口时序图;
图4是单端口RAM单元输入输出端口时序图;
图5是移位寄存器功能模块电路结构图;
图6是加1累加器单元输入输出端口时序图;
图7是单端口RAM单元输入输出端口时序图。
具体实施方式
下面结合附图和实施例对本发明进一步说明,本发明包括但不仅限于下述实施例。
本发明提供的移位寄存器功能模块,如图2所示,有两个输入,分别为datain信号和clk信号;有一个输出,为dataout信号;内部包含两个单元,分别为单端口RAM单元和加1累加器单元。
输入信号clk为时钟信号,输入信号datain为输入的数据,输出信号dataout为输出数据。输入信号datain输入数据在经过移位寄存器功能模块延时一定时钟周期后通过输出信号dataout输出。
移位寄存器功能模块内的单端口RAM单元主要完成每个时钟周期内对输入数据的存储,并完成对应地址数据的输出。加1累加器单元主要完成每个时钟周期内计数器的自加1功能。
结合图2具体说明本发明内容。
外部输入信号clk是周期性时钟信号,连接至加1累加器的时钟输入端和单端口RAM的时钟输入端。外部输入信号datain是输入的数据信号,连接至单端口RAM的数据输入端口。
外部输入信号clk连接至加1累加器的时钟输入端clk后,所述的加1累加器单元,在外部时钟信号clk的驱动下,每一个时钟周期完成自加1功能,并且将每个时钟周期的自加结果通过输出端口cnt输出,即每经过一个时钟周期,cnt=cnt+1。加1累加器单元的输入端口和输出端口的时序关系如图3所示。在T(0)时刻,加1累加器单元cnt输出值为“0”,经过一个时钟周期到T(1)时刻后,加1累加器单元cnt输出值自加1,输出值为“1”,每一个时钟周期后输出信号cnt在前一个时钟周期输出值的基础上自加1。当到加1累加器单元cnt输出值达到N-1后,下一个时钟周期加1累加器单元cnt输出值重新置为“0”,并重新开始累加,其中N是移位寄存器的长度。加1累加器单元的输出信号cnt连接到单端口RAM单元输入端addr。
单端口RAM单元有四个输入信号,分别为写使能信号wea(高电平使能),地址信号addr,输入数据信号datain,时钟信号clk;有一个输出信号,为输出数据信号dataout。写使能信号固定连接逻辑高电平“1”,即单端口RAM一直处于写使能状态。地址信号addr连接到加1累加器单元的输出端cnt。输入数据信号datain连接到移位寄存器功能模块外部输入datain。时钟信号clk连接到移位寄存器功能模块外部输入clk。输出信号dataout连接到移位寄存器功能模块外部输出dataout。单端口RAM单元端口的时序要求如图4所示。在时钟信号clk的驱动下,单端口RAM单元需根据输入的地址信号addr的地址将datain信号上的数据写入到RAM对应的地址中,同时将地址信号addr的地址对应的RAM中的数据输出到dataout信号上。
实例为实现一个长度为1000,位宽为32位的移位寄存器功能模块。
本实例的实现如图3所示,有两个输入,分别为datain信号和clk信号,datain信号是32位的信号,clk信号是1位的信号;有一个输出,为dataout信号,dataout信号是32位的信号;内部包含两个单元,分别为单端口RAM单元和加1累加器单元。单端口RAM的存储容量为32×1024bit。加1累加器单元的输出信号cnt是10位的信号。
输入信号clk为时钟信号,输入信号datain为输入的数据,输出信号dataout为输出数据。输入信号datain输入数据在经过移位寄存器功能模块延时1000个时钟周期后通过输出信号dataout输出。
移位寄存器功能模块内的单端口RAM单元主要完成每个时钟周期内对输入数据的存储,并完成对应地址数据的输出。加1累加器单元主要完成每个时钟周期内计数器的自加1功能。
结合图5具体说明本发明内容。
外部输入信号clk是周期性时钟信号,连接至加1累加器的时钟输入端和单端口RAM的时钟输入端。外部输入信号datain是输入的数据信号,连接至单端口RAM的数据输入端口。
外部输入信号clk连接至加1累加器的时钟输入端clk后,所述的加1累加器单元,在外部时钟信号clk的驱动下,每一个时钟周期完成自加1功能,并且将每个时钟周期的自加结果通过输出端口cnt输出,即每经过一个时钟周期,cnt=cnt+1。加1累加器单元的输入端口和输出端口的时序关系如图3所示。在T(0)时刻,加1累加器单元cnt输出值为“0”,经过一个时钟周期到T(1)时刻后,加1累加器单元cnt输出值自加1,输出值为“1”,每一个时钟周期后输出信号cnt在前一个时钟周期输出值的基础上自加1。当到加1累加器单元cnt输出值达到999后,下一个时钟周期加1累加器单元cnt输出值重新置为“0”,并重新开始累加。加1累加器单元的输出信号cnt连接到单端口RAM单元输入端addr,信号线的位宽为10位。
单端口RAM单元有四个输入信号,分别为写使能信号wea(高电平使能),地址信号addr,输入数据信号datain,时钟信号clk;有一个输出信号,为输出数据信号dataout。写使能信号固定连接逻辑高电平“1”,即单端口RAM一直处于写使能状态。地址信号addr是10位的信号,连接到加1累加器单元的输出端cnt。输入数据信号datain是32位的信号,连接到移位寄存器功能模块外部输入datain。时钟信号clk连接到移位寄存器功能模块外部输入clk。输出信号dataout是32位的信号,连接到移位寄存器功能模块外部输出dataout。单端口RAM单元端口的时序要求如图7所示。在时钟信号clk的驱动下,单端口RAM单元需根据输入的地址信号addr的地址将datain信号上的数据写入到RAM对应的地址中,同时将地址信号addr的地址对应的RAM中的数据输出到dataout信号上。
采用上述的三个步骤便可实现一个长度为1000,位宽为32位的移位寄存器功能模块。
Claims (1)
1.一种使用RAM单元实现的移位寄存器,包括单端口RAM和加1累加器,其特征在于:外部输入的周期性时钟信号连接至加1累加器的时钟输入端和单端口RAM的时钟输入端;所述的加1累加器在周期性时钟信号的驱动下,每一个时钟周期完成自加1功能,并且将每个时钟周期的自加结果作为地址信号输出至单端口RAM的地址信号输入端;当加1累加器的输出值达到N-1后,下一个时钟周期加1累加器的输出值重新置为0,并重新开始累加,其中N是所需移位寄存器的长度;外部输入的数据信号连接至单端口RAM的数据输入端口,单端口RAM的高电平使能输入端固定连接逻辑高电平,输出信号连接到移位寄存器功能模块外部输出;单端口RAM在周期性时钟信号的驱动下,根据输入的地址信号的地址,将数据信号上的数据写入到单端口RAM对应的地址中,同时将地址信号的地址对应的单端口RAM中的数据输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510140365.9A CN104733049A (zh) | 2015-03-27 | 2015-03-27 | 使用ram单元实现的移位寄存器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510140365.9A CN104733049A (zh) | 2015-03-27 | 2015-03-27 | 使用ram单元实现的移位寄存器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104733049A true CN104733049A (zh) | 2015-06-24 |
Family
ID=53456875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510140365.9A Pending CN104733049A (zh) | 2015-03-27 | 2015-03-27 | 使用ram单元实现的移位寄存器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104733049A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888601A (zh) * | 2019-11-14 | 2020-03-17 | 中国电子科技集团公司第五十四研究所 | 一种基于ram ip核的移位寄存器及其实现方法 |
CN113205851A (zh) * | 2021-05-14 | 2021-08-03 | 西安智多晶微电子有限公司 | 一种基于ram的移位寄存器及其存储方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999019798A1 (en) * | 1997-10-09 | 1999-04-22 | I.C. Com Ltd. | Method of emulating a shift register using a ram |
CN104360831A (zh) * | 2014-10-28 | 2015-02-18 | 南京河海南自水电自动化有限公司 | 一种高速低延迟数据采集累加器及其运行方法 |
-
2015
- 2015-03-27 CN CN201510140365.9A patent/CN104733049A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999019798A1 (en) * | 1997-10-09 | 1999-04-22 | I.C. Com Ltd. | Method of emulating a shift register using a ram |
CN104360831A (zh) * | 2014-10-28 | 2015-02-18 | 南京河海南自水电自动化有限公司 | 一种高速低延迟数据采集累加器及其运行方法 |
Non-Patent Citations (3)
Title |
---|
MAKOTO: "Xilinx实现基于BlockRAM的高效移位寄存", 《HTTP://BLOG.SINA.COM.CN/S/BLOG_7215881F0101MY9A.HTML》 * |
朱艳云等: "可级联FIR滤波器的IP设计及FPGA验证", 《电子技术应用》 * |
龚之春: "《脉冲与数字技术导论》", 31 October 1995 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888601A (zh) * | 2019-11-14 | 2020-03-17 | 中国电子科技集团公司第五十四研究所 | 一种基于ram ip核的移位寄存器及其实现方法 |
CN110888601B (zh) * | 2019-11-14 | 2023-05-19 | 中国电子科技集团公司第五十四研究所 | 一种基于ram ip核的移位寄存器实现方法 |
CN113205851A (zh) * | 2021-05-14 | 2021-08-03 | 西安智多晶微电子有限公司 | 一种基于ram的移位寄存器及其存储方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103761937B (zh) | 移位寄存器单元、栅极驱动电路及其驱动方法、显示装置 | |
CN104269132B (zh) | 一种移位寄存单元、显示面板和显示装置 | |
CN103971628A (zh) | 移位寄存器单元、栅极驱动电路和显示装置 | |
CN102708816A (zh) | 移位寄存器、栅极驱动装置和显示装置 | |
CN105718404B (zh) | 一种基于fpga的方波发生器及方法 | |
TW201835741A (zh) | 觸控驅動單元及其驅動方法、觸控驅動電路、觸控裝置 | |
CN105405387A (zh) | 移位寄存器单元及其驱动方法、栅极驱动电路和显示装置 | |
CN105245089A (zh) | 补充复位模块、栅极驱动电路和显示装置 | |
CN209118742U (zh) | 一种低功耗的数据传输电路及显示装置 | |
CN104733049A (zh) | 使用ram单元实现的移位寄存器 | |
CN101686041A (zh) | 一种门控时钟电路及门控时钟信号产生方法 | |
CN104796636A (zh) | 用于超大面阵拼接cmos图像传感器的复用型像元控制电路 | |
CN103247324A (zh) | 一种串行接口快闪存储器及其设计方法 | |
CN103794244B (zh) | 一种基于spi接口的相变存储器读出电路及方法 | |
CN108268416B (zh) | 一种异步接口转同步接口控制电路 | |
CN113517894B (zh) | 串并转换电路 | |
CN205070772U (zh) | 补充复位模块、栅极驱动电路和显示装置 | |
CN103247323B (zh) | 一种串行接口快闪存储器 | |
CN103927996A (zh) | 移位寄存器、栅级驱动电路及显示装置 | |
CN203278775U (zh) | 一种可编程的非交叠时钟产生电路 | |
JP5499131B2 (ja) | デュアルポートメモリおよびその方法 | |
Zhang et al. | Asynchronous FIFO implementation using FPGA | |
CN105097016B (zh) | 一种sram输出锁存电路 | |
CN203813760U (zh) | 移位分频器电路 | |
CN103647528B (zh) | 非交叠时钟产生电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150624 |
|
WD01 | Invention patent application deemed withdrawn after publication |