Язык Verilog

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

Sorgelig
Writer
Posts: 11
Joined: 22 Aug 2018 14:37

Re: Язык Вырвиглотк

Post by Sorgelig »

Icer wrote:Сдвиг экрана на символ через пятую точку победил. Остался маленький баг со сдвигом столбца на пиксель вниз.
надо просто привыкнуть что все неблокирующие присвоения дают результвт в следующем цикле - и всё само собой получится.
Mixa64 wrote:(если не вырываю из контекста, бо про очень тяжелая звучит странно) Для логики это один-единственный сумматор. На его входах множимое без двух младших разрядов и множимое, сдвинутое на два, к сумме снизу проводами приписываются те два младших разряда и ниже 4 нуля земляными (или какими другими с нужным потенциалом) проводами.
Угу, и регистр накопительный и прочая обвязка, плюс всё это потребует несколько клоков чтобы последовательно просуммировать все сдвиги чтобы получить результат умножения (а не суммирования).

И в каком же ретро компе стоят арифметические сумматоры? Обычно ставятся счетчики и последовательно считают до нужного значения.
Так же надо писать и в HDL, особено если хочется сделать копию чего-то реального.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Пока отключенный форум остужал головы, изморщил свой маленький мозг почему ядро tv80 не дышит. Во время мучительных поисков решения проблемы наткнулся на пару прикольных инструментов в квартусе "Simulation Wave form Editor" и "RTL Viewer". Короче нет худа без добра :rotate:
Sorgelig
Writer
Posts: 11
Joined: 22 Aug 2018 14:37

Re: Язык Вырвиглотк

Post by Sorgelig »

Лучше T80. С моими фиксами проходит все найденные тесты, включая недокументированные. Ну кроме флагов X/Y у SCF/CCF комманд -там слишком замороченный алгоритм поведения - я не стал его делать, ибо даже у разных производителей Z80 поведение разное.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Sorgelig wrote:Лучше T80. С моими фиксами проходит все найденные тесты, включая недокументированные. Ну кроме флагов X/Y у SCF/CCF комманд -там слишком замороченный алгоритм поведения - я не стал его делать, ибо даже у разных производителей Z80 поведение разное.
Не сочтите за наглость, а можно хотя бы один тест который tv80 точно не пройдет? Качал tv80 из-за верилога, думал как-нибудь поковыряться во внутренностях :roll:
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Язык Вырвиглотк

Post by Shaos »

Icer wrote:
Sorgelig wrote:Лучше T80. С моими фиксами проходит все найденные тесты, включая недокументированные. Ну кроме флагов X/Y у SCF/CCF комманд -там слишком замороченный алгоритм поведения - я не стал его делать, ибо даже у разных производителей Z80 поведение разное.
Не сочтите за наглость, а можно хотя бы один тест который tv80 точно не пройдет? Качал tv80 из-за верилога, думал как-нибудь поковыряться во внутренностях :roll:
А чего не light8080 или cpu8080? Они вроде как посовременнее будут и тоже верылог
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Shaos wrote: А чего не light8080 или cpu8080? Они вроде как посовременнее будут и тоже верылог
В детстве был клон спекки " :twisted: Чебурашка" и даже кое что на асме z80 писал т.е. слегка знаком с процем, а так хотелось 6502 и велосипед nes запилить. Решил пока на том, что более знакомо, остановиться.
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Язык Вырвиглотк

Post by Shaos »

А нужен полноценный z80? Понятно
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Shaos wrote:А нужен полноценный z80? Понятно
не особо принципиально. Хотелось бы попробовать разные ядрышки х86 например.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

TV80 так и не дышит

 картинко
nopulse.PNG

 module vga128

Code: Select all

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"

Получилось. Итить надо было просто подать импульс сброса.
You do not have the required permissions to view the files attached to this post.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Вырвиглотк оказался не так страшен :mrgreen:

 TV80 дышит
tv80alive.png

 простыня

Code: Select all

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

Code: Select all

	org 0
	di
	ld a,1
	out (60),a
	halt

TV80 после выполнения команды halt продолжает генерировать сигналы обращения к памяти. Это нормально?
You do not have the required permissions to view the files attached to this post.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Опять уселся в лужу.
Для организации доступа в озу процессором и видео-контроллером нет ничего проще, чем использовать двухпортовое, но как-то не спортивно да и его маловато. Планирую слутить платку с внешней срам, но пока решил попробовать смоделировать на внутренней.
Писанину, рожденную в муках, квартус принимать отказывается. Помогите кто чем может :mrgreen:

Code: Select all

reg sel;
wire [13:0] ram_a, cpu_a, vpu_a;
assign ram_a=(sel) ? cpu_a : vpu_a;
User avatar
fifan
Devil
Posts: 912
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Язык Вырвиглотк

Post by fifan »

Я смотрю как-то не заметно эта тема про хреновый верилог от Хаоса перешла в описание достижений пользователя. Не пора ли отпочковать последние посты в отдельную тему?
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Язык Вырвиглотк

Post by Icer »

Похоже Хаоса не переубедить насчет верилога. Можно и подчистить темку.
Раздела для новичков нема. Писать в курилку?
А дошло... всё молчу. :obye:
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: Язык Verilog

Post by newold86 »

Lavr wrote:Но вон тот же newold86 на нашем же форуме сделал приличное количество асинхронных схемы в FPGA
и всё вполне работало!
Ага, и тут же на форуме описывал свои душевные страдания от того, что нужно было как раз 5-10 раз откомпилировать тот же Орион, немного меняя код, чтобы заработало... С опытом стало понятнее, где могут быть засады с асинхронщиной, но сейчас по максимуму стараюсь синхронные делать - им можно еще и нормальный временной анализ сразу делать, чтобы методом научного тыка не разбираться, почему не работает. Плюс SignalTap намного лучше с синхронными схемами работает - от асинхронщины такие глюки были, что так и не понял, как такое возможно...

Из самого крупного асинхронного - пока так и не получилось сделать тактово правильный CGA адаптер, временно (надеюсь) отложил в сторону. Попытка в лоб описать схему провалилась - слишком много там замешано на учете скорости работы частей схемы. После первого более-менее серьезного разбирательства со схемой даже как-то заработало, но все-равно расползается при попытках посмотреть SignalTap'ом (и, соответственно, при перекомпиляции).
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык Verilog

Post by Lavr »

newold86 wrote:
Lavr wrote:Но вон тот же newold86 на нашем же форуме сделал приличное количество асинхронных схемы в FPGA
и всё вполне работало!
Ага, и тут же на форуме описывал свои душевные страдания от того, что нужно было как раз 5-10 раз откомпилировать тот же Орион, немного меняя код, чтобы заработало... С опытом стало понятнее, где могут быть засады с асинхронщиной, ...
Но зато у Вас теперь есть ОПЫТ!!! А это очень важно - пока не наступишь на собственные грабли,
никакого опыта не наживешь.

Я сейчас вот хочу-таки запихать свой 4-bit Processor в ПЛИС - запихиваю по частям, нарисую блок -
проверю. Надеюсь, из проверенных блоков соберется в итоге сразу.
iLavr