VHDL中无法解决信号重复引用错误的问题?
答案:2 悬赏:30 手机版
解决时间 2021-03-01 10:47
- 提问者网友:沉默的哀伤
- 2021-02-28 11:18
Error (10028): Can't resolve multiple constant drivers for net "OOI1[3]" at RLL.vhd(14) VHDL编译过程中出现这个问题,相关程序段如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY K IS PORT(CLK RST:IN STD_LOGIC; OI:STD_LOGIC_VECTOR(3 DOWNTO 0)); ARCHITECTURE BAV OF K IS SIGNAL OOI,OII:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(CLKI,RST) BEGIN IF RST='1' THEN OII<=(OTHERS=>'0'); ELSIF CLKI'EVENT AND CLKI='1' THEN IF OII<9 THEN OII<=OII+1; ELSE OII<=(OTHERS=>'0'); END IF; END IF; OOI<=OII; OI <= OII; END PROCESS; ..... 这是一个典型的十进制计数器程序段,实现的功能是一位计数器,程序中,OOI,OII均为信号类型,这只是我设计的一段程序,需要讲数据引出输出,并且将数据引出另外一个信号,在下一段程序段中再进行处理,但是,编译出错,提示信号多重引用错误,一旦 删掉OOI<=OII;,编译能通过,请问如何解决此问题?
最佳答案
- 五星知识达人网友:第幾種人
- 2021-02-28 11:32
这位兄弟,你的程序不是那里出错了,我帮你编译过了,看一下下面,黑色加粗的地方是是改过的。还有就是你要把你全部的程序发过来,才可以帮你解决。目前按照这个程序,只能检查这些错误。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY K IS PORT(CLK , RST:IN STD_LOGIC; OI:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END K; ARCHITECTURE BAV OF K IS SIGNAL OOI,OII:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS( CLK ,RST) BEGIN IF RST='1' THEN OII<=(OTHERS=>'0'); ELSIF CLK'EVENT AND CLK ='1' THEN IF OII<9 THEN OII<=OII+1; ELSE OII<=(OTHERS=>'0'); END IF; END IF; OOI<=OII; OI <= OII; END PROCESS; END BAV;
全部回答
- 1楼网友:duile
- 2021-02-28 12:12
回答:
1,signal q:integer range 0 to 1;这只是定义一个整型信号,他说分频信号是提示你这个信号在程序中起到分频的作用,单凭这一条语句是看不出它起分频作用的。
2,我想设计者把信号都定义成整型是为了便于书写、一目了然,没有什么特别用意。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯