0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Verilog设计寄存器

FPGA学习笔记 来源:FPGA学习笔记 作者:FPGA学习笔记 2023-07-27 09:03 次阅读

现代逻辑设计中,时序逻辑设计是核心,而寄存器又是时序逻辑的基础,下面将介绍几种常见的寄存器的Verilog设计代码供初学者进行学习理解。

1、简单寄存器

image.png
基本寄存器

module dff(clk, din, dout)
input clk;
input din;
output dout;
reg dout;
always @ (posedge clk)begin
dout <= din;
end

endmodule

2、异步复位寄存器

image.png

异步复位寄存器

module dff(clk, rst_n, din, dout);
input clk;
input rst_n;
input din;
output dout;
reg dout;
always @ (posedge clk or negedge rst_n)begin
if(! rst_n)dout <= 1'b0;
else dout <= din;
end

endmodule

3、带异步置位的寄存器

image.png
异步置位寄存器

module dff(clk, set, din, dout);
input clk;
input din;
input set;
output dout;
reg dout;
always @ (posedge clk or posedge set)begin
if(set) dout <= 1'b1;
else dout <= din;
end

endmodule

4、既带异步复位又带异步置位的寄存器

image.png
异步复位和置位寄存器
image.png
异步复位和置位寄存器(复位优先级高)

module dff(clk, rst_n, set, din, dout);
input clk;
input din;
input rst_n;
input set;
output dout;
reg dout;
always @ (posedge clk or negedge rst_n posedge set)begin
if(! rst_n) dout <= 1'b0;
else if(set) dout <= 1'b1;
else dout <= din;
end

endmodule

5、同步使能功能的寄存器

image.png
带同步使能的寄存器

module dff(clk, ena, din, dout);
input clk;
input din;
input ena;
output dout;
reg dout;
always @ (posedge clk) begin
if(ena) dout <= din;
end

endmodule

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21328

    浏览量

    593264
  • 寄存器
    +关注

    关注

    30

    文章

    5036

    浏览量

    117762
  • Verilog
    +关注

    关注

    28

    文章

    1327

    浏览量

    109311
  • 时序逻辑
    +关注

    关注

    0

    文章

    37

    浏览量

    9100
  • 异步复位
    +关注

    关注

    0

    文章

    45

    浏览量

    13251
收藏 人收藏

    评论

    相关推荐

    解析CPU中的寄存器

    8位寄存器在16位寄存器中,而16位寄存器在32位寄存器中。
    发表于 09-19 10:10 2912次阅读

    寄存器是什么?怎么操作寄存器点亮LED灯?

    寄存器,是集成电路中非常重要的一种存储单元,通常由触发器组成。在集成电路设计中,寄存器可分为电路内部使用的寄存器和充当内外部接口的寄存器这两类。
    的头像 发表于 07-21 16:59 2981次阅读
    <b class='flag-5'>寄存器</b>是什么?怎么操作<b class='flag-5'>寄存器</b>点亮LED灯?

    Verilog寄存器的定义

    我是FPGA的新手想请教一下Verilog中什么时候需要给变量定义寄存器。一开始我以为每个输入、输出都要定义没定义的话默认为一,但是今天看到一段代码输入变量[3:0] key_in并没有定义寄存器
    发表于 01-18 19:55

    Verilog寄存器初始化没有复位引脚

    嗨,我已经搜索了论坛,发现了类似的问题,但没有回答我的具体问题。我有一个没有复位引脚的设计,并且想要使用GSR资源来初始化我的寄存器 - 正如Ken Chapman的一篇论文所推荐的那样 - 除了全
    发表于 05-16 10:41

    基本Verilog中的变量有线网类型和寄存器类型

    逻辑,应在敏感信号表中列出所有的输入信号;7、所有的内部寄存器都应该可以被复位;8、用户自定义原件(UDP元件)是不能被综合的。一:基本Verilog中的变量有线网类型和寄存器类型。线网型变量综合成wire,而
    发表于 07-29 06:10

    寄存器与移位寄存器

    寄存器与移位寄存器 寄存器是用来寄存数码的逻辑部件,所以必须具备接收和寄存数码的功能。任何一种触发器都可以构成
    发表于 03-12 15:19 59次下载

    一种基于移位寄存器的CAM的Verilog HDL

    摘要:一种利用Verilog HDL设计CAM的方案,该方案以移位寄存器为核心,所实现的CAN具有可重新配置改变字长、易于扩展、匹配查找速度等特点,并在网络协处理器仿
    发表于 05-26 21:52 946次阅读
    一种基于移位<b class='flag-5'>寄存器</b>的CAM的<b class='flag-5'>Verilog</b> HDL

    一种基于移位寄存器的CAM的Verilog HDL实现

    摘要:一种利用Verilog HDL设计CAM的方案,该方案以移位寄存器为核心,所实现的CAN具有可重新配置改变字长、易于扩展、匹配查找速度等特点,并在网络协处理器仿真中得到
    发表于 06-20 12:49 1329次阅读
    一种基于移位<b class='flag-5'>寄存器</b>的CAM的<b class='flag-5'>Verilog</b> HDL实现

    寄存器,寄存器是什么意思

    寄存器,寄存器是什么意思 寄存器定义  寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用
    发表于 03-08 14:26 2.1w次阅读

    数据寄存器,数据寄存器是什么意思

    数据寄存器,数据寄存器是什么意思 数据寄存器数据寄存器包括累加器AX、基址寄存器BX、计数寄存器
    发表于 03-08 14:38 1.2w次阅读

    移位寄存器,移位寄存器是什么意思

    移位寄存器,移位寄存器是什么意思 移位寄存器_
    发表于 03-08 14:50 1.7w次阅读

    32位寄存器,32位寄存器是什么意思

    32位寄存器,32位寄存器是什么意思  从X8086开始学了一年,第一个ASM的程序就是变32换16进制的程序,不过现在叫我从新开始写ASM程
    发表于 03-08 17:26 1.7w次阅读

    寄存器与移位寄存器

    寄存器与移位寄存器:介绍寄存器原理和移位寄存器的原理及实现。
    发表于 05-20 11:47 0次下载

    51寄存器的所有寄存器名称,(包括寄存器每一位的作用及用法)资源详解

    51寄存器的所有寄存器名称,(包括寄存器每一位的作用及用法)资源详解
    发表于 10-16 13:04 14次下载
    51<b class='flag-5'>寄存器</b>的所有<b class='flag-5'>寄存器</b>名称,(包括<b class='flag-5'>寄存器</b>每一位的作用及用法)资源详解

    移位寄存器怎么用_如何使用移位寄存器_移位寄存器的用途

    移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。本文主要介绍了移位寄存器的用途以及移位寄存器
    发表于 12-22 15:49 1.9w次阅读