32-битный персональный компьютер nedoPC-5 на RISC-V

Публичный форум для http://www.nedopc.org/nedopc

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24006
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 32-битный персональный компьютер nedoPC-5

Post by Shaos »

Shaos wrote:Пытаюсь поставить среду разработки от Lattice Semiconductor - iCEcube2: http://www.latticesemi.com/en/Products/DesignSoftwareAndIP/FPGAandLDS/iCEcube2
Пришлось восстанавливать старый аккаунт у них (заводил в 2005 году) - без него даже на скачку не пускало, потом запросил лицензионный ключ, который привязан к MAC-адресу
Скачанный установщик под линух это 32-битный бинарь размером 396 мегов, который требует кучу 32-битных либ (у меня 64-битная система, так что приходится по одной либе ставить)
Как закончу установку напишу сюда какие либы пришлось поставить...

P.S. Запустилось с 11ой попытки (после каждой неудачной попытки ставил вручную либу, на отсутствие которой ругался инсталлятор):

Code: Select all

Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libXi.so.6: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libXrandr.so.2: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libXfixes.so.3: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libXcursor.so.1: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libXinerama.so.1: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory
Downloads/iCEcube2setup_Sep_12_2017_1708: error while loading shared libraries: libgthread-2.0.so.0: cannot open shared object file: No such file or directory
Ставил в дебиан следующее: libsm6:i386 libxi6:i386 libxrender1:i386 libxrandr2:i386 libxfixes3:i386 libxcursor1:i386 libxinerama1:i386 libfreetype6:i386 libfontconfig1:i386 libglib2.0-0:i386

Плюс libpng12-0_1.2.50-2+deb8u3_i386.deb качнул с инета (в дебиане уже 16)
Почти через полгода повторил ту же самую установку на своём домашнем линуксовом супер-сервере AMD64 и заказал себе новый лицензионный ключик от латтиса, а то до этого у меня iCEcube2 стояла только на линуксовом ноутбуке с работы, который у меня отобрали при увольнении в начале марта...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24006
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by Shaos »

Оказывается недавно мой недоделанный прожэкт форкнули и прикрутили к MAX1000:

https://github.com/zuki/retro-v/compare/max1000
Я тут за главного - если что шлите мыло на me собака shaos точка net
nihirash
Junior
Posts: 6
Joined: 17 Jul 2020 11:26

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by nihirash »

Кстати, есть желание поиграться с верилогом(благо FGPA компов достаточно - Reverse U8, испанские ZXUno/gomaDOS+ да и Next).

Ты не будешь против, если я попробую построить недокомп на базе твоего недориск5? :ebiggrin:
User avatar
Shaos
Admin
Posts: 24006
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by Shaos »

Да строй конечно - не вопрос :)
Я тут за главного - если что шлите мыло на me собака shaos точка net
nihirash
Junior
Posts: 6
Joined: 17 Jul 2020 11:26

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by nihirash »

Shaos wrote:Да строй конечно - не вопрос :)
Плавно начал с прикручивания к процу SRAM'ы.
Очень много усрал времени на дебаг, а оказалось, что верилятор оч. криво работает.

У меня работал дизайн с дебажными $display и не работал без них.

Завтра засяду с Icarus Verilog и попробую в нем отладить SRAM, буду прикручивать VGA или TV и буду пробовать запускать на одной из своих плат.
User avatar
Shaos
Admin
Posts: 24006
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by Shaos »

Это странно - у меня от верилятора очень положительные ощущения остались

Держи в курсе
Я тут за главного - если что шлите мыло на me собака shaos точка net
nihirash
Junior
Posts: 6
Joined: 17 Jul 2020 11:26

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by nihirash »

Shaos wrote:Это странно - у меня от верилятора очень положительные ощущения остались

Держи в курсе
Возможно, дело в clang, который у меня в macOS, верилятор не хочет переубеждаться и переходить на gcc.

Пока меня победил контроллер SRAM. Вроде проще некуда, но что то не успевает проц вычитывать команды из реальной SRAM'ы.

Code: Select all

module MemoryController
(
    input cpu_clk,
    input reset_n,

    // Ram pins
    output  reg [15:0] ram_addr,
    inout   [7:0] ram_data,
    output  reg ram_oe,
    output  reg ram_we,

    // Design signals
    input   [15:0] address_bus,
    input   [7:0] data_write,
    output  [7:0] data_read,
    input   write_enable,
    output  reg hold
);

reg [7:0] data_out;

assign ram_data = ram_oe ? 8'bZ : data_out;
assign data_read = ram_data;

always @(posedge cpu_clk)
begin
    hold <= 1'b0;
    ram_addr <= address_bus;
    data_out <= data_write;
    
    if (!reset_n)
    begin
      ram_we <= 0;
      ram_oe <= 0;
      ram_addr <= 0;
    end
    else
    begin
      ram_we <= write_enable;
      ram_oe <= !write_enable;
    end
end
endmodule
hold - торчит - пробовал делать FSM с выставлением сигналов и снятием на следующий такт, тормозя процессор.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by Icer »

Как вариант, запустить контроллер SRAM на частоте по выше. Как заработает можно извращаться с hold'ами.
nihirash
Junior
Posts: 6
Joined: 17 Jul 2020 11:26

Re: 32-битный персональный компьютер nedoPC-5 на RISC-V

Post by nihirash »

Icer wrote:Как вариант, запустить контроллер SRAM на частоте по выше. Как заработает можно извращаться с hold'ами.
Была такая мысль, но я профессионально слег с короной - поэтому пока выпал.
User avatar
Shaos
Admin
Posts: 24006
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

32-битный персональный компьютер nedoPC-5 на RISC-V

Post by Shaos »

Shaos wrote:
Shaos wrote:Получил бесплатно платку UPDuino v2.0 для экспериментов ;)
A low cost, minimalistic Arduino-like breakout board with Lattice Ultraplus FPGA and a USB programming device

Gnarly Grey UPDuino v2.0 Board Features:
  • Lattice UltraPlus FPGA
  • 5.3K LUTs, 1Mb SPRAM, 120Kb DPRAM, 8 Multipliers
  • FTDI FT232H USB to SPI Device for FPGA programming
  • 12Mhz Crystal Oscillator Clock Source
  • 34 GPIO on 0.1” headers
  • SPI Flash, RGB LED, 3.3V and 1.2V Regulators
  • Open source PCB design in Eagle and Programming Instructions
P.S. Она опенсорц даже: https://github.com/gtjennings1/UPDuino_v2_0
Ещё приобрёл UPDuino v1.0 - она всего за $7.99 продаётся т.к. без USB и с ошибками - как минимум надо 3 микрофарадных конденсатора припаять - 2 с лицевой стороны (как на фотке) и ещё один сзади на второй регулятор напряжения:

Источник: https://www.eevblog.com/forum/microcontrollers/8$-ice40-developer-board/100/
Upduino 1.0 и 2.0 уже не достать, но зато в прошлом году появилась чуть более дорогая UPduino v3.0:

https://hackaday.io/page/8864-upduino-30-third-time-appears-to-be-the-charm
UPDuino3.png
Купить её можно за $24 в следующих местах:

https://tinyvision.ai/products/upduino-v3-0
https://www.tindie.com/products/tinyvision_ai/upduino-v30-low-cost-lattice-ice40-fpga-board/
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24006
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: 32-битный персональный компьютер nedoPC-5

Post by Shaos »

Shaos wrote:Почти через полгода повторил ту же самую установку на своём домашнем линуксовом супер-сервере AMD64 и заказал себе новый лицензионный ключик от латтиса, а то до этого у меня iCEcube2 стояла только на линуксовом ноутбуке с работы, который у меня отобрали при увольнении в начале марта...
Ещё через 3.5 года обновил ключик от латтиса т.к. был не уверен к какому маку был привязан тот старый ключик...
Я тут за главного - если что шлите мыло на me собака shaos точка net