We think that this is one of the most versatile MULTICOMP available nowadays, and one of the cheapest also, that's great because when you learn touching a bunch of electronics sometimes burns something... At the first time of the proyect nearly 3 years ago, the cost of the CYC1000 was only 18€, nowadays more than doubled this cost :-(
https://t.me/INICIATIVAATLAS -> El grupo ATLAS esta en Telegram pueden encontrarnos allí, Group ATLAS in Telegram
This proyect aims to use a strong open hardware license, CERN OPEN HARDWARE LICENSE VERSION II STRICT:
https://ohwr.org/cern_ohl_s_v2.txt
#Last prototype with RP2040:
The object of this mostly 3 year proyect, is to give some new features to fpga users, in the use of microfpgas, we focuselly at first in "CYC1000" & "MAX1000", and with the price and belonging to FPGAWARS the "Tang nano 9k". We focuses in creating documentation and sources, in order to provide only information using The I/O Board ATLAS, the cores most of them where ported in order to learn mainly hardware descriptor languages:
the most, The Verilog language, and VHDL language.
We focuses also porting some retrocores to This inexpensive I/O Board ATLAS, because in the initial design we decided not to use any chip, only transistors/diodes, resistors or capacitors and ofcourse several I/O Ports. Making ideal to be reproduced.
With the information provided in this project, has been proven that it could be reproduced, "The I/O Board ATLAS" with or without multicore solution, in all over the world "Trust us!", there are relocators and fpgas/microcontrollers you can use, with the pass of the time more support is going to be added. We Justify the birth of this I/O Board ATLAS in the first month of 2020, because were a nastly shortage of components in the previous years, an we want to incorporate all the features inside the fpga choosen, at first was the cyclone used in CYC1000 that gives 25KLes and 66 blocks of 9Kbits of BRAM at the lowest cost. For example, the use of USB-DIRECT, it is at early stages only is implemented in a version of the VIC20 core, more future implementations will come, until now the only I/O Board that uses K1 & L1 pins in cyc1000 to create a pull down providing USB, is the ATLAS's one.
More than 100 units of prototypes were realized in diferent form factors, but remain the same scheme, so the main think line is.
1.- Not to use any component that uses chips.
2.- Give as much funcionality as posible like USB-DIRECT & DIGITAL-VIDEO.
3.- Sound using DIGITAL-VIDEO & Deltasigma-Stereo.
4.- Proportion of an SD with SPI and SIO capabilities, that is given 4 bits for data.
5.- Maintain a bus with 6 signals in the common bus 2x20 form, standarized by Rasperry PI.
6.- Give a MULTICOMP structure, that's make the implementation only FPGAish posible if desired.
The ATLAS I/O BOARD is also in the open hardware database oshwlab:
https://oshwlab.com/subcritical/carrier_io_board_atlas_mini_copy#P3
Atlas I/O Board is the first board that uses actively K1 & L1 signals, in order to bring USB into 8Bit/16Bit Cores.
La placa ATLAS se diseña con el objetivo de crear un multicore basado en SBC (SINGLE BOARD COMPUTER).
Inicialmente la placa adaptadora ATLAS es un proyecto para la placa CYC1000 y la SBC Raspberry Pi.
Mas info y fotos en este hilo, en su propio foro de foroFPGA, en telegram o discord.
Si ya tienes tu CYC1000, una raspberry Pi, y la placa ATLAS (la puedes conseguir en el grupo de telegram), sigue esta guía rápida para empezar a trastear.
El proyecto está empezando y se irán simplificando los pasos en el futuro de forma que para cargar los cores ya no será necesario acceder al terminal de Linux de la placa SBC.
Leyenda: (1) Placa Atlas, (2) FPGA CYC1000, (3) SBC Raspberry Pi, (4) Alimentación general, (5) DB9 para joystick, (6) teclado PS2, (7) ratón PS2, (8) salida video HDMI, (9) jack 3.5 audio, (10) tarjeta microSD ATLAS, (11) tarjeta microSD rPi
Otras conexiones opcionales:
(12) Conexiones de vídeo y teclado a la SBC rPi para acceder al terminal de linux . No es necesario si has configurado acceso ssh por WiFi.
(13) USB Blaster para cargar cores directamente a la CYC1000. No es necesario si la carga se hace a través de la SBC rPi.
- Descarga raspberry Pi OS Lite https://www.raspberrypi.org/software/operating-systems/ y grábalo en una tarjeta micro SD
- Arranca la SBC con la tarjeta micro SD del paso anterior en el zócalo (11) (no es necesario tenerla conectada aún a la placa ATLAS) con el video y teclado conectados y con un cargador de adecuado amperaje (>2A).
- Para acceder al terminal Linux de la rPI el usuario / contraseña por defecto son: pi / raspberry
- Configuración de la raspberry Pi con el comando
sudo raspi-config
(la configuración del WiFi es opcional y puedes encontrar mas información aquí):- 5 Localization Options
- L4 WLAN country
- L3 keyboard
- 1 system options
- S1 wireless LAN
- 5 Localization Options
Nota: vamos a trabajar desde el directorio /home/pi que es el que aparece por defecto al arrancar el terminal Linux con el usuario "pi".
-
Instala la librería WiringPi:
wget https://project-downloads.drogon.net/wiringpi-latest.deb sudo dpkg -i wiringpi-latest.deb
-
Compila el ejecutable para cargar los cores:
wget https://raw.githubusercontent.com/shaeon/programrbf/main/programrbf_v01.cpp g++ programrbf_v01.cpp -lwiringPi -o programrbf
-
Copia los cores con extensión .rbf a la tarjeta SD, en la partición "rootfs", directorio ""/home/pi".
-
Carga el core con el ejecutable programrbf (el ejemplo carga el msx_atlas.rbf de MSX1):
./programrbf msx_atlas.rbf 17 22 4 27
Nota: El core de MSX1 requiere soldar un reloj adicional de 50 MHz, y tener una tarjeta micro SD con este contenido insertada en el zócalo micro SD (10) de la placa ATLAS.
-
Ejecuta los siguientes comandos en el terminal de Línux:
crontab -e #selecciona por ejemplo nano y al final del fichero cron añade lo siguiente: @reboot ~/programrbf msx_multicore2.rbf 17 22 4 27
Reloj adicional de 50 Mhz: en estados muy iniciales del uso de la placa CYC1000 en la I/O Board ATLAS
La placa CYC1000 dispone de un reloj de 12 Mhz. En un principio se usó un segundo reloj a 50Mhz, pero en la actualidad todos los cores funcionan con el reloj de serie de 12Mhz. foto.
Si sería interesante en un futuro dejar libre este relój para incorporar un pll externo tipo SI5351. Para los que aún les interese conseguir el reloj de 50Mhz pueden pedirlo:
EL primer core que fué usado con un rejog de 50 MHz fué el core de MSX1, pero la implementación del mismo con un relój de 12Mhz es totalmente válida:
- MSX1 Estamos hablando de hace aproximadamente 3 años, al inicio de la primera tirada de placas I/O Board ATLAS para desarrollo.
Se necesita la colaboración para poder incrementar los recursos disponibles para la comunidad entorno esta placa de desarrollo.
- Cyc1000 Atlas Anouncements (Spanish/English)
- Atlas FPGA international telegram group (English)
- Discord channel