3704|8

76

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【小白求助】有关十进制加法计数器的问题~ [复制链接]

先上程序~

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT10 IS
     PORT(CLK,RST,EN:IN STD_LOGIC;
                             CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
                          COUT:OUT STD_LOGIC);
END CNT10;
ARCHITECTURE behav OF CNT10 IS
BEGIN
     PROCESS(CLK,RST,EN)
          VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0);
     BEGIN
          IF RST='1' THEN
                  CQI:=(OTHERS=>'0');
          ELSIF CLK'EVENT AND CLK='1' THEN
                  IF EN='1' THEN
                         IF CQI<9 THEN
                                CQI:=CQI+1;
                        ELSE
                                CQI:=(OTHERS=>'0');
                        END IF;
                  END IF;
           END IF;
           IF CQI=9 THEN
                  COUT<='1';
           ELSE
                  COUT<='0';
          END IF;
          CQ<=CQI;
     END PROCESS;
END behav;

我们这学期正在学EDA,这是课本上的一段程序,我仿真过了,都没有问题~

我不懂的地方:
1、              IF CQI<9 THEN
                                CQI:=CQI+1;
                    ELSE
                                CQI:=(OTHERS=>'0');
                    END IF;
执行这个语句时,不是应该当检测到CQI=9时,就把CQI归零了吗?那么为什么下面还有一个
           IF CQI=9 THEN
                  COUT<='1';
           ELSE
                  COUT<='0';
          END IF;

CQI怎么还会等于9呢?

2、为什么比较时,可以写CQI<9,而赋值时就不能直接写CQI:=9呢?

求各路大神指教~~~先谢谢啦~~~
此帖出自FPGA/CPLD论坛

最新回复

PROCESS中语句,可以这样说,通过触发方式,在PROCESS结束时,一起赋值的。  详情 回复 发表于 2012-10-23 21:12
点赞 关注
个人签名上善若水 顺其自然
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
CQI 是变量,所以只能:=

需要理解一个PROCESS 信号非阻塞赋值顺序执行含义!
此帖出自FPGA/CPLD论坛

点评

嗯,可是, CQI 的定义是 VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0); 是一个4位二进制的变量呀,为什么可以让CQI直接跟十进制数9做比较,而不能直接用十进制整数给它赋值呢?~~~ 另外,你说的第二点,我不  详情 回复 发表于 2012-10-21 21:26
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

76

帖子

0

TA的资源

一粒金砂(高级)

板凳
 

回复 沙发 eeleader 的帖子

嗯,可是, CQI 的定义是     VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0); 是一个4位二进制的变量呀,为什么可以让CQI直接跟十进制数9做比较,而不能直接用十进制整数给它赋值呢?~~~

另外,你说的第二点,我不太懂...是说CQI<9和CQI=9的判断是并行的吗?可不可以讲得稍微详细点呐?
此帖出自FPGA/CPLD论坛
个人签名上善若水 顺其自然
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

4
 
第1点:理解并行执行的意思!这个CQl 肯定会有 =9的时候,只有当下一个时钟的上升沿到来时,检测到=9时--》》 CQI:=(OTHERS=>'0');   同时 COUT<='1';
第2点:比较是可以对于不同的数据类型是可以直接使用的,但要是赋值的话不行,只能转换:
CONV_STD_LOGIC_VECTOR(CQI,4); 使用前在前面加上use ieee.std_logic_unsigned.all;
此帖出自FPGA/CPLD论坛

点评

:Sad: 我晕头转向了...我查到的资料里说PROCESS里面的语句都是顺序执行的,为什么还会有并行执行呢...另外,并行是指每个IF语句之间的并行吗?...我刚刚学,真的很糊涂:Cry:  详情 回复 发表于 2012-10-22 00:20
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(高级)

5
 

回复 4楼 abcd1369 的帖子

我晕头转向了...我查到的资料里说PROCESS里面的语句都是顺序执行的,为什么还会有并行执行呢...另外,并行是指每个IF语句之间的并行吗?...我刚刚学,真的很糊涂
此帖出自FPGA/CPLD论坛
个人签名上善若水 顺其自然
 
 
 

回复

15

帖子

0

TA的资源

一粒金砂(中级)

6
 
书上说的PROCESS里的并行你理解错了吧。
像上面的
if  A  then
end if;
if  B then
end if;
这里面两个if相对来说虽然在一个process里。但是他们也是并行的。 if里面的东西你可以理解为顺序的。 不同的process也是并行的。
此帖出自FPGA/CPLD论坛

点评

嗯,我的理解方式出了问题,还是拿软件语言的思路去理解的...今天查阅了书上相关的内容,大致意思是说,PROCESS里面的语句是顺序执行的,但是完成对信号的赋值是在END PROCESS这个语句时才发生的,各个赋值语句之间  详情 回复 发表于 2012-10-23 11:39
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(高级)

7
 

回复 6楼 abcd1369 的帖子

嗯,我的理解方式出了问题,还是拿软件语言的思路去理解的...今天查阅了书上相关的内容,大致意思是说,PROCESS里面的语句是顺序执行的,但是完成对信号的赋值是在END PROCESS这个语句时才发生的,各个赋值语句之间的延时非常短,可以看成是并行~  这样理解是对的吗?
此帖出自FPGA/CPLD论坛
个人签名上善若水 顺其自然
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

8
 
PROCESS中语句,可以这样说,通过触发方式,在PROCESS结束时,一起赋值的。
此帖出自FPGA/CPLD论坛

点评

已经明白了,谢谢你~也谢谢abcd1369的帮助~:carnation:  详情 回复 发表于 2012-10-27 01:03
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(高级)

9
 

回复 8楼 eeleader 的帖子

已经明白了,谢谢你~也谢谢abcd1369的帮助~:carnation:
此帖出自FPGA/CPLD论坛
个人签名上善若水 顺其自然
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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