TS-Conf на ReVerSE-U16

Железо, связанное с TS-Conf

Postby MVV » Fri, 02.05.2014 22:58:38

Image
Плата ReVerSE-U16 ориентированна на создание 16-разрядных SoC систем на микросхеме программируемой логики ПЛИС. Отлично подходит для домашнего обучения и позволяет полностью воссоздать множество ретро-компьютеров.
Для программирования используются программаторы и отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках описания аппаратуры: Verilog, VHDL, AHDL и др. В конфигурации ПЛИС реализуются почти все компоненты компьютера. Вне ПЛИС находятся только оперативная память, аппаратные интерфейсы для подключения клавиатуры, мыши, монитора, и других устройств.

Спецификация:

  • FPGA Cyclone IV EP4CE22E22C7N (supports Cyclone III EP3C5/10/16/25, Cyclone IV EP4CE6/10/15/22)
  • SDRAM 16MB x 16 bit (supports 4/16/32MB x 16 bit)
  • SPI FLASH 64Mb (supports 64/16/1Mb)
  • RTC DS1338Z + CR2032
  • HDMI for sound and video (DVI or HDMI Male to VGA HD-15 15Pin Male Adapter Cable Cord)
  • 10/100 Base-T Ethernet interface controller ENC424J600 with integrated MAC & PHY
  • Dual USB 2.0 Host / Slave controller VNC2 (2 x ports)
  • micro SD
  • JTAG
  • GPIO IO=4, IN=4 (uBUS+)
  • Power +5В 1A
  • PCB Size 70 х 56 mm

Это финальная версия платы ReVerSE-U16. Исправлена и доработана разводка. Расширен интерфейс uBus (GPIO IO=4, IN=4). Дополнительные сигнальные линии дают возможность увеличить скорость обмена преобразователя шины uBus-ZXBus, подключить различные платы расширения или устройства со SPI интерфейсом, к примеру - VS1053 Audio Codec, графический контроллер FT8xx...

Вид платы в корпусе:
Image

Адаптеры к плате для разработчиков конфигураций:

  • Stereo Audio выход
Image

  • Переходник HDMI2VGA для вывода изображения RGB(2:2:2) на VGA монитор
Image

  • V2Debug для программирования и отладки VNC2
Image
Подключается для удобства тем же шлейфом от USB-Blaster.

Поддержка проекта:

Также тема обсуждения: zx.pk.ru
Исходники и последняя версия конфигурации: репозитарий
Приобрести печатную плату для самостоятельной сборки, акриловый корпус или уже собранную можно написав автору на mvvproject@gmail.com

Установка TS-Conf:

  1. Скачать и записать в корень на microSD (FAT32) файлы roms/zxevo.rom и WildCommander (ссылка)
  2. Записать образы TRD, SCL, TAP, файлы поддерживающий WC...
  3. Скачать и установить FTDI - FT_Prog (ссылка) или аналогичную утилиту для программирования VNC2
  4. Скачать и установить Quartus Programmer (ссылка)
  5. Подключить к плате ReVerSE-U16 (далее по тексту плата) блок питания, светодиод на плате должен засветится
  6. Подключить программатор USB-Blaster и запрограммировать плату с помощью программы Quartus Programmer
  7. prg01.jpg
  8. prg02.jpg
  9. prg03.jpg
  10. prg04.jpg
  11. prg05.jpg
  12. Подключить к плате V2Debug Module и запрограммировать VNC2 с помощью программы FTDI - FT_Prog
  13. vnc01.jpg
  14. Отключить блок питания и V2Debug Module
  15. Подключить HDMI кабель, USB клавиатуру в нижний разъем USB и microSD
  16. Включить монитор и блок питания платы
  17. 20141015_122932.jpg
  18. Press ENTER to continue
  19. В Setup делаем нужные настройки и жмем F12
  20. Попадаем в TR-DOS, т.к. диска нет он подвис в его ожидании, можно нажать Break (левый Shift + Space), появится строка приглашения для ввода команд (RETURN выход в BASIC), но нам это сейчас не нужно?
  21. Жмем на левый Shift + F12, попадаем в WC (если не перенастраивали в Setup), можно нажать PrtScr для 49Hz
  22. Выбираем курсорными клавишами нужный образ TRD, SCL, TAP и жмем на нем Enter
  23. Монтируем его к примеру на Drive A, жмем Enter
  24. Жмем F12 (сброс), попадаем в TR-DOS. Если на диске есть boot, то он автоматически стартует. Или CAT и RUN "файл"
  25. При монтировании TAP, из BASIC набираем LOAD""...
  26. 20141018_103004.jpg

TS-Conf

Что на данный момент уже работает:
Loader - вывод информации, инициализация системы.
Звук - TurboSound, Soundrive, Beeper, MSX-MUSIC YM2413.
PS2 - Клавиатура, мышь
RTC - Загрузчик читает из DS1338 и делает инициализацию модуля mc146818a.
SD - Z-controller
SDRAM - 32MB
CPU - T80 CPU заменил ядро, т.к. в исходниках от dsp работало нестабильно в мультиколоре.
Video DAC - цвет 15bpp RGB(5:5:5)
RTC - сделана возможность установки даты и времени.
Keyboard - [F12]=Reset, [PrtScr]=Режим 49Hz/60Hz

TODO:
-Ваши предложения...
-UART
-WiFi - ESP8266
-Ogg Vorbis/MP3/AAC/WMA/FLAC/MIDI Audio Codec Chip - VS1053
+uBus - интерфейсная шина расширения (реализовано)
-CPU - замена на nZ80...
-2x CPU - nZ80@3.5MHz/7.0MHz/14MHz/42MHz
-640x480@60Hz Video Mode
+MSX-MUSIC - YM2413 (реализовано)
+Video-DAC - цвет 15bpp RGB(5:5:5) (реализовано)
+Keyboard - спец кнопки F2, F3, F12... перекинуть, чтобы не мешались в WC...
+RTC - сделать возможность записи в DS1338 (реализовано)
+Loader - поддержка FAT32. Не помешало бы меню, для возможности прошить плату (запись в M25P16) новой конфигурацией с SD Card и настройки RTC (время, дата)... (реализовано)
Last edited by MVV on Sun, 21.08.2016 22:19:32, edited 63 times in total.
MVV
 
Posts: 410
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Fri, 02.05.2014 23:26:47

:agree:
Варианты:
1. Дождаться, когда я портирую конфу на U8. Плюсы: можно будет влет натянуть на U16, кроме того, я хочу не просто портировать влоб, а сразу делать запас для всяческих доработок (мегагерцы, расширенная графика). Минусы метода - долго ждать, хотя процесс идет.
2. Помочь в портировании (хотя я помню, что отказался в свое время). Что я бы хотел в плане помощи: перетащить на верилог все модули периферии (которые изначально не на верилоге) - сорри, но на вхдл я хоть и пишу кое-как, но поддерживать сорцы на нем бррр...
3. Если особо не стараться, можно просто проэмулировать пентевовскую драму на сдраме. Придется переделать модуль арбитра и рам-контроллера, потому что т80 работает совсем не так, как железный зетник. Минусы: для дальнейшего развития все равно придется делать то, чем я занимаюсь в п.1.
Ну и обязательно навести порядок с таймингами. :)
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Fri, 02.05.2014 23:32:49

Что я сейчас делаю для на U8 (и это будет потом использовано для U16, ZX-Advance, TSXB):
- кеши для процессорных ядер,
- нексты на приемлимой частоте (для ц3 это 33МГц),
- ДМА бурстами,
- переделка TSU под сдраму,
- допиливание сдрам контроллера под умную работу с банками.
Z80 планируется гонять в 2-х режимах: 3.5МГц с классик таймингами и макс.частота в "однотактовом" режиме. 7 и 14 МГц фтопку ибо толку от них.
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Thu, 29.05.2014 22:52:38

Quartus почему-то не стал переваривать диф пару на пинах 144-143 для Cyclone 4, поменял местами пару с 113-112 стал ругаться уже на эту, т.е. для клока все прокатывает, для Cyclone 3 все было ОК.

Error: Can't place differential I/O pins and/or associated SERDES transmitters or receivers -- location assignments are illegal
Error: Pin "HDMI_D[1]" with LVDS_E_3R I/O standard must be driven by the external clock output of an enhanced PLL
Info: Input port I of node "HDMI_D[1]~output_pseudo_diff" is driven by serializer0:inst6|altlvds_tx:ALTLVDS_TX_component|serializer0_lvds_tx:auto_generated|serializer0_ddio_out:ddio_out|wire_ddio_outa_dataout[1] which is DATAOUT output port of Double Data Rate I/O Output Circuitry type node serializer0:inst6|altlvds_tx:ALTLVDS_TX_component|serializer0_lvds_tx:auto_generated|serializer0_ddio_out:ddio_out|ddio_outa_1
Info: Input port I of node "HDMI_D[1]~output_pseudo_diff" is driven by serializer0:inst6|altlvds_tx:ALTLVDS_TX_component|serializer0_lvds_tx:auto_generated|serializer0_ddio_out:ddio_out|wire_ddio_outa_dataout[1] which is DATAOUT output port of Double Data Rate I/O Output Circuitry type node serializer0:inst6|altlvds_tx:ALTLVDS_TX_component|serializer0_lvds_tx:auto_generated|serializer0_ddio_out:ddio_out|ddio_outa_1
Error: Can't fit design in device
Error: Quartus II 64-Bit Fitter was unsuccessful. 3 errors, 6 warnings
MVV
 
Posts: 410
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Thu, 29.05.2014 23:37:34

Думаю потому что выходы PLL прибиты к конкретной PLL. Перекинь клок на другую PLL.
Хотя без дизайна я не понял для чего ты используешь эти лапы? Выход клока HDMI?
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Sat, 31.05.2014 12:43:34

Попытка побороть диф пару (PLL3_CLKOUTP/N) ни к чему пока не привела. Ради эксперимента собрал третью плату, запаял EP4CE22E22C7N (был заказан неделю назад, т.к. perestoronin на все почему-то забил). Вывод 143 (сигнал HDMI_D1N) решил пока не использовать, заработало и без него. Максимально что можно выжать это 640Mbps.
Attachments
20140531_122141.jpg
20140531_122141.jpg (97.55 KiB) Viewed 18474 times
20140531_115948.jpg
20140531_115948.jpg (96.7 KiB) Viewed 18474 times
Last edited by MVV on Sun, 01.06.2014 19:34:08, edited 1 time in total.
MVV
 
Posts: 410
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Sat, 31.05.2014 18:15:00

Замечательно, но все же. Выходы альтеры идут напрямую без драйверов?
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Sat, 31.05.2014 19:57:28

TS-Labs wrote:Замечательно, но все же. Выходы альтеры идут напрямую без драйверов?

Не понял вопрос, кто куда идет напрямую? Эт экзамен? Есть схема и мануал к камню, можешь глянуть. У тебя VGA в ундервафле как идет? Напрямую или через драйвера? Глянь.
Ты лучше скажи, кто шарит в VNC2? И может подсобить, а то через uBUS - PS/2 клаву юзаю в minimig без джойстиков :(.
MVV
 
Posts: 410
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Sat, 31.05.2014 20:43:03

Не экзамен, просто потестируй на китайском 5-метровом шнурке. Если все ок, вопросы снимаются.
Кто шарит в VNC2 не знаю.
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Sat, 31.05.2014 20:44:20

MVV wrote:У тебя VGA в ундервафле как идет?

Через ВНЕЗАПНО ADV7125.
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby MVV » Sat, 31.05.2014 21:21:57

TS-Labs wrote:просто потестируй на китайском 5-метровом шнурке. Если все ок, вопросы снимаются.

Работает на 2.0m Viewcon (VD165-2M). Других длинных шнурков нет, т.к. и смысла в них.
TS-Labs wrote:Кто шарит в VNC2 не знаю.

Эт плохо... Горе - огорчение...
Last edited by MVV on Tue, 12.08.2014 20:36:40, edited 1 time in total.
MVV
 
Posts: 410
Joined: Sun, 01.12.2013 22:48:17

Postby TS-Labs » Sat, 31.05.2014 23:58:20

MVV wrote:Что еще добавить

А что не так?
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby TS-Labs » Sun, 01.06.2014 00:01:32

MVV wrote:http://www.wayengineer.com/digiasic-fpg ... p-160.html

Тормозные 50-ки, которые впрочем отлично и с запасом выгребают 108МГц. Быстрые на 140МГц.
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby dsp » Wed, 25.06.2014 08:26:54

Спасибо авторам TS-Conf и ReVerSE за открытые проекты.
Запустил TS-Conf на Cyclone IV+ SDRAM (CPU на плисе, AVR контроллера нет).
Конфигурация: EP4CE15F17C8N + SDRAM: 256 Мбит (16M * 16 бит) + FLASH: 64Mbit (EPCS64). Прошивка(ROM) грузится в верхнюю память SDRAM (ReVerSE). Две SD карты, на одной ROM(SD 2GB, FAT16), на другой boot.$C (FAT32).
Все модули (моего ни одного нет) из проектов TS-Conf и ReVerSE (VHDL+Verilog) c небольшими изменениями. Мое изменение: начало цикла CPU смещено относительно начала цикла SDRAM. Все диски виртуальные (монтируются с SD карты или с PC через rs232mnt).
rs232mnt.exe:
было
ReadFile(hPort, uart_in_buf, fifo_free(fifo_in), &dwRead, NULL);
исправил
ReadFile(hPort, uart_in_buf, 7, &dwRead, NULL);

Обновил исходные файлы тестового проекта 2014_07_13 ZX_TWARM.RAR
- Добавил GS , F11-Reset GS (подключил SRAM IS61LV25616)
На 2GB SD карте, отформатированной FAT16, первый файл – zxevo.rom, второй - gs105a.rom

2014_07_09a ZX_TWARM.RAR
1) скачал (TS_Conf версия 1320fa411860 ) и обновил модули (в основном zint, video).
2) CACHE всегда включен для SDRAM которая является vROM. (zmem.v)
wire cache_hit_en = (cache_hit && (cache_en[win] || csvrom)) ;
3)F2 - 60Hz/49Hz; F4 - запретить/разрешить прерывания во время DMA;
F11 - не используется (GS - не подключен)

2014_07_02 ZX_TWARM.RAR:
1) Основное изменение для 14Mhz
wire dram_beg = (!cache_hit_en && ( memconf[3] ? 1'b1 : ramrd ) || ramwr) && zpos && ramreq_s_n;
Раньше на 14 МHz при записи CRAM затиралась память в окне 0.
memconf[3] – добавил для хоть начальной загрузки BOMBER EVOLUTION (сейчас выводит три надписи MUSGEN GROU, DELIRIUM TREMENS, presents, затем – белый экран). Вроде как на 14Mhz если в нулевом окне – RAM, то возможна запись и чтение вне зависимости от бита memconf[1]. Кто знает точно, пусть подскажет.
2) Добавил запись в CMOS (F12), параметры - в конфигурации (F12+Ctrl),
3) Звук – VS1053B (все c ReVerSE без GS) F11 – On/Off
Attachments
sdram 8bit.rar
(2.37 KiB) Downloaded 190 times
TWARM_doc.rar
(703.59 KiB) Downloaded 201 times
2014_07_13 ZX_TWARM.RAR
(348 KiB) Downloaded 194 times
Last edited by dsp on Thu, 17.07.2014 14:07:39, edited 6 times in total.
dsp
 
Posts: 127
Joined: Wed, 25.06.2014 05:53:32

Postby TS-Labs » Wed, 25.06.2014 10:01:31

Круто!
Софты работают?
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby dsp » Wed, 25.06.2014 10:39:54

Загружаю на частоте 7Mhz, потом переключаю на 14Mhz (несли нужно).
На частоте 14Mhz с виртуального драйвера не грузится иногда. Статистику не собирал
То что запускалось.
-BEE.$c
-HB SerkaFox (TS-Conf).scl
-mindwarp.spg
-sprites.spg
-Tcircles.spg
-TSDemo.trd
-slideshow.scl
Видео без звука :
-binary.tgv
-rozen.tgv
-runningm.tgv
КЭШ помогает здорово, 14/7 Mhz - на мой взгляд разница не сильно заметная
Bomberman Evolution – не запускается (не знаю что такое функционал через RST и у меня нет AVR)
С виртуального драйвера (SD или через rs232mnt) запускал журналы
DEJAVUx.TRD, DEPTHx.TRD, Lighter x
Если нужна точная информация по отдельному софту то могу проверить
В TS-Conf SDK компилирую си файлы и запускаю через rs232mnt – это вот что меня интересовало. Пока сбоев не замечал при загрузке через rs232. Исходный rs232mnt.exe у меня посылал пакет на запрос иногда только через секунд 10. Поэтому я код для себя подправил.
dsp
 
Posts: 127
Joined: Wed, 25.06.2014 05:53:32

Postby TS-Labs » Wed, 25.06.2014 10:52:55

dsp wrote:(не знаю что такое функционал через RST и у меня нет AVR)

На рст8 висит ожидание готовности ДМА (опрос статуса), к АВР отношения не имеет.
dsp wrote:Если нужна точная информация по отдельному софту то могу проверить

Ну в приципе я понял, что более-менее работает.
Поздравляю!
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby dsp » Wed, 25.06.2014 10:54:45

Cпасибо!
dsp
 
Posts: 127
Joined: Wed, 25.06.2014 05:53:32

Postby VBI » Sun, 29.06.2014 11:37:05

TS-Labs, вчера крутил в руках U8 и U16.
понравились обе!
всячески поддерживаю конфигурацию для этих машин.
User avatar
VBI
 
Posts: 1761
Joined: Mon, 03.06.2013 09:20:29

Postby TS-Labs » Sun, 29.06.2014 20:26:46

Ага.
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby VBI » Mon, 30.06.2014 10:26:22

MVV, сколько плат уже разошлось?
User avatar
VBI
 
Posts: 1761
Joined: Mon, 03.06.2013 09:20:29

Postby MVV » Mon, 30.06.2014 13:02:33

VBI wrote:сколько плат уже разошлось?

Распространением плат занимается zorel http://zx-pk.ru/market/viewtopic.php?f=7&t=15
и perestoronin http://zx-pk.ru/market/viewtopic.php?f=7&t=1904
MVV
 
Posts: 410
Joined: Sun, 01.12.2013 22:48:17

Postby EARL » Mon, 30.06.2014 14:54:57

Cебе взял U16 одну. Также есть и U8. Конфиги планируются под обе железке. Вопрос времени. Сейчас немного другим занят. Как разгребу, хотелось бы сделать порт конфы.
User avatar
EARL
 
Posts: 71
Joined: Fri, 30.08.2013 09:29:15

Postby TS-Labs » Thu, 03.07.2014 09:10:58

dsp, а под какую борду эта конфа? Конкретно интересует микруха сдрамы с А12 - чо за экзотика?
User avatar
TS-Labs
 
Posts: 4706
Joined: Thu, 26.07.2012 01:29:56

Postby dsp » Fri, 04.07.2014 08:40:19

Вначале делал на SDRAM : MT48LC16M16A2TG (ZR_Tech, ZR_Tech.pdf )
Потом перешел на SDRAM: HY57V641620ET (TWARM). При переходе на другую SDRAM все заработало сразу (только переобозначил выводы).
Bomber вылетает при втором RST8, когда работает DMA. В какой-то момент приходит сигнал прерывания, но подключено в окно 0 - ПЗУ а в прерывании идет обращение к подпрограмме по адресу 0005. Во время работы DMA (когда ROM подключено) не должно работать прерывание. Либо долго DMA работает или синхронизация нарушена что не попадает в окно между прерываниями, либо во время вызова RST8 прерывание должно быть запрещено или надо остановить z80 на время работы DMA
(еще не разбирался).
Есть еще DE-1 (Terasic, SDRAM 16x4, там A0-11 шина) с нее начинал и запускал проекты: Spectrum+ResiDOS, OneChipMSX, ZET. Но как то не понравилась из за больших размеров.
Attachments
ZR_Tech.pdf
(138.33 KiB) Downloaded 258 times
ZR_Tech.JPG
ZR_Tech.JPG (88.82 KiB) Viewed 17743 times
DB4CE15 (TWARM).pdf
(119.83 KiB) Downloaded 222 times
Box (open).JPG
Box (open).JPG (117.99 KiB) Viewed 17743 times
TWARM.JPG
TWARM.JPG (97.67 KiB) Viewed 17743 times
dsp
 
Posts: 127
Joined: Wed, 25.06.2014 05:53:32

Next

Return to Hardware

Who is online

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

cron

x