用VHDL语言设计n位二进制计数器

entitymycontisgeneric(width:integer:=5);port(clr,clk:instd_logic;--时钟updown:instd_log... entity mycont is
generic (width: integer := 5);
port(clr,clk: in std_logic; --时钟
updown : in std_logic; --计数方式
q : out std_logic_vector(width downto 0)); --输出
end entity mycont;
architecture fh1 of mycont is
signal temp: std_logic_vector(width downto 0);
begin
N1:process(clr,clk)
begin
if clr = '1' and updown = '1' then --顺序计数初始化
for i in width to 0 loop --各位置0
temp(i) <= '0';
end loop;
elsif clr = '1' and updown = '0' then --逆序计数初始化
for i in width to 0 loop --各位置1
temp(i) <= '1';
end loop;
elsif clk 'event and clk = '1' then --计数
if updown = '1' then --顺序计数
temp <= temp + '1';
elsif updown = '0' then --逆序计数
temp <= temp - '1';
end if;
end if;
end process N1;
q <= temp;
end architecture fh1;
编译显示说 Only one clock enable signal can be defined for a flipflop 应该怎么改
展开
 我来答
nereus78e904
推荐于2016-03-27 · TA获得超过1.5万个赞
知道大有可为答主
回答量:5463
采纳率:90%
帮助的人:1962万
展开全部
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

entity mycont is
generic (width: integer := 5);
port(clr,clk: in std_logic; --时钟
updown : in std_logic; --计数方式
q : out std_logic_vector(width downto 0)); --输出
end entity mycont;
architecture fh1 of mycont is
signal temp: std_logic_vector(width downto 0);
begin
N1:process(clr,clk)
begin
if clr = '1' then
if updown = '1' then --顺序计数初始化
for i in width to 0 loop --各位置0
temp(i) <= '0';
end loop;
elsif updown = '0' then --逆序计数初始化
for i in width to 0 loop --各位置1
temp(i) <= '1';
end loop;
end if;
elsif clk 'event and clk = '1' then --计数
if updown = '1' then --顺序计数
temp <= temp + '1';
elsif updown = '0' then --逆序计数
temp <= temp - '1';
end if;
end if;
end process N1;
q <= temp;
end architecture fh1;
试试上面这个描述,通过编译了,但未仿真。
追问
真的过了耶...
再问一下啊
为什么if clr = '1' then
if updown = '1' then...
分开来就可以了呢...
追答
实际上不分开也能通过编译,但分开来描述更加符合行为描述的模块化和层次结构。
xxxt352606775
2013-11-01 · TA获得超过2539个赞
知道小有建树答主
回答量:1193
采纳率:0%
帮助的人:969万
展开全部
进程process(clr,clk)
把Clk 去掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式