2947|2

9792

帖子

24

TA的资源

版主

楼主
 

verilog能不能在一个时钟同时对一个寄存器取值,然后再修改这个寄存器? [复制链接]

在一个always中,cnt每一个时钟上升沿都会有变化,比如加1

某些时候,在时钟上升沿都要把cnt的某几位赋值给a。

例如下边这样的代码,我在仿真的时候是不能正常工作的,后来试着把<=改为=结果a的值也不正常。

请教这种情况应该如何实现?谢谢

 

always@(posedge clk)
begin
    if(符合某条件1时)
        a <= cnt[3:0];
    else if(符合某条件2时)
        a<= cnt[4:1];

    cnt <= cnt + 1'b1;
end

此帖出自FPGA/CPLD论坛

最新回复

典型的非阻塞赋值   详情 回复 发表于 2020-12-31 00:51
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 

回复
举报

9792

帖子

24

TA的资源

版主

沙发
 

问题解决了,对寄存器赋值的解理有问题,clk上升沿得到的是cnt在当前上升沿改变前的数值

此帖出自FPGA/CPLD论坛
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复

1204

帖子

1

TA的资源

纯净的硅(初级)

板凳
 

典型的非阻塞赋值

此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表