使用RAM单元实现的移位寄存器制造技术

技术编号:11637595 阅读:36 留言:0更新日期:2015-06-24 12:15
本发明专利技术提供了一种使用RAM单元实现的移位寄存器,包括单端口RAM和加1累加器,外部输入的周期性时钟信号连接至加1累加器的时钟输入端和单端口RAM的时钟输入端;加1累加器输出地址信号至单端口RAM;单端口RAM在周期性时钟信号的驱动下,根据输入的地址信号的地址,将数据信号上的数据写入到单端口RAM对应的地址中,同时将地址信号的地址对应的单端口RAM中的数据输出。本发明专利技术在相同存储容量下成本开销大大低于寄存器。

【技术实现步骤摘要】

本专利技术属于电子元件
,用于现场可编程器件(FPGA)或是数字集成电路中使用RAM单元实现移位寄存器功能。
技术介绍
移位寄存器是数字电路中一个基本的功能单元,传统移位寄存器是由若干个寄存器串行连接实现,如图1所示,图中DFF表示一个D触发器。在现场可编程器件(FPGA)或是数字集成电路中经常需要使用到移位寄存器功能单元完成对数据的延时处理。但是,若直接使用寄存器资源来实现大型的移位寄存器,例如实现一个长度为1024,位宽为32位的移位寄存器,则需要32768个寄存器,会产生大量的资源开销。在现场可编程器件(FPGA)中的主要表现是使用了大量的有限且珍贵的寄存器资源,在数字集成电路中的主要表现是由于使用了大量的寄存器会造成较大的面积开销。
技术实现思路
为了克服现有技术的不足,本专利技术提供一种使用RAM单元实现移位寄存器功能的方案,避免直接使用寄存器实现大型移位寄存器而导致大量资源开销的不足,结构简单,易于实现,成本开销低。本专利技术解决其技术问题所采用的技术方案是:包括单端口 RAM和加I累加器。外部输入的周期性时钟信号连接至加I累加器的时钟输入端和单端口 RAM的时钟输入端;所述的加I累加器在周期性时钟信号的驱动下,每一个时钟周期完成自加I功能,并且将每个时钟周期的自加结果作为地址信号输出至单端口 RAM的地址信号输入端;当加I累加器的输出值达到N-1后,下一个时钟周期加I累加器的输出值重新置为0,并重新开始累加,其中N是所需移位寄存器的长度;外部输入的数据信号连接至单端口 RAM的数据输入端口,单端口 RAM的高电平使能输入端固定连接逻辑高电平,输出信号连接到移位寄存器功能模块外部输出;单端口 RAM在周期性时钟信号的驱动下,根据输入的地址信号的地址,将数据信号上的数据写入到单端口 RAM对应的地址中,同时将地址信号的地址对应的单端口 RAM中的数据输出。本专利技术的有益效果是:在现场可编程器件(FPGA)或是数字集成电路中RAM是一种在相同存储容量下成本开销大大低于寄存器的存储单元。本专利技术采用RAM单元来实现大型移位寄存器功能,成本开销大大低于直接使用寄存器单元实现移位寄存器的成本开销;本专利技术的电路结构简单,各个单元之间的信号流控制较少,易实现;本专利技术的电路使用了成熟的部件,如单端口 RAM等,没有特殊的部件,无开发难度。【附图说明】图1是传统移位寄存器实现电路图;图2是移位寄存器功能模块电路结构;图3是加I累加器单元输入输出端口时序图;图4是单端口 RAM单元输入输出端口时序图;图5是移位寄存器功能模块电路结构图;图6是加I累加器单元输入输出端口时序图;图7是单端口 RAM单元输入输出端口时序图。【具体实施方式】下面结合附图和实施例对本专利技术进一步说明,本专利技术包括但不仅限于下述实施例。本专利技术提供的移位寄存器功能模块,如图2所示,有两个输入,分别为datain信号和elk信号;有一个输出,为dataout信号;内部包含两个单元,分别为单端口 RAM单元和加I累加器单元。输入信号elk为时钟信号,输入信号datain为输入的数据,输出信号dataout为输出数据。输入信号datain输入数据在经过移位寄存器功能模块延时一定时钟周期后通过输出信号dataout输出。移位寄存器功能模块内的单端口 RAM单元主要完成每个时钟周期内对输入数据的存储,并完成对应地址数据的输出。加I累加器单元主要完成每个时钟周期内计数器的自加I功能。结合图2具体说明本
技术实现思路
。外部输入信号elk是周期性时钟信号,连接至加I累加器的时钟输入端和单端口RAM的时钟输入端。外部输入信号datain是输入的数据信号,连接至单端口 RAM的数据输入端口。外部输入信号elk连接至加I累加器的时钟输入端elk后,所述的加I累加器单元,在外部时钟信号elk的驱动下,每一个时钟周期完成自加I功能,并且将每个时钟周期的自加结果通过输出端口 cnt输出,即每经过一个时钟周期,cnt = cnt+lo加I累加器单元的输入端口和输出端口的时序关系如图3所示。在T(O)时刻,加I累加器单元cnt输出值为“0”,经过一个时钟周期到T(I)时刻后,加I累加器单元cnt输出值自加1,输出值为“1”,每一个时钟周期后输出信号cnt在前一个时钟周期输出值的基础上自加I。当到加I累加器单元cnt输出值达到N-1后,下一个时钟周期加I累加器单元cnt输出值重新置为“0”,并重新开始累加,其中N是移位寄存器的长度。加I累加器单元的输出信号cnt连接到单端口 RAM单元输入端addr。单端口 RAM单元有四个输入信号,分别为写使能信号wea(高电平使能),地址信号addr,输入数据信号datain,时钟信号elk ;有一个输出信号,为输出数据信号dataout。写使能信号固定连接逻辑高电平“1”,即单端口 RAM—直处于写使能状态。地址信号addr连接到加I累加器单元的输出端cnt。输入数据信号datain连接到移位寄存器功能模块外部输入datain。时钟信号elk连接到移位寄存器功能模块外部输入elk。输出信号dataout连接到移位寄存器功能模块外部输出dataout。单端口 RAM单元端口的时序要求如图4所示。在时钟信号elk的驱动下,单端口 RAM单元需根据输入的地址信号addr的地址将datain信号上的数据写入到RAM对应的地址中,同时将地址信号addr的地址对应的RAM中的数据输出到dataout信号上。实例为实现一个长度为1000,位宽为32位的移位寄存器功能模块。本实例的实现如图3所示,有两个输入,分别为datain信号和elk信号,datain信号是32位的信号,elk信号是I位的信号;有一个输出,为dataout信号,dataout信号是32位的信号;内部包含两个单元,分别为单端口 RAM单元和加I累加器单元。单端口 RAM的存储容量为32X 1024bit。加I累加器单元的输出信号cnt是10位的信号。输入信号elk为时钟信号,输入信号datain为输入的数据,输出信号dataout为输出数据。输入信号datain输入数据在经过移位寄存器功能模块延时1000个时钟周期后通过输出信号dataout输出。移位寄存器功能模块内的单端口 RAM单元主要完成每个时钟周期内对输入数据的存储,并完成对应地址数据的输出。加I累加器单元主要完成每个时钟周期内计数器的自加I功能。结合图5具体说明本
技术实现思路
。外部输入信号elk是周期性时钟信号,连接至加I累加器的时钟输入端和单端口RAM的时钟输入端。外部输入信号datain是输入的数据信号,连接至单端口 RAM的数据输入端口。外部输入信号elk连接至加I累加器的时钟输入端elk后,所述的加I累加器单元,在外部时钟信号elk的驱动下,每一个时钟周期完成自加I功能,并且将每个时钟周期的自加结果通过输出端口 cnt输出,即每经过一个时钟周期,cnt = cnt+lo加I累加器单元的输入端口和输出端口的时序关系如图3所示。在T(O)时刻,加I累加器单元cnt输出值为“0”,经过一个时钟周期到T(I)时刻后,加I累加器单元cnt输出值自加1,输出值为“1”,每一个时钟周期后输出信号cnt在前一个时钟周期本文档来自技高网
...

【技术保护点】
一种使用RAM单元实现的移位寄存器,包括单端口RAM和加1累加器,其特征在于:外部输入的周期性时钟信号连接至加1累加器的时钟输入端和单端口RAM的时钟输入端;所述的加1累加器在周期性时钟信号的驱动下,每一个时钟周期完成自加1功能,并且将每个时钟周期的自加结果作为地址信号输出至单端口RAM的地址信号输入端;当加1累加器的输出值达到N‑1后,下一个时钟周期加1累加器的输出值重新置为0,并重新开始累加,其中N是所需移位寄存器的长度;外部输入的数据信号连接至单端口RAM的数据输入端口,单端口RAM的高电平使能输入端固定连接逻辑高电平,输出信号连接到移位寄存器功能模块外部输出;单端口RAM在周期性时钟信号的驱动下,根据输入的地址信号的地址,将数据信号上的数据写入到单端口RAM对应的地址中,同时将地址信号的地址对应的单端口RAM中的数据输出。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢元斌魏敬法钟小敏张阿朋王小峰
申请(专利权)人:中国电子科技集团公司第二十研究所
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1