Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Вектор-06Ц: Altera DE1 (http://zx-pk.ru/showthread.php?t=8635)

ivagor 12th August 2014 18:52

Сравнение результатов компиляции v06cc (правда для de2-115, но это не принципиально) с процами T80 и Vslava

1. T80
Code:

Flow Status        Successful - Tue Aug 12 19:45:46 2014
Quartus II 32-bit Version        13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
Revision Name        vector06cc
Top-level Entity Name        vector06cc
Family        Cyclone IV E
Device        EP4CE115F29C7
Timing Models        Final
Total logic elements        6,997 / 114,480 ( 6 % )
Total combinational functions        6,633 / 114,480 ( 6 % )
Dedicated logic registers        2,249 / 114,480 ( 2 % )
Total registers        2249
Total pins        518 / 529 ( 98 % )
Total virtual pins        0
Total memory bits        2,821,296 / 3,981,312 ( 71 % )
Embedded Multiplier 9-bit elements        0 / 532 ( 0 % )
Total PLLs        1 / 4 ( 25 % )

2. Vslav
Code:

Flow Status        Successful - Tue Aug 12 19:36:46 2014
Quartus II 32-bit Version        13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
Revision Name        vector06cc
Top-level Entity Name        vector06cc
Family        Cyclone IV E
Device        EP4CE115F29C7
Timing Models        Final
Total logic elements        6,453 / 114,480 ( 6 % )
Total combinational functions        6,118 / 114,480 ( 5 % )
Dedicated logic registers        2,262 / 114,480 ( 2 % )
Total registers        2262
Total pins        518 / 529 ( 98 % )
Total virtual pins        0
Total memory bits        2,821,296 / 3,981,312 ( 71 % )
Embedded Multiplier 9-bit elements        0 / 532 ( 0 % )
Total PLLs        1 / 4 ( 25 % )

Проц Vslava компактнее (хотя регистров чуть больше), но я лично пока не победил траблы с ресетом в нетурбо для него (а так все работает, SKY NET прошел до конца)

svofski 12th August 2014 18:55

Класс. Я не знаю, хорошая ли идея заменять им T80, все-таки T80 относительно читабельный, но как опцию обязательно надо сделать.

Vslav 12th August 2014 19:02

Quote:

Originally Posted by ivagor (Post 732463)
но я лично пока не победил траблы с ресетом в нетурбо для него (а так все работает, SKY NET прошел до конца)

А RESET именно такты F1/F2 считает? Не CLK? У меня сложилось впечатление что ему минимум 2 полных цикла F1/F2 надо с высоким RESET.

ivagor 12th August 2014 20:04

Для пробы сделал огромную "выдержку" ресета и дело оказалось не в его длительности. Похоже проблема или в моменте начала или в моменте конца ресета, т.е. он должен совпадать или не совпадать по фазе с чем-то.

Vslav 12th August 2014 20:18

Quote:

Originally Posted by ivagor (Post 732469)
Для пробы сделал огромную "выдержку" ресета и дело оказалось не в его длительности. Похоже проблема или в моменте начала или в моменте конца ресета, т.е. он должен совпадать или не совпадать по фазе с чем-то.

"Мой" процессор внутри RESET синхронизирует, там же предполагается внешний физический вход. А при активном RESET генерация F1 и F2 идет (есть же свежедобавленный модуль генерации F1/F2) ?

ivagor 12th August 2014 20:56

Quote:

Originally Posted by Vslav (Post 732474)
"Мой" процессор внутри RESET синхронизирует, там же предполагается внешний физический вход. А при активном RESET генерация F1 и F2 идет (есть же свежедобавленный модуль генерации F1/F2) ?

Возможно проблема в своеобразности F1 и F2, которые получились у меня в "нетурбе" (в турбе они как раз и проблем с ресетом нет). Пробовал менять F1 и F2 - вроде даже почти получилось, но отвалился флоп. В общем наличие двух ce создает неудобства, по крайней мере для слабоподготовленных людей типо меня.

---------- Post added at 21:56 ---------- Previous post was at 21:35 ----------

Для нетурбы почти нормален оказался вот такой вариант:
К имевшейся в clockster.v строке
qce3 <= ctr[2] & ctr[1] & !ctr[0];
добавил
qce3_2 <= ctr[2] & !ctr[1] & ctr[0];
и использую их в качестве f1 и f2
Теперь в "нетурбе" ресетит нормально, но осталась одна проблема (она была, просто я про нее не писал отдельно) - после заливки прошивки начинает работать только после ресет
Ну и турбу надо еще обратно прикрутить

svofski 12th August 2014 21:06

Quote:

после заливки прошивки начинает работать только после ресет
Ну это совсем как на труъ ;)

Vslav 12th August 2014 21:10

Я тут посмотрел исходники T80 и даже не знаю как было бы правильно обернуть - пока недостаточно бегло читаю VHDL и не могу быстро разобраться в архитектуре T80 и на что там вход CEN влияет.

ivagor 12th August 2014 21:24

Вернул турбу и получилось так:
В vector06cc.v
переключение скоростей
Code:

        3'bxx1:
        begin
                cpu_ce <= ~ce12;
                cpu_ce2 <= ce12;
  end
        3'b000:
  begin
                cpu_ce <= ce3;
                cpu_ce2 <= ce3_2;
        end

И две скорости (пошаговая и медленная) остались - их еще надо переделать

Проц
Code:

vm80a_core(
        .pin_clk(clk24),                        // global module clock (no in original 8080)
        .pin_f1(cpu_ce),                        // clock phase 1 (used as clock enable)
        .pin_f2(cpu_ce2),                        // clock phase 2 (used as clock enable)
        .pin_reset(~RESET_n),                // module reset
        .pin_a(A),                        // address bus outputs
        .pin_hold(HOLD),                //
        .pin_hlda(HLDA),                //
        .pin_ready(READY),                //
        .pin_wait(VAIT),                //
        .pin_int(INT),                        //
        .pin_inte(INTE),                //
        .pin_sync(SYNC),                //
        .pin_dbin(DBIN),                //
        .pin_wr_n(WR_n),
        .pin_din(DI),
        .pin_dout(DO));


Vslav 12th August 2014 21:33

Quote:

Originally Posted by ivagor (Post 732490)
2. vm80a чуть-чуть покорежил, чтобы наружу были видны раздельные шины данных и в начале там стало так

Хм, там есть уже готовый модуль vm80a_core для использования внутри FPGA, именно с разнесенными шинами. А модуль vm80a - это в моем проекте обертка (по факту внешняя - top) для размещения всего процессора в отдельном чипе.


All times are GMT +4. The time now is 23:14.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.