实现一个4bit的移位寄存器如下,不带复位
module shift_reg(
input clk,
input rst,
input din,
output dout
);
reg [ 3:0] buff;
assign dout = buff[3];
always@(posedge clk) begin buff[3:0]
endmodule
下图是ISE14.7实现后的结果如下图所示,编译器直接把他综合进了一个SRL16里面,也就是专用的移位寄存器模块,只需要一个LUT就可以实现16bit以内的移位
这是不带复位的资源,可以看到触发器只用了一个,LUT也只用了一个,并且是作为存储器用的,而且是作为存储器里面的移位寄存器使用。
下面是带有复位的移位寄存器代码
module shift_reg(
input clk,
input rst,
input din,
output dout
);
reg [ 3:0] buff;
assign dout = buff[3];
always@(posedge clk)
begin
if(rst==1) buff
end
endmodule
ISE14.7综合结果如下:
从上图可以看出,他是用了4个触发器级联构成,并且每个触发器的复位端都是接了rst端的。
下图是资源消耗,看的出来用了4个触发器和0个LUT:
综上:移位时间越长用没有复位的方式越节约资源。
那么,对于寄存器初始状态没有复位怎么设置他呢?
verilog2001的标准已经解决,ISE14.7和vivado也都支持
比如, reg [ 3:0] buff = 0;就是上电后寄存器buff为全0
而 reg [ 3:0] buff = 8'hff;就是上电后寄存器buff的值为全1
编辑:hfy
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
电子发烧友网站提供《带输出寄存器的8位移位寄存器74LVC594A产品数据表.pdf》资料免费下载
发表于 02-25 09:37
•0次下载
在使用 LED 的设计中,移位寄存器非常有用。例如,如果系统包括七段显示器、单个指示器或形成网格或面板的 LED 阵列,则可以使用标准 8 位移位寄存器来允许低引脚数微控制器驱动多个LED。
发表于 01-30 15:14
•127次阅读
如何 CAN PSOC 6的PSoC Creator顶级设计中实现移位寄存器? 目标设备是 CY8C6347BZI-BLD43
发表于 01-29 08:23
移位寄存器是一种用于在数字电路中实现数据移位操作的基本电路元件。它由多个触发器以及相关控制电路组成,具有存储、接受和移动数据的功能。移位寄存器可以分为两种类型:串行
发表于 01-18 10:52
•1549次阅读
LabVIEW中的移位寄存器(Shift Register)是一种用于存储和移动数据的功能性块。它类似于传统计算机中的寄存器,可以用于在循环中保留变量的状态。但与传统寄存器不同的是,移位寄存器
发表于 01-05 13:49
•772次阅读
非常实用的基于VHDL的移位寄存器实验
发表于 09-25 08:06
移位寄存器是一种时序逻辑电路,能够存储和传输数据。它们由触发器组成,这些触发器的连接方式使得一个触发器的输出可以作为另一个触发器的输入,具体取决于所创建的移位寄存器的类型。
发表于 09-20 10:44
•4168次阅读
移位寄存器是一种重要的数字电路元件,可用于构建各种电路,包括环形计数器。在这篇文章中,我们将介绍如何使用移位寄存器来构建一个环形计数器电路。
发表于 07-09 11:42
•2283次阅读
移位寄存器在一条线上接收传输的4位和8位信号,并一一发送出去。反之亦然,它的作用是将海量的数据分拣到每一位,进行转换和传输数据,移位寄存器允许高速传输大量信号而无需大量布线。在本文中将解释此类移位寄存器。
发表于 07-07 10:50
•1667次阅读
移位寄存器可用于各种电路。例如,如果您稍微修改串行输入 – 并联输出移位寄存器,则可以创建一个环形计数器电路,如下所示:
发表于 06-29 11:24
•804次阅读
移位寄存器是数字电子学中的常见构建模块,用于存储和移动位,例如,从串行数据转换为并行数据,反之亦然。
发表于 06-29 11:21
•4855次阅读
下图是ISE14.7实现后的结果如下图所示,编译器直接把他综合进了一个SRL16里面,也就是专用的移位寄存器模块,只需要一个LUT就可以实现16bit以内的
发表于 06-28 14:58
•894次阅读
电子发烧友网站提供《Arduino 74hc595移位寄存器.zip》资料免费下载
发表于 06-14 10:03
•3次下载
设计中两片FPGA分割边界的数据Sig1、Sig2、Sig3、Sig4……等一大波的信号被并行地加载到传输时钟的上升沿上的移位寄存器中,并用相同的时钟移出。
发表于 05-26 14:08
•121次阅读
设计中两片FPGA分割边界的数据Sig1、Sig2、Sig3、Sig4……等一大波的信号被并行地加载到传输时钟的上升沿上的移位寄存器中,并用相同的时钟移出。
发表于 05-23 15:42
•206次阅读
评论