在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1957|回复: 7

[原创] 寄存器异步复位能否赋予一个非0值 ?

[复制链接]
发表于 2023-2-19 02:36:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
寄存器异步复位能否赋予一个非0值 ?

always@(posedge clk or negedge rst_n)

      begin

          if(~rst_n)
              test_reg <= 1'b1;
          else

              test_reg <= ~test_reg ;   

      end
上面代码test_reg能否被初始化为1‘b1 ?我原来理解,异步复位是用的下图中寄存器的CLRN,只能清0 ,而不能初始化为一个非0值;
但我看到有的仿真里,通过异步复位赋予寄存器了一个非0值,
啊啊.png


发表于 2023-2-19 09:21:40 | 显示全部楼层
库里一定有异步置位的寄存器
发表于 2023-2-19 22:21:15 | 显示全部楼层
必须可以!
发表于 2023-2-20 10:48:19 | 显示全部楼层
可以的,你可以找找寄存器的电路图,数电书上有
发表于 2023-2-20 14:18:50 | 显示全部楼层
取QN信号即可
 楼主| 发表于 2023-3-3 06:23:12 | 显示全部楼层
本帖最后由 american007 于 2023-3-3 06:28 编辑

always@(posedge clk or negedge rst_n)

      begin

          if(~rst_n)
              test_reg <= 1'b1;
          else

              test_reg <= ~test_reg ;   

      end
谢谢大家回复, 假如库里有   “异步置位的寄存器”  , 综合工具是通过识别test_reg <= 1'b1 还是test_reg <= 1'b0来判断  使用哪个模型吗?即:是使用“异步置位的寄存器”,并使用rst_n去 将初值 置位为1;还是使用   “非异步置位的寄存器”, 将rst_n 连到“非异步置位的寄存器”的CLRN上去清0 ?  

  if(~rst_n)
               test_reg <= 的值不同,
是选不同的 寄存器模型来实现吧 ?
发表于 2023-3-14 13:51:52 | 显示全部楼层
我的理解,异步置位或者复位是为了让电路在工作开始前处于一个确定的状态。根据design要求选择复位或者置位。如果没有特殊要求可以复位也可以置位
 楼主| 发表于 2023-4-25 07:08:10 | 显示全部楼层
谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 16:22 , Processed in 0.022551 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表