发 帖  
原厂入驻New
[问答]

哪位大神帮忙看看程序为什么出错?VHDL写的状态机

1728
分享
本帖最后由 lovely129 于 2014-7-3 17:28 编辑

本人新手,这是书上的例子,怎么会编译不成功?
library ieee;
use std_logic_1164.all;
entity chop8_1 is
port(d,rst,clk: in bit;
q: out bit);
end chop8_1;
architecture chop of chop8_1 is
type state is (zero,one,two,three);
signal pr_state, nx_state: state;
begin
--lower section--
process(clk,rst)
begin
if (rst='1') then
pr_state<=zero;
elsif (clk'event and clk='1') then
pr_state<=nx_state;
end if;
end process;
--upper section--
process(pr_state,d)
begin
case pr_state is
when zero=>
q<='0';
if (d='1') then nx_state<=one;
else nx_state<=zero;
end if;
when one=>
q<='0';
if (d='1') then nx_state<=two;
else nx_state<=zero;
end if;
when two=>
q<='0';
if (d='1') then nx_state<=three;
else nx_state<=zero;
end if;
when three=>
q<='1';
if (d='0') then nx_state<=zero;
else nx_state<=three;
end if;
end case;
end process;
end chop;

Error (10482): VHDL error at chop8_1.vhd(2): object "std_logic_1164" is used but not declared
Error (10800): VHDL error at chop8_1.vhd(2): selected name in use clause is not an expanded name

0
2014-7-3 17:26:17   评论 分享淘帖 邀请回答
2个回答
在网上搜的,改成这样试一试!
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
2014-7-3 20:46:47 评论

举报

cutfor 发表于 2014-7-3 20:46
在网上搜的,改成这样试一试!
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;

额,我怎么这么粗心十分感谢!
2014-7-4 08:52:45 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

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

快速回复 返回顶部 返回列表