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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4161|回复: 11

问一个简单的问题

[复制链接]
发表于 2003-8-29 09:58:07 | 显示全部楼层 |阅读模式

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

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

x

ARCHITECTURE A OF TEST IS
SIGNAL S:STD_LOGIC;
BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
S<=S+1;----问题出在这里
END IF;
END PROCESS;
这样编译总是同不过如果S改为STD_LOGIC_VECTOR(1 DOWNTO 0);
就没问题,请问这是怎么回事,谢谢

END A;
发表于 2003-8-29 10:49:45 | 显示全部楼层

问一个简单的问题

要用s=s+'1';
发表于 2003-8-29 10:55:40 | 显示全部楼层

问一个简单的问题

Library IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY TEST IS
PORT(
CLK:IN STD_LOGIC;
A:IN STD_LOGIC_VECTOR(1 downto 0);
B:OUT STD_LOGIC_VECTOR(1 DOWNTO 0)
);
END TEST;
ARCHITECTURE X OF TEST IS
SIGNAL S:UNSIGNED(1 DOWNTO 0);
BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
S <= UNSIGNED(A);
S <= S+1;
END IF;
END PROCESS;
B <= STD_LOGIC_VECTOR(S);
END X;
希望这个给你有所启发!
 楼主| 发表于 2003-8-29 11:28:52 | 显示全部楼层

问一个简单的问题

感谢两位的回答,呵呵
不过我使用了S<=S+'1';其中S还是STD_LOGIC,问题仍然存在,还是
CANT'S INTERPRET SUBPROGRAM CALL
是不是STD_LOGIC型不能进行算术运算?
发表于 2003-8-29 12:05:21 | 显示全部楼层

问一个简单的问题

这要看不同的编译环境,而不同,各公司采用不同的VHDL子集,所以编著译结果也不同,ALTERA的可定义UNSIGNED,加入头文件,可实现数学运算
发表于 2003-8-30 19:18:14 | 显示全部楼层

问一个简单的问题

如果用MAXPLUS的话,应加头文件:USE IEEE.STD_LOGIC_UNSIGNED.ALL;
发表于 2003-8-31 20:15:58 | 显示全部楼层

问一个简单的问题

superljc  ,你给的程序里的语法怎么没见过啊?
发表于 2003-8-31 23:14:57 | 显示全部楼层

问一个简单的问题

superljc的语法是有问题的。一个entity对应两个architecture必须用配置
发表于 2003-9-1 05:08:31 | 显示全部楼层

问一个简单的问题

没有对应两个啊.
发表于 2003-9-1 09:29:39 | 显示全部楼层

问一个简单的问题

sorry,我回错了,向同志们和superljc道歉,其实我是记得superljc在另一个贴子里用过一个entity对应两个architecture的code。没想到开错了窗口发到这里来了,非常对不起。:(((
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-4-6 02:25 , Processed in 0.028358 second(s), 7 queries , Gzip On, MemCached On.

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