balu_dark,так уже делал без инта -тест ругался на вектор.Цитата:
сделал еще одни вариант -задал вектор ,а int оставил как было без фикса - так работает прошивка
Вид для печати
balu_dark,так уже делал без инта -тест ругался на вектор.Цитата:
сделал еще одни вариант -задал вектор ,а int оставил как было без фикса - так работает прошивка
Blade, все крутится вокгруг INT
С интом все нормально. На тсконфе нельзя измерить его длительность.
Но демки то тоже через зад работают!
ну на самом деле как в реальном спеке сделано - только те кто отреверсил ULA знают.
palsw, int# завязан на inta#. Сигнал int#, формируемый устройством в/в, анализируется в конце выполнения текущей команды. Что такое цикл подтверждения прерывания (inta# = iorq# or m1#), думаю не нужно напоминать? Просто раньше сэкономили на элементах, вместо inta# поставили RC цепочку (схема):
Вложение 49773
Длительность сигнала int# подбирали с помощью R и С. У нас же все сделано аппаратно на элементе 2ИЛИ и триггере устанавливающемся по inta# и анализируется int# поэтому сразу же. От того он в тесте видится типа как короткий.
А что там знать то ULA chip for ZX Spectrum:
У нас ведь времянки завязаны под Pentagon :) Тут немного по другому.Код:// INT generation
reg INT_n = 1;
assign msk_int_n = INT_n;
always @(negedge clk7) begin
if (`cyclestart(vc,248) && `cyclestart(hc,0))
INT_n <= 0;
else if (`cyclestart(vc,248) && `cycleend(hc,31))
INT_n <= 1;
end
Глагне верить в свои силы )
А с тестами как дела обстоят? интов, векторов и прочего?
Нужно запустить на реальной Pentevo+TS_conf и сделать скрин тестов INT.
например
http://i.piccy_.info/i9/4f133cbab84c...G_0578_500.jpghttp://i.piccy_.info/a3/2014-11-01-1...72x354-r/i.gif
и кому верить? 32 такта это правильный результат .