VHDL 报错!!case和if语句问题
libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_log...
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity flash is
port(sl1,sh1,ml1,mh1,hl1,hh1 :in std_logic_vectoR(3 downto 0);
f :in std_logic_vectoR(2 downto 0);
clk :in std_logic;
sl,sh,ml,mh,hl,hh :buffer std_logic_vectoR(3 downto 0));
end flash;
architecture flashs of flash is
begin
process(clk,f)
begin
case clk is --if(clk='0') then
when '1'=> sl<=sl1;sh<=sh1;ml<=ml1;mh<=mh1;hl<=hl1;hh<=hh1;
when '0'=>
case f is
when "100"=>
hl<= "1111"; hh<="1111";sl<=sl1;sh<=sh1;ml<=ml1;mh<=mh1;
when "010"=>
ml<="1111";mh<="1111";sl<=sl1;sh<=sh1;hl<=hl1;hh<=hh1;
when "001"=>
sl<="1111";sl<="1111";ml<=ml1;mh<=mh1;hl<=hl1;hh<=hh1;
when "000"=> sl<=sl1;sh<=sh1;ml<=ml1;mh<=mh1;hl<=hl1;hh<=hh1;
when others=> null;
end case;
when others => null;
end case;
--end if;
end process;
end flashs;
报错 Duplicate pin name "ml1"
Duplicate pin name "mh1"
Duplicate pin name "hl1"
Duplicate pin name "hh1"
......
应该是重复使用输出的原因。。。但个人感觉没问题啊!!!!!求高人指点啊。。。。 如果可以的话 顺便说说case语句和if语句在执行时的特点
不对啊。。还是不行。。。。。 展开
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.std_logic_arith.all;
entity flash is
port(sl1,sh1,ml1,mh1,hl1,hh1 :in std_logic_vectoR(3 downto 0);
f :in std_logic_vectoR(2 downto 0);
clk :in std_logic;
sl,sh,ml,mh,hl,hh :buffer std_logic_vectoR(3 downto 0));
end flash;
architecture flashs of flash is
begin
process(clk,f)
begin
case clk is --if(clk='0') then
when '1'=> sl<=sl1;sh<=sh1;ml<=ml1;mh<=mh1;hl<=hl1;hh<=hh1;
when '0'=>
case f is
when "100"=>
hl<= "1111"; hh<="1111";sl<=sl1;sh<=sh1;ml<=ml1;mh<=mh1;
when "010"=>
ml<="1111";mh<="1111";sl<=sl1;sh<=sh1;hl<=hl1;hh<=hh1;
when "001"=>
sl<="1111";sl<="1111";ml<=ml1;mh<=mh1;hl<=hl1;hh<=hh1;
when "000"=> sl<=sl1;sh<=sh1;ml<=ml1;mh<=mh1;hl<=hl1;hh<=hh1;
when others=> null;
end case;
when others => null;
end case;
--end if;
end process;
end flashs;
报错 Duplicate pin name "ml1"
Duplicate pin name "mh1"
Duplicate pin name "hl1"
Duplicate pin name "hh1"
......
应该是重复使用输出的原因。。。但个人感觉没问题啊!!!!!求高人指点啊。。。。 如果可以的话 顺便说说case语句和if语句在执行时的特点
不对啊。。还是不行。。。。。 展开
展开全部
我用quartus ii9.0帮你综合了一下,没报错啊,只是warning多了点,证明你存在功能性错误而不是语法错误。
建议你的clk用边沿触发,即rising_edge(clk),然后再判断0或1。
还有最后把sl1,sh1,ml1,mh1,hl1,hh1加进process的敏感电平列表内。
虽然warning可以去不管它,但太多的warning会使系统不稳定或跑飞。
我补充一下:你是不是忘了建个project?
建议你的clk用边沿触发,即rising_edge(clk),然后再判断0或1。
还有最后把sl1,sh1,ml1,mh1,hl1,hh1加进process的敏感电平列表内。
虽然warning可以去不管它,但太多的warning会使系统不稳定或跑飞。
我补充一下:你是不是忘了建个project?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case 英[keis] 美[kes]
--------------------------------------------------------------------------------
n. 1.事例, 实例 2.实情, 情况 3.病例, 病症, 患者 4.被警方调查的案件, 诉讼案 5.容器, 包装 6.手提箱 7.特殊情况 8.待裁决的案件 9.(在法庭、讨论等中支持一方的)论据,事实,申辩,理由 10.箱;盒;套;罩;容器及内装物;(容器的)容量 11.(需特别对待或注意的)人 12.令人信服的论据(或证据);(言行的)正当理由 13.【法律】诉讼,讼案;(尤指)判例 14.【语言学】(名词的)格(指句子深层结构中涉及语义关系的一种范畴,有助于确定句子的含义) 15.盖子,覆盖部分
vt. 1. 把…装入箱(或盒等)内 2.加盖于;包围,围住 3.[俚语](尤指盗窃前)探察,侦查,窥测
CASE abbr.Centre for Advanced Studies in Environment 〈英〉(建筑协会)环境高级研究中心
Case n.计算机辅助软件工程
--------------------------------------------------------------------------------
n. 1.事例, 实例 2.实情, 情况 3.病例, 病症, 患者 4.被警方调查的案件, 诉讼案 5.容器, 包装 6.手提箱 7.特殊情况 8.待裁决的案件 9.(在法庭、讨论等中支持一方的)论据,事实,申辩,理由 10.箱;盒;套;罩;容器及内装物;(容器的)容量 11.(需特别对待或注意的)人 12.令人信服的论据(或证据);(言行的)正当理由 13.【法律】诉讼,讼案;(尤指)判例 14.【语言学】(名词的)格(指句子深层结构中涉及语义关系的一种范畴,有助于确定句子的含义) 15.盖子,覆盖部分
vt. 1. 把…装入箱(或盒等)内 2.加盖于;包围,围住 3.[俚语](尤指盗窃前)探察,侦查,窥测
CASE abbr.Centre for Advanced Studies in Environment 〈英〉(建筑协会)环境高级研究中心
Case n.计算机辅助软件工程
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么编译没有错误呢,只是有警告。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询