nedoPC.org

Community for electronics hobbyists, established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 06 Oct 2024 21:34



Reply to topic  [ 9 posts ] 
Ктонить в FPGA/VHDL разбирается ? 
Author Message
Senior

Joined: 01 Jan 2022 04:34
Posts: 198
Location: USSR, Tashkent
Reply with quote
Дуремарствую помаленьку. Делаю видеокарточку VGA 1024*768 текстовую.

вылезла бяка. почему то происходит сдвиг пикселей.
при SCALE_x1 (пиксел в пиксел) сдвига нет
при удвоении пикселлов ( SCALE_x2 ) сдвиг на 2 пикселя ( в знакоместе )
при учетверении - сдвиг на 4 пикселя



Code:
COLss <= COLs(4 DOWNTO 0) WHEN ( SCALE_x1 = '1' ) ELSE
         COLs(5 DOWNTO 1) WHEN ( SCALE_x2 = '1' ) ELSE
         COLs(6 DOWNTO 2);

PROCESS(CLK)
BEGIN
    IF (RISING_EDGE(CLK)) THEN

      CASE COLs(2 DOWNTO 0) IS
-------------------------------------------------------------------------------
      WHEN "000" =>
        VA <= MEM_SCR;

-------------------------------------------------------------------------------
      WHEN "001" =>

-------------------------------------------------------------------------------
      WHEN "010" =>
        FONT  <= VDi(7 DOWNTO 0);
        COLOR <= VDi(15 DOWNTO 8);

-------------------------------------------------------------------------------
      WHEN "011" =>
        VA <= MEM_FONT;

-------------------------------------------------------------------------------
      WHEN "100" =>
        VA <= MEM_SEL;

-------------------------------------------------------------------------------
      WHEN "101" =>
        FONT_ROW2 <= VDi;
        eCOLOR <= VDi(15 DOWNTO 8);

-------------------------------------------------------------------------------
      WHEN "110" =>

        COLOR0 <= VDi(15 DOWNTO 12);
        COLOR1 <= VDi(11 DOWNTO  8);
        COLOR2 <= VDi( 7 DOWNTO  4);
        COLOR3 <= VDi( 3 DOWNTO  0);

        FONT_ROW1 <= VDi;

-------------------------------------------------------------------------------
      WHEN "111" =>
        IF ( FONT_ColL = '1' ) THEN
          bCOLOR <= eCOLOR;
        ELSE
          bCOLOR <= COLOR;
        END IF;

        IF ( FONT_none = '1' ) THEN
          FONT_ROW0 <= COLOR & FONT;
        ELSE
          FONT_ROW0 <= FONT_ROW2;
        END IF;

        COLs0 <= COLs(3 DOWNTO 0);

      END CASE;


      CASE COLss(2 DOWNTO 0) IS
-------------------------------------------------------------------------------
      WHEN "000" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(15);
        ELSE
          PIXEL1 <= FONT_ROW0(7);
        END IF;
        PIXEL2   <= FONT_ROW0(11 DOWNTO 10);
        PIXEL4   <= FONT_ROW0(7 DOWNTO 4);
-------------------------------------------------------------------------------
      WHEN "001" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(14);
        ELSE
          PIXEL1 <= FONT_ROW0(6);
        END IF;
        PIXEL2   <= FONT_ROW0(9 DOWNTO 8);
        PIXEL4   <= FONT_ROW0(3 DOWNTO 0);
-------------------------------------------------------------------------------
      WHEN "010" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(13);
        ELSE
          PIXEL1 <= FONT_ROW0(5);
        END IF;
        PIXEL2   <= FONT_ROW0(7 DOWNTO 6);
        PIXEL4   <= FONT_ROW1(15 DOWNTO 12);
-------------------------------------------------------------------------------
      WHEN "011" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(12);
        ELSE
          PIXEL1 <= FONT_ROW0(4);
        END IF;
        PIXEL2   <= FONT_ROW0(5 DOWNTO 4);
        PIXEL4   <= FONT_ROW1(11 DOWNTO 8);
-------------------------------------------------------------------------------
      WHEN "100" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(11);
        ELSE
          PIXEL1 <= FONT_ROW0(3);
        END IF;
        PIXEL2   <= FONT_ROW0(3 DOWNTO 2);
        PIXEL4   <= FONT_ROW1(7 DOWNTO 4);
-------------------------------------------------------------------------------
      WHEN "101" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(10);
        ELSE
          PIXEL1 <= FONT_ROW0(2);
        END IF;
        PIXEL2   <= FONT_ROW0(1 DOWNTO 0);
        PIXEL4   <= FONT_ROW1(3 DOWNTO 0);
-------------------------------------------------------------------------------
      WHEN "110" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(9);
        ELSE
          PIXEL1 <= FONT_ROW0(1);
        END IF;
        PIXEL2   <= FONT_ROW0(15 DOWNTO 14);
        PIXEL4   <= FONT_ROW0(15 DOWNTO 12);
-------------------------------------------------------------------------------
      WHEN "111" =>

        IF ( FONT_8Pix = '0' AND COLs0(3) = '0' ) THEN
          PIXEL1 <= FONT_ROW0(8);
        ELSE
          PIXEL1 <= FONT_ROW0(0);
        END IF;
        PIXEL2   <= FONT_ROW0(13 DOWNTO 12);
        PIXEL4   <= FONT_ROW0(11 DOWNTO 8);

      END CASE;

    END IF;
END PROCESS;


29 May 2024 11:17
Profile
Devil

Joined: 06 Oct 2006 03:17
Posts: 877
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
В этой абракадабре может разобраться только сам автор. Никакого описания переменных я не вижу.


06 Jun 2024 08:31
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 198
Location: USSR, Tashkent
Reply with quote
fifan wrote:
В этой абракадабре может разобраться только сам автор. Никакого описания переменных я не вижу.


я ужо сделал. или не савсем сделал. но вроде работает.

если я выложу файлы, то лучше не станет. там столько мусора от переделок.....

вот начал очередную переделку. хотелось скрола добавить, плавного


Attachments:
File comment: tang nano 20k
z80 + sdram + text video

hdmi.rar [2.15 MiB]
Downloaded 26 times
06 Jun 2024 09:54
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 198
Location: USSR, Tashkent
Reply with quote
Решил выложить на гитхаб.
https://github.com/imsushka/TangNano20K-VIDEO.git

оказыцца в 2011 зарегался там.


05 Jul 2024 22:09
Profile
Novelist

Joined: 15 Jun 2018 16:58
Posts: 28
Reply with quote
imsushka wrote:
Решил выложить на гитхаб.
https://github.com/imsushka/TangNano20K-VIDEO.git

оказыцца в 2011 зарегался там.


Авот для совсем чайников, можно ли ПОЛНЫЙ проект, который собирается, и не ругается на отсутствующие файлы counta, fontRom, shift, etc...? Ну чтобы на экране увидеть хоть что-то, что задумал автор??
И еще.. В этом проекте конечно задействован RAM Controller.
Так вот, не могли бы Вы помочь прицеплить его же в известный проект Radio-86RK ? У меня честно не хватает скиллов на это, уж очень кЕтайцы замороченно сделали работу с SDRAM :((


05 Jul 2024 22:52
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 198
Location: USSR, Tashkent
Reply with quote
azesmbog wrote:
imsushka wrote:
Решил выложить на гитхаб.
https://github.com/imsushka/TangNano20K-VIDEO.git

оказыцца в 2011 зарегался там.


Авот для совсем чайников, можно ли ПОЛНЫЙ проект, который собирается, и не ругается на отсутствующие файлы counta, fontRom, shift, etc...? Ну чтобы на экране увидеть хоть что-то, что задумал автор??
И еще.. В этом проекте конечно задействован RAM Controller.
Так вот, не могли бы Вы помочь прицеплить его же в известный проект Radio-86RK ? У меня честно не хватает скиллов на это, уж очень кЕтайцы замороченно сделали работу с SDRAM :((


полный архив лежит выше на 2 сообщения
и он компилицца

и вроде эти файлы не нужны.
да, квартус сам подключает файлы и отключает, а говин ручками надо.
исправлю / исправил !!!

sdram - я смог запустить только на 66 мгц. 166 как обещано не смог
использовать файл sdram.v задержка на 4 такта.


05 Jul 2024 23:26
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 198
Location: USSR, Tashkent
Reply with quote
z80 счас отключен, так как не могу доделать скалер. и хочу видеть все режимы.

если кто захочет
файл video_top.v
Code:
vga u_vga(
    .clk      (CLK_65MHz    ),//pixel clock
    .RESET_n      (rst_n        ),//low active

//    .CSMEM (wr_vga),
//    .CSREG (io_vga),
    .CSMEM      (1'b1),
    .CSREG      (1'b1),


поменять местами закоменнтированное

о sdram
есть еще файл ram.vhd и он просто обертка к sdram.v зачем не знаю
сам кусок вырвал из какой то реализации синклера
вот гитхаб tang20k-speccy


05 Jul 2024 23:34
Profile
Novelist

Joined: 15 Jun 2018 16:58
Posts: 28
Reply with quote
imsushka wrote:

полный архив лежит выше на 2 сообщения
и он компилицца


да, слона то я и не заметил. Так да, компилиЦЦа, красивые цветные полосочки из бувк.


Quote:
гитхаб tang20k-speccy

знаю этот гитхаб, Карпова. Этот проект так и не запустил, скорее всего не понимаю, надо бы ром-файлы во флеш загрузить, но там в описании этого нет, ну и на экране соответственно ничего нет, и esxdos соответственно не могу попробовать. какая жаль.

я обертку для SDRAM из другого проекта пробовал. На экране даже иногда что-то ВГ75 изображала, но заветной надписи так и не добился :( Ну не умею я готовить я эту памИть, там то два сигнала управления, или в них запутался, или одно из двух.
Ладно, жить еще долго, может и разберусь когда :)


06 Jul 2024 01:41
Profile
Senior

Joined: 01 Jan 2022 04:34
Posts: 198
Location: USSR, Tashkent
Reply with quote
azesmbog wrote:
да, слона то я и не заметил. Так да, компилиЦЦа, красивые цветные полосочки из бувк.


Quote:
гитхаб tang20k-speccy

Ну не умею я готовить я эту памИть, там то два сигнала управления, или в них запутался, или одно из двух.
Ладно, жить еще долго, может и разберусь когда :)


я тоже замучился и использовал BRAM
мне sdram по таймингам не подходють, или я готовить не умею

буквы нужны шо б понять работает или нет.
а так можно z80 подключить и там тестовая прошивка запускается
проверяет доступ к sdram и выводит так же букофки, но чуть по проще
и цветом задаю есть sdram или нет и работает ли мапер или нет


06 Jul 2024 02:03
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 9 posts ] 

Who is online

Users browsing this forum: Google [Bot] and 1 guest


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

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.