2729|7

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

初学者,请教问题!!!1 [复制链接]

entity cnt16 is
port(clk:in std_logic;
     dout:out std_logic_vector(3 downto 0);
          dclk1:out std_logic);
end cnt16;

architecture Behavioral of cnt16 is
     signal clk1:std_logic :='1';
          signal q:integer range 0 to 24000000:=0;
     signal w:std_logic_vector(3 downto 0):="0000";

begin
     dclk1<=clk1; dout<=not w;
          t1:process(clk)
            begin
                       if clk'event and clk='1' then
                                   if q=23999999 then
                                           q<=0;clk1<=not clk1;
                                        else
                                           q<=q+1;
                                        end if;
                                  end if;
                 end process;
                 
          t2:process(clk1)
            begin
                       if clk1'event and clk1='1' then
                                   if w=9 then
                                           w<="0000";
                                        else
                                           w<=w+1;
                                        end if;
                                  end if;
                 end process;
end Behavioral;


错误提示在if w=9 then
                                           w<="0000";
                                        else
                                           w<=w+1;
can not have such operands in this context. 请问这是什么意思?应该怎么修改?
此帖出自FPGA/CPLD论坛

最新回复

library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity test_fpga is port(clk:in std_logic; dout:out std_logic_vector(3 downto 0); dclk1:out std_logic); end test_fpga; architecture Behavioral of test_fpga is signal clk1:std_logic :='1'; signal q:integer range 0 to 24000000:=0; signal w:std_logic_vector(3 downto 0):="0000"; begin dclk1  详情 回复 发表于 2012-3-3 17:01
点赞 关注
 

回复
举报

5

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没人知道怎么修改吗?
此帖出自FPGA/CPLD论坛
 
 

回复

8

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
可能是你的library没加全
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all
use ieee.std_logic_arith.all;
此帖出自FPGA/CPLD论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

4
 
按照你说的都加上了还是同样地方出错
此帖出自FPGA/CPLD论坛
 
 
 

回复

815

帖子

0

TA的资源

纯净的硅(中级)

5
 
w是标准逻辑类型,不能和1进行加操作。
此帖出自FPGA/CPLD论坛
 
 
 

回复

207

帖子

0

TA的资源

一粒金砂(中级)

6
 
此帖出自FPGA/CPLD论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

7
 
写成w=“1001”试试!
此帖出自FPGA/CPLD论坛
 
 
 

回复

14

帖子

0

TA的资源

一粒金砂(中级)

8
 

编译通过在11.0下!

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity test_fpga is
port(clk:in std_logic;
dout:out std_logic_vector(3 downto 0);
dclk1:out std_logic);
end test_fpga;

architecture Behavioral of test_fpga is
signal clk1:std_logic :='1';
signal q:integer range 0 to 24000000:=0;
signal w:std_logic_vector(3 downto 0):="0000";

begin
dclk1<=clk1; dout<=not w;
t1:process(clk)
begin
if clk'event and clk='1' then
if q=23999999 then
q<=0;clk1<=not clk1;
else
q<=q+1;
end if;
end if;
end process;

t2:process(clk1)
begin
if clk1'event and clk1='1' then
if w=9 then
w<="0000";
else
w<=w+1;
end if;
end if;
end process;
end Behavioral;
此帖出自FPGA/CPLD论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表