|
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
entity zxb is
generic(counter:integer:=16777216);
port(clk,reset:in std_logic; --ROM
q:out std_logic_vector(7 downto 0));
end zxb;
architecture a of zxb is
type vector_array is array(0 to 119) of std_logic_vector(7 downto 0);
signal count:integer range 0 to counter;
signal data:std_logic_vector(7 downto 0);
signal addr:integer range 0 to 119:=0;
Constant memory:vector_array:=
(conv_std_logic_vector(128,8),conv_std_logic_vector(134,8),conv_std_logic_vector(141,8),
conv_std_logic_vector(148,8),conv_std_logic_vector(154,8),conv_std_logic_vector(161,8),
conv_std_logic_vector(167,8),conv_std_logic_vector(173,8),conv_std_logic_vector(180,8),
conv_std_logic_vector(186,8),conv_std_logic_vector(191,8),conv_std_logic_vector(197,8),
conv_std_logic_vector(203,8),conv_std_logic_vector(208,8),conv_std_logic_vector(213,8),
conv_std_logic_vector(218,8),conv_std_logic_vector(223,8),conv_std_logic_vector(227,8),
conv_std_logic_vector(231,8),conv_std_logic_vector(235,8),conv_std_logic_vector(238,8),
conv_std_logic_vector(242,8),conv_std_logic_vector(244,8),conv_std_logic_vector(247,8),
conv_std_logic_vector(249,8),conv_std_logic_vector(251,8),conv_std_logic_vector(253,8),
conv_std_logic_vector(254,8),conv_std_logic_vector(255,8),conv_std_logic_vector(255,8),
conv_std_logic_vector(255,8),conv_std_logic_vector(255,8),conv_std_logic_vector(255,8),
conv_std_logic_vector(254,8),conv_std_logic_vector(253,8),conv_std_logic_vector(251,8),
conv_std_logic_vector(249,8),conv_std_logic_vector(247,8),conv_std_logic_vector(244,8),
conv_std_logic_vector(242,8),conv_std_logic_vector(238,8),conv_std_logic_vector(235,8),
conv_std_logic_vector(231,8),conv_std_logic_vector(227,8),conv_std_logic_vector(223,8),
conv_std_logic_vector(218,8),conv_std_logic_vector(213,8),conv_std_logic_vector(208,8),
conv_std_logic_vector(203,8),conv_std_logic_vector(197,8),conv_std_logic_vector(192,8),
conv_std_logic_vector(186,8),conv_std_logic_vector(180,8),conv_std_logic_vector(173,8),
conv_std_logic_vector(167,8),conv_std_logic_vector(161,8),conv_std_logic_vector(154,8),
conv_std_logic_vector(148,8),conv_std_logic_vector(141,8),conv_std_logic_vector(134,8),
conv_std_logic_vector(128,8),conv_std_logic_vector(121,8),conv_std_logic_vector(114,8),
conv_std_logic_vector(107,8),conv_std_logic_vector(101,8),conv_std_logic_vector(94,8),
conv_std_logic_vector(88,8),conv_std_logic_vector(82,8),conv_std_logic_vector(75,8),
conv_std_logic_vector(69,8),conv_std_logic_vector(64,8),conv_std_logic_vector(58,8),
conv_std_logic_vector(52,8),conv_std_logic_vector(47,8),conv_std_logic_vector(42,8),
conv_std_logic_vector(37,8),conv_std_logic_vector(32,8),conv_std_logic_vector(28,8),
conv_std_logic_vector(24,8),conv_std_logic_vector(20,8),conv_std_logic_vector(17,8),
conv_std_logic_vector(13,8),conv_std_logic_vector(11,8),conv_std_logic_vector(8,8),
conv_std_logic_vector(6,8),conv_std_logic_vector(4,8),conv_std_logic_vector(2,8),
conv_std_logic_vector(1,8),conv_std_logic_vector(0,8),conv_std_logic_vector(0,8),
conv_std_logic_vector(0,8),conv_std_logic_vector(0,8),conv_std_logic_vector(0,8),
conv_std_logic_vector(1,8),conv_std_logic_vector(2,8),conv_std_logic_vector(4,8),
conv_std_logic_vector(6,8),conv_std_logic_vector(8,8),conv_std_logic_vector(11,8),
conv_std_logic_vector(13,8),conv_std_logic_vector(17,8),conv_std_logic_vector(20,8),
conv_std_logic_vector(24,8),conv_std_logic_vector(28,8),conv_std_logic_vector(32,8),
conv_std_logic_vector(37,8),conv_std_logic_vector(42,8),conv_std_logic_vector(47,8),
conv_std_logic_vector(52,8),conv_std_logic_vector(58,8),conv_std_logic_vector(63,8),
conv_std_logic_vector(69,8),conv_std_logic_vector(75,8),conv_std_logic_vector(82,8),
conv_std_logic_vector(88,8),conv_std_logic_vector(94,8),conv_std_logic_vector(101,8),
conv_std_logic_vector(107,8),conv_std_logic_vector(114,8),conv_std_logic_vector(121,8)
);
begin
data<=memory(addr); 在这边出的问题
process(clk,reset)
begin
if reset='0' then
data<="00000000";
elsif (clk'event and clk='1') then
count<=count+1;
if(count=counter) then
addr<=addr+1;
end if;
end if;
q<=data;
end process;
end a;
Error (10028): Can't resolve multiple constant drivers for net "data[7]" at zxb.vhd(60)
Error (10029): Constant driver at zxb.vhd(61)
Error (10028): Can't resolve multiple constant drivers for net "data[0]" at zxb.vhd(60) |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|