ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Вот тебе для "затравки" исходник в схематике того SMUCa, с которым я сейчас ковыряюсь в VHDL.
Исходник полностью работоспособный.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Кстати, сейчас обратил внимание, что в схематике прошивка получается компактней. Откомпилировал схематик - занято 81% EPM3032. А в VHDL - 88%.
Я думал что будет наоборот
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Assignments >
1. Setting > Device >Divise & Pin Options>Unused Pins > As inputs,tri-state
2. Setting >Analisss & Sinthesis setting >Optimization Technique =Area
откомпилируй и посмотри... и +"ручная" оптимизация...
Добавлено через 4 минуты
Да! показывает,как по блокам и ячейкам раскидывает,можно потом в ручную поменять.Но,муторно!
Последний раз редактировалось alost; 30.01.2009 в 20:27. Причина: Добавлено сообщение
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Принцип и работу SMUC вообще не знаю,если что не то скажу,извините(это от невежества)...Я по коду.Что за сигнал fdc?Судя по схеме должен быть регистром,а по коду просто сигнал,связь,которая идет в никуда и берется ниоткуда,тюе. привыводе в пины db вроде как из воздуха!а вот если "обвесить" как регистр,то приобретает смысл!В этом случае имеет смысл объединить процессы Н и J,и одновременно отделить часть,вот так:
H: process(csm,a2,a13,a15,rd,fdc)
begin
if (csm='1') and (a15='0') and (rd='0') then
if a13='0' then
db3<='0';db6<='0';db7<='0';
case a2 is
when '0' => db5 <='1';
when '1' => db5 <='0';
end case;
else if a2='0' then
db3<=fdc(0);
db5 <='Z';
db6<=fdc(1);
db7<=fdc(2);
else db3 <='Z';
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end if;
else db3 <='Z';
db5 <='Z';
db6 <='Z';
db7 <='Z';
end if;
end process;
----------------------------------------
J: process(csm,a2,a13,a15,wr)
begin
if (wr'event and wr='1') and (csm='1') and (a15='0') and a13='1' and(a2='0') then
fdc(0)<=db3;
fdc(1)<=db6;
fdc(2)<=db7;
end if;
end process;
В этом случае СИМУЛ.вооще не орет и ни одного предупреждения,хотел визуально показать вложенность условий,чушь какая-то получилась
Последний раз редактировалось alost; 01.02.2009 в 22:53.
Верно, fdc - это трехразрядный регистр, запись по wr чтение по rd.
Изменяю прошивку, завтра проверю и отчитаюсь.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
И убери тогда ещё ненужный сигнал fd.А то что говорил что СИМ. не орет,так это применительно именно к этим двум процессам,просто весь код не стал набивать.А что отрывками пишу,так это сеть что-то глючит,отключается...
Последний раз редактировалось Ewgeny7; 01.02.2009 в 22:30. Причина: Добавлено сообщение
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Последний раз редактировалось alost; 01.02.2009 в 22:44.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)