|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
Sorgelig
Writer
Joined: 22 Aug 2018 14:37 Posts: 11
|
надо просто привыкнуть что все неблокирующие присвоения дают результвт в следующем цикле - и всё само собой получится. Угу, и регистр накопительный и прочая обвязка, плюс всё это потребует несколько клоков чтобы последовательно просуммировать все сдвиги чтобы получить результат умножения (а не суммирования). И в каком же ретро компе стоят арифметические сумматоры? Обычно ставятся счетчики и последовательно считают до нужного значения. Так же надо писать и в HDL, особено если хочется сделать копию чего-то реального.
|
28 Aug 2018 02:40 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
Пока отключенный форум остужал головы, изморщил свой маленький мозг почему ядро tv80 не дышит. Во время мучительных поисков решения проблемы наткнулся на пару прикольных инструментов в квартусе "Simulation Wave form Editor" и "RTL Viewer". Короче нет худа без добра
|
05 Sep 2018 22:55 |
|
|
Sorgelig
Writer
Joined: 22 Aug 2018 14:37 Posts: 11
|
Лучше T80. С моими фиксами проходит все найденные тесты, включая недокументированные. Ну кроме флагов X/Y у SCF/CCF комманд -там слишком замороченный алгоритм поведения - я не стал его делать, ибо даже у разных производителей Z80 поведение разное.
|
09 Sep 2018 12:30 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
Не сочтите за наглость, а можно хотя бы один тест который tv80 точно не пройдет? Качал tv80 из-за верилога, думал как-нибудь поковыряться во внутренностях
|
09 Sep 2018 17:58 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22756 Location: Silicon Valley
|
А чего не light8080 или cpu8080? Они вроде как посовременнее будут и тоже верылог
|
09 Sep 2018 18:56 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
В детстве был клон спекки " Чебурашка" и даже кое что на асме z80 писал т.е. слегка знаком с процем, а так хотелось 6502 и велосипед nes запилить. Решил пока на том, что более знакомо, остановиться.
|
09 Sep 2018 19:14 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22756 Location: Silicon Valley
|
А нужен полноценный z80? Понятно
|
09 Sep 2018 20:02 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
не особо принципиально. Хотелось бы попробовать разные ядрышки х86 например.
|
09 Sep 2018 21:18 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
TV80 так и не дышит картинко module vga128 | | | | Code: module vga128(clk,led);
input clk; output [7:0]led; wire m1_n,mreq_n, iorq_n, rd_n, wr_n, rfsh_n, halt_n, busak_n;
always @ (posedge clk) begin end
assign led={m1_n,mreq_n, iorq_n, rd_n, wr_n, halt_n, busak_n};
tv80s z80(.m1_n(m1_n), .mreq_n(mreq_n), .iorq_n(iorq_n), .rd_n(rd_n), .wr_n(wr_n), .wait_n(1),.int_n(1),.nmi_n(1),.busrq_n(1),.reset_n(1), .halt_n(halt_n),.busak_n(busak_n),.clk(clk),.di(1'b0));
endmodule | | | | |
Вроде все необходимые сигналы подал. Выходные все в "1" кроме m1_n="0" Получилось. Итить надо было просто подать импульс сброса.
|
09 Sep 2018 22:31 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
Вырвиглотк оказался не так страшен TV80 дышит простыня | | | | Code: module vga128(clk,led);
input clk; output [7:0]led; wire m1_n,mreq_n, iorq_n, rd_n, wr_n, rfsh_n, halt_n, busak_n, reset_n; reg [4:0] res=4; reg [7:0] ram [0:1023]; initial $readmemh ("c:/lab/fpga/vga128/hex/my.hex", ram); reg [7:0] o_ram; wire [15:0] addr; wire [7:0] cpu_out; wire cs,wr;
always @ (posedge clk) begin if (res != 0) res<=res-1'b1; end
always @ (posedge clk) begin if (cs==0) begin if (wr==0) ram[addr]<=cpu_out; else o_ram<=ram[addr]; end end
assign wr=wr_n; assign cs=mreq_n;
assign led={reset_n,m1_n,mreq_n, iorq_n, rd_n, wr_n, halt_n, busak_n}; assign reset_n= (res==1'b0);
tv80s z80(.m1_n(m1_n), .mreq_n(mreq_n), .iorq_n(iorq_n), .rd_n(rd_n), .wr_n(wr_n), .wait_n(1),.int_n(1),.nmi_n(1),.busrq_n(1),.reset_n(reset_n), .halt_n(halt_n),.busak_n(busak_n),.clk(clk),.di(o_ram),.A(addr),.dout(cpu_out));
endmodule | | | | |
asm z80 TV80 после выполнения команды halt продолжает генерировать сигналы обращения к памяти. Это нормально?
|
10 Sep 2018 08:52 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
Опять уселся в лужу. Для организации доступа в озу процессором и видео-контроллером нет ничего проще, чем использовать двухпортовое, но как-то не спортивно да и его маловато. Планирую слутить платку с внешней срам, но пока решил попробовать смоделировать на внутренней. Писанину, рожденную в муках, квартус принимать отказывается. Помогите кто чем может
|
15 Oct 2018 01:42 |
|
|
fifan
Devil
Joined: 06 Oct 2006 03:17 Posts: 858 Location: г.Лянтор,Сургутского р-на,ХМАО
|
Я смотрю как-то не заметно эта тема про хреновый верилог от Хаоса перешла в описание достижений пользователя. Не пора ли отпочковать последние посты в отдельную тему?
|
15 Oct 2018 04:28 |
|
|
Icer
Senior
Joined: 21 Aug 2018 07:39 Posts: 163 Location: Кемеровская обл.
|
Похоже Хаоса не переубедить насчет верилога. Можно и подчистить темку. Раздела для новичков нема. Писать в курилку? А дошло... всё молчу.
|
15 Oct 2018 05:45 |
|
|
newold86
Devil
Joined: 30 Nov 2013 11:08 Posts: 709 Location: WWW
|
Ага, и тут же на форуме описывал свои душевные страдания от того, что нужно было как раз 5-10 раз откомпилировать тот же Орион, немного меняя код, чтобы заработало... С опытом стало понятнее, где могут быть засады с асинхронщиной, но сейчас по максимуму стараюсь синхронные делать - им можно еще и нормальный временной анализ сразу делать, чтобы методом научного тыка не разбираться, почему не работает. Плюс SignalTap намного лучше с синхронными схемами работает - от асинхронщины такие глюки были, что так и не понял, как такое возможно... Из самого крупного асинхронного - пока так и не получилось сделать тактово правильный CGA адаптер, временно (надеюсь) отложил в сторону. Попытка в лоб описать схему провалилась - слишком много там замешано на учете скорости работы частей схемы. После первого более-менее серьезного разбирательства со схемой даже как-то заработало, но все-равно расползается при попытках посмотреть SignalTap'ом (и, соответственно, при перекомпиляции).
|
15 Oct 2018 07:27 |
|
|
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Но зато у Вас теперь есть ОПЫТ!!! А это очень важно - пока не наступишь на собственные грабли, никакого опыта не наживешь. Я сейчас вот хочу-таки запихать свой 4-bit Processor в ПЛИС - запихиваю по частям, нарисую блок - проверю. Надеюсь, из проверенных блоков соберется в итоге сразу.
_________________ iLavr
|
15 Oct 2018 08:31 |
|
|
Who is online |
Users browsing this forum: No registered users and 5 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|