Process(reset,addr,wr)
begin
if (reset='1') then
resetout<='1';
ad_cs<='1';
ad_address<='0';
runled<='0';
errled<='1';
comled<='0';
mdmvcc<='0';
elsif (wr'event and wr='0' and rd='1') then
if (addr="10010000") then ----9000
resetout<=data(0);
elsif (addr="10010100") then --9400
ad_cs<=data(0);
elsif (addr="10011000") then --9800
ad_address<=data(0);
elsif (addr="10100000") then --a000
runled<=data(0);
elsif (addr="10100100") then --a400
errled<=data(0);
elsif (addr="10101000") then --a800h
comled<=data(0);
elsif (addr="11000000") then --c000h
rfvcc<=data(0);
elsif (addr="11000100") then --c400h
mdmvcc<=data(0);
elsif (addr="11001000") then --c800h
switch<=data(0);
elsif (addr="11001100") then --cc00h
enabl<=data(0);
else
resetout<='0';
ad_cs<='0';
ad_address<='1';
rfvcc<='1';
mdmvcc<='1';
end if;
else
resetout<='0';
ad_cs<='1';
ad_address<='0';
rfvcc<='1';
mdmvcc<='1';
end if; end if;
end Process;
问题出在红色的这部分,去掉他就能综合
[此贴子已经被作者于2005-6-15 0:10:12编辑过] |