# Differences

This shows you the differences between two versions of the page.

 builderpages:muellerk:multicomp_july_2019 [2019/12/03 10:38]muellerk builderpages:muellerk:multicomp_july_2019 [2020/07/03 21:46] (current)muellerk Both sides previous revision Previous revision 2020/06/09 05:43 muellerk 2020/06/09 05:38 muellerk 2020/05/28 01:56 muellerk 2020/05/21 15:58 muellerk 2020/05/21 15:53 muellerk 2020/05/18 15:34 muellerk 2020/04/20 12:20 muellerk 2020/04/17 14:01 muellerk 2020/04/13 14:06 muellerk 2020/04/13 08:36 muellerk 2020/04/11 11:45 muellerk 2020/04/11 11:41 muellerk 2020/04/11 11:40 muellerk 2020/04/08 00:41 muellerk 2020/04/08 00:33 muellerk 2020/04/07 14:09 muellerk 2020/04/07 14:06 muellerk 2020/04/07 08:08 muellerk 2020/04/04 05:31 muellerk 2020/04/04 05:17 muellerk 2020/04/04 05:16 muellerk 2020/04/04 05:14 muellerk 2020/02/19 13:13 muellerk 2020/02/19 13:09 muellerk 2020/02/19 13:02 muellerk 2020/01/14 15:30 muellerk 2020/01/14 14:55 muellerk 2019/12/23 22:05 muellerk 2019/12/21 16:24 muellerk 2019/12/21 16:14 muellerk 2019/12/17 09:22 muellerk 2019/12/17 07:30 muellerk 2019/12/15 08:16 muellerk 2019/12/15 08:15 muellerk 2019/12/15 08:11 muellerk [RSX-Software for new hardware parts] 2019/12/15 08:09 muellerk [Introduction] 2019/12/15 08:00 muellerk [Helpful hints for assembling] 2019/12/15 07:56 muellerk [Helpful hints for assembling] 2019/12/15 07:47 muellerk 2019/12/15 07:39 muellerk 2019/12/14 21:31 muellerk [Helpful_Hints_for_assembling] 2019/12/14 21:30 muellerk 2019/12/12 16:39 muellerk 2019/12/12 13:22 muellerk 2019/12/12 13:22 muellerk [VHDL Code] 2019/12/12 12:33 muellerk 2019/12/12 12:02 muellerk 2019/12/12 10:48 muellerk 2019/12/03 10:38 muellerk 2019/12/03 10:29 muellerk 2019/12/01 15:24 muellerk Next revision Previous revision 2020/07/03 21:46 muellerk 2020/07/03 21:41 muellerk 2020/06/09 05:43 muellerk 2020/06/09 05:38 muellerk 2020/05/28 01:56 muellerk 2020/05/21 15:58 muellerk 2020/05/21 15:53 muellerk 2020/05/18 15:34 muellerk 2020/04/20 12:20 muellerk 2020/04/17 14:01 muellerk 2020/04/13 14:06 muellerk 2020/04/13 08:36 muellerk 2020/04/11 11:45 muellerk 2020/04/11 11:41 muellerk 2020/04/11 11:40 muellerk 2020/04/08 00:41 muellerk 2020/04/08 00:33 muellerk 2020/04/07 14:09 muellerk 2020/04/07 14:06 muellerk 2020/04/07 08:08 muellerk 2020/04/04 05:31 muellerk 2020/04/04 05:17 muellerk 2020/04/04 05:16 muellerk 2020/04/04 05:14 muellerk 2020/02/19 13:13 muellerk 2020/02/19 13:09 muellerk 2020/02/19 13:02 muellerk 2020/01/14 15:30 muellerk 2020/01/14 14:55 muellerk 2019/12/23 22:05 muellerk 2019/12/21 16:24 muellerk 2019/12/21 16:14 muellerk 2019/12/17 09:22 muellerk 2019/12/17 07:30 muellerk 2019/12/15 08:16 muellerk 2019/12/15 08:15 muellerk 2019/12/15 08:11 muellerk [RSX-Software for new hardware parts] 2019/12/15 08:09 muellerk [Introduction] 2019/12/15 08:00 muellerk [Helpful hints for assembling] 2019/12/15 07:56 muellerk [Helpful hints for assembling] 2019/12/15 07:47 muellerk 2019/12/15 07:39 muellerk 2019/12/14 21:31 muellerk [Helpful_Hints_for_assembling] 2019/12/14 21:30 muellerk 2019/12/12 16:39 muellerk 2019/12/12 13:22 muellerk 2019/12/12 13:22 muellerk [VHDL Code] 2019/12/12 12:33 muellerk 2019/12/12 12:02 muellerk 2019/12/12 10:48 muellerk 2019/12/03 10:38 muellerk Line 1: Line 1: ====== Multicomp with larger FPGA ====== ====== Multicomp with larger FPGA ====== - {{https://​retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​muellerk/​multicomp-cycloneiv-july2019_800x60.jpg?​nolink&​384x288|retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_muellerk_multicomp-cycloneiv-july2019_800x60.jpg}} + {{https://​retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​muellerk/​multicomp-cycloneiv-july2019_800x600.jpg?​nolink&​405x303|Multicomp with extra boards plugged in}} ===== History ===== ===== History ===== - In June this year I got a link from a forum member regarding CycloneIV boards on AliExpress. I followed the link and was very surprised to find besides the "​old" ​cycloneIV board a newer one with much [[https://​www.aliexpress.com/​item/​32949281189.html?​gps-id=pcDetailBottomMoreOtherSeller&​scm=1007.13338.132444.000000000000000&​scm_id=1007.13338.132444.000000000000000&​scm-url=1007.13338.132444.000000000000000&​pvid=6df0c186-ae5f-4874-9813-c43129f02943|larger FPGA (EP4CE15F22N8)]] offered for a reasonable price (board size:​8×6.4cm^2,​ round about half the size of my Multicomp !). That was the start for a new project: To rework my multicomp. Six weeks later, the German customs send me a letter, claiming the unpaid tax (19%). Ok, the bought boards are in Germany… It took me 4 hours to drive to their office, pay the tax and get back to my home… Why 4 hours: It's a small customs office in a also small town. The physical drawback: 1 hour local customs time is 2 hours real-time, time is relative… + In June this year I got a link from a forum member regarding CycloneIV boards on AliExpress. I followed the link and was very surprised to find besides the "​old" ​CycloneIV system ​a newer one with much [[https://​www.aliexpress.com/​item/​32949281189.html?​gps-id=pcDetailBottomMoreOtherSeller&​scm=1007.13338.132444.000000000000000&​scm_id=1007.13338.132444.000000000000000&​scm-url=1007.13338.132444.000000000000000&​pvid=6df0c186-ae5f-4874-9813-c43129f02943|larger FPGA (EP4CE15F22N8)]] ​(1) offered for a reasonable price (board size:​8×6.4cm^2,​ round about half the size of my Multicomp !). That was the start for a new project: To rework my Multicomp. Six weeks later, the German customs send me a letter, claiming the unpaid tax (19%). Ok, the bought boards are in Germany… It took me 4 hours to drive to their office, pay the tax and get back to my home… Why 4 hours: It's a small customs office in a also small town. The physical drawback: 1 hour local customs time is 2 hours real-time, time is relative… + + (1) It looks like that the QMTECH EP4CE15-SDRAM core board is running out of stock (2020.06.09:​ 500pcs. in stock again - all fine ;-) ). A possible replacement is the [[https://​de.aliexpress.com/​item/​1000006622149.html?​spm=a2g0o.productlist.0.0.2fab34f6VMpsPq&​algo_pvid=6d8e0439-bee2-4343-9b21-aa59de304b2b&​algo_expid=6d8e0439-bee2-4343-9b21-aa59de304b2b-9&​btsid=0ab6d70515906425397446534e08f0&​ws_ab_test=searchweb0_0,​searchweb201602_,​searchweb201603_|CycloneV 5CEFA2F23 SDRAM]] (sadly for more then twice the money). The pin assignment stays the same (only a quick check, no guaranty) but the I/O naming is different. I haven'​t migrated the VHDL code to the new core board yet, because at present I do not have one for testing the new IO-assignment. ===== Introduction ===== ===== Introduction ===== Line 18: Line 20: * A better reachable Reset-Button (Sorry, I need that, I too often crash the system… ;-) ) * A better reachable Reset-Button (Sorry, I need that, I too often crash the system… ;-) ) * A I2C-Port for my Swiss-Pi board (I2C-Controller in VHDL) * A I2C-Port for my Swiss-Pi board (I2C-Controller in VHDL) - * A GPIO-Port for connecting a peripheral board (same size as the mainboard) ​located ​below the Multicomp board (that'​s the idea) Meanwhile I'​ve ​dropped that idea and created instead ​a Joystick-board for 2 joysticks (thumb-Sticks),​ some switches, buttons, LED's and a 10-bit GPIO Port to plug onto to 40-pin GPIO header TOP-side. If the 2nd PIO is needed, its Pin-Socket should be swapped to the bottom side so the PIO-PCB is located below the Multicomp-PCB. That gives a nice 3-level sandwich construction… ​;-) As I said, things may change - that's now my idea. Your intension may differ - you are free to do so ! + * A GPIO-Port for connecting a peripheral board located ​on TOP or BOTTOM of the Multicomp board (that'​s the idea) Meanwhile I've a Joystick-board for 2 joysticks (thumb-Sticks),​ some switches, buttons, LED's and a 10-bit GPIO Port to plug onto to 40-pin GPIO header TOP-side. If the 2nd PIO is needed, its Pin-Socket should be swapped to the bottom side so the PIO-PCB is located below the Multicomp-PCB. That gives a nice 3-level sandwich construction… Your intension may differ - you are free to do so or not ! * Two +12V DC power jacks (for Input & output), so I can chain the power for Monitor and Multicomp to one power supply (my monitor needs +12V) * Two +12V DC power jacks (for Input & output), so I can chain the power for Monitor and Multicomp to one power supply (my monitor needs +12V) - * A additional +5V //​__OUTPUT-__// ​ Jack to connect __//​LOW//​__ ​ -power experimental boards at the back side of the board. The +5V regulator ​needs then a heat sink, definitely ​! It's possible to use the +5V jack at the front side (as //​__OUTPUT__// ​ only) of the FPGA board. + * A additional +5V //​__OUTPUT-__// ​ Jack to connect __//​LOW//​__ ​ -power experimental boards at the rear side of the board. The +5V regulator ​should have a heat sink for better cooling ​! It's possible to use the +5V jack at the front side (as //​__OUTPUT__// ​ only) of the FPGA board. * A MAX705 Reset/​Power-Fail IC for the RESET-Button and for monitoring the +5V when power is switched ON/OFF ( I had some troubled with a destroyed SD-Card image, therefore the MAX705). * A MAX705 Reset/​Power-Fail IC for the RESET-Button and for monitoring the +5V when power is switched ON/OFF ( I had some troubled with a destroyed SD-Card image, therefore the MAX705). * //​**REMARK:​**// ​ If the system is already switched ON and running don't connect a external board with large capacitors to the +5V jacks. The MAX705 may detect a Power-Fail situation when the voltage drops below +4.65V and will reset the system ! * //​**REMARK:​**// ​ If the system is already switched ON and running don't connect a external board with large capacitors to the +5V jacks. The MAX705 may detect a Power-Fail situation when the voltage drops below +4.65V and will reset the system ! Line 27: Line 29: ===== Compatibility ===== ===== Compatibility ===== - The system is compatible to [[https://​www.retrobrewcomputers.org/​doku.php?​id=builderpages:​rhkoolstar:​start|this]] CPM Software collection here in the forum. I installed the system18.img on the SD-Card. + The system is compatible to [[https://​www.retrobrewcomputers.org/​doku.php?​id=builderpages:​rhkoolstar:​start|this]] CPM Software collection here in the forum - with one exception: The transceiver of serial-B got its own I/​O-address. Probably that will affect MP/M-II and every software using serial-B. The baud-rate gen. keeps its I/O-address. I installed the system18.img on the SD-Card. ===== Purchasing the new Multicomp-PCB ===== ===== Purchasing the new Multicomp-PCB ===== - The board was manufactured by Aisler-B.V. in Germany. The German web-site (in English) is [[https://​aisler.net/​about/​imprint|here]]. Scroll down for more manufacturing locations. They offer a production of 3 pcs. per batch. I've paid €37 = \$41 ( €1 = \$1.10) for one batch. If you need more then 3 PCB's stepping is: 3, 6, 9, … Of cause, you can choose a manufacturer of your own choice ;-)  Use this [[https://​aisler.net/​p/​NSMDNJAI|link]],​ if you intend to order a batch. Gerber -Files are included in the project-archive,​ but I uploaded the .kicad_pcb file to my Aisler Project-Folder. They can use this file directly - so I do not need them… That means in turn - I hope that all data is included, but I can't claim that. + The board was manufactured by Aisler-B.V. in Germany. The German web-site (in English) is [[https://​aisler.net/​about/​imprint|here]]. Scroll down for more manufacturing locations. They offer a production of 3 pcs. per batch. If you need more then 3 PCB's stepping is: 3, 6, 9, … Of cause, you can choose a manufacturer of your own choice ;-)  Use this [[https://​aisler.net/​p/​NSMDNJAI|link]],​ if you intend to order a batch. Gerber -Files are included in the project-archive,​ but I uploaded the .kicad_pcb file to my Aisler Project-Folder. They can use this file directly - so I do not need them… That means in turn - I hope that all data is included, but I can't claim that. ===== Add-On PCB's ===== ===== Add-On PCB's ===== Line 37: Line 39: Meanwhile the number increases to 3: Meanwhile the number increases to 3: - - Swiss-Pi Adapter PCB (I<​sup>​2 ​  C) with EEProm and I<​sup>​2 ​  C Clock (to install the clock module on the adapter PCB is very easy. You have to drill some 1mm holes and glue the module top down with double sided tape on the PCB and solder 4 wires to connect it to J1 (That'​s the way i've done it myself). I will upload some photos later on. <​del>​The new PCB layout is already prepared for the added clock module. ​ I've dropped the layout, because there are too many different DS3231 PCB-Versions out there with different signal routing to the pin header. So, the 4…6 hand-drilled-hole-solution is the best. You can order a PCB batch (3 pcs.) if you want [[https://​aisler.net/​p/​LTRMQETA|here]]. + - Swiss-Pi Adapter PCB (I<​sup>​2 ​  C) with EEProm and I<​sup>​2 ​  C Clock (to install the clock module on the adapter PCB is very easy. You have to drill some 1mm holes and glue the module top down with double sided tape on the PCB and solder 4 wires to connect it to J1 (That'​s the way i've done it myself). I will upload some photos later on. <​del>​The new PCB layout is already prepared for the added clock module. ​ I've dropped the layout, because there are too many different DS3231 PCB-Versions out there with different signal routing to the pin header. So, the 4…6 hand-drilled-hole-solution is the best. Links to Modules are [[https://​www.ebay.de/​itm/​DS3231-RTC-Real-Time-Clock-Echtzeituhr-Modul-for-Arduino-Raspberry-Pi-I2C-CR1220/​274047768609?​hash=item3fce851821:​g:​DEIAAOSw2bRd5Mfn|here]] and [[https://​www.ebay.de/​itm/​RTC-DS3231-I2C-Echtzeituhr-AT24C32-Real-Time-Clock-Modul-Arduino-Raspberry-Pi/​253651685225?​hash=item3b0ed18f69:​g:​jAcAAOSwHORb4Yjp|here]],​ for example. You can order a PCB batch (3 pcs.) if you want [[https://​aisler.net/​p/​LTRMQETA|here]]. - PIO PCB. You can order a PCB batch (3 pcs.) if you want [[https://​aisler.net/​p/​FYSLIWOB|here]]. - PIO PCB. You can order a PCB batch (3 pcs.) if you want [[https://​aisler.net/​p/​FYSLIWOB|here]]. - - Joystick PCB. How to order ?, …not yet. I've just received the PCB's… + - Joystick PCB. You can order a PCB batch (3 pcs.) if you want [[https://​aisler.net/​p/​ZJBIMKRF|here]] - __**REMARK:​**__ ​ I do not stay in any relation to Aisler-PB, to offer a link to the PCB's is ONLY to simplified way to order them without using kiCAD or what else... You are free in any way to choose a different manufacturer for the PCB's. + __**REMARK:​**__ ​ I am in no relation to Aisler-B.V., to offer a link to the PCB's is ONLY a simplified way to order them without using kiCAD or what else… You are free in any way to choose a different manufacturer for the PCB's. + + ===== Helpful hints for assembling ===== + + __**Swiss-Pi Adapter: Adding a Clock Module**__ ​ \\ If it is intend to mount a DS3231 clock module on the PCB, drilling the holes at the right position is a concern. To get the appropriate hole spacing and position, prepare a small piece of a experimental board with 4 holes as shown in picture1, then glue it with double sided tape to the position you want to drill (check that the module doesn'​t collide with pin-header J1 and J2). The resistors R2 & R3 must be installed on the bottom side of the PCB and soldered on the TOP side later on when installing the other components and before you install the clock module ! + + If this is done you are ready to solder all parts on the PCB except the clock module. This comes as last. On the clock module the old pin header must be removed and replaced by a new vertical one installed on the TOP side where the DS3231 IC is located. Put a small piece of double sided tape on top of the DS3231 and glue the module on the PCB, the header pins must go through the holes ! Now everything is ready for the last step. The Picture shows how the pin header of the module has to be connected to J1. On the top left side is shown how the clock module with the new pin header is installed on the PCB. The shown wiring is only valid for the ECKSTEIN module on right hand side of picture1 ! + + __**Joystick-PCB:​ Preparing J5, R21/R2 for soldering first**__ ​ \\ R21/R22: Both resistors must be mounted on the bottom side of the PCB ! \\ See picture 1. Do this as your first step ! + + Preparing J5 Pin-Socket: I've used a 10×1 pin-socket from the Arduino Project for mounting stackable PCB's on a Pin-Header (There are 20×2 stackable Pin-Sockets from the Raspbery-Project too, may be that they have to be treated in the same way). When trying to plug them on J6 (on the Multicomp-Board) I've found out that they can't be mounted side-by-side. So some mechanical treatment was necessary. After doing this, check out that all pins are vertical aligned when plugged into the box-header on the Multicomp board (J6). Next serveral M3 Nylon Hex Spacer (length see picture2) and Nylon washers, M3x0.8mm thick, are needed. I bought a larger amount of them on ebay or AMAZON. They offer collections of different spacer types (male-female,​ female-female) and length for less money. Regarding the washers: I bought them from AMAZON PROTECH_STORE,​ "​PROTECH Large Polyamidwashers DIN 9021 M3 50 pcs.", see picture2 for installation. The Acrylic sheets are 3mm thick, color is green, but the chosen color is up to you… The outer dimensions are as the Multicomp PCB. The corner hole positions are marked by using the Multicomp PCB as a hole mask (drill: 3.5mm diameter). The Acrylic sheets are bought from AMAZON as 200x300mm^2 pre-cut parts. I've done the cut to Multicom-PCB dimensions by myself. Maybe that the chosen shop will cut it for you… + + After installing the 2 resistors on the joystick board install the washer and spacer as shown on picture2 to get the joystick board to the right level above the RS232 Dsub-9 connectors. Fiddle the pins from the sockets through the holes of J5 (Joystick-Board),​ then plug the socket into J6. Check their position in the box-header, then solder only one pin of each socket and check again. If everything is ok, solder all pins, then cut off the not needed length of the pins. + + __**Multicomp-PCB:​ installing the spacer for Acrylic sheets and ADD-On PCB'​s**__ ​ \\ Picture3 shows how to install the various spacer/​washer to get the right distance for mounting Swiss-Pi- & Joystick-PCB and the Acrylic sheets. + + __**PIO-Expansion PCB: TOP/BOTTOM installation of the PIO-Expansion Socket**__ ​ \\ Where to install this socket depends on what you want to have most on the TOP side of the Multicomp-PCB:​ Joysticks on TOP or 2nd PIO-Port. To remove the 40-pin box-header may become a hard job and may damage the through-hole plating ! From my point of view it's of higher value to installed Joystick-PCB on TOP (if the 2nd PIO-PCB is not needed, leave the PIO-Epansion socket uninstalled). In principal the Joystick-Interface is more a multipurpose hardware, because the four analog inputs are voltage-to-pwm converters that transform 0..5V to it's corresponding puls-width. Nothing else the 4 counter in the FPGA do when reading back the thumb-stick position (bandwidth is roughly 45Hz, so most "slow motion"​ things will work fine). It's a suggestion…,​ at the end it's up to you. + + ^Picture1:​^Picture2:​^Picture3:​| + |{{https://​www.retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​muellerk/​photos_swiss-pi-adapter_prep_clock-module_installation.jpg?​nolink&​200x167|www.retrobrewcomputers.org_lib_plugins_ckgedit_fckeditor_userfiles_image_builderpages_muellerk_photos_swiss-pi-adapter_prep_clock-module_installation.jpg}}|{{ ​ https://​retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​muellerk/​photos_joystick-pcb_installation_of_j5-pin-sockets_in_j6.jpg?​nolink&​200x167 ​ |Joystick-PCB Installation of J5-Pin-Sockets in J6}}|{{ ​ https://​retrobrewcomputers.org/​lib/​plugins/​ckgedit/​fckeditor/​userfiles/​image/​builderpages/​muellerk/​photos_joystick-pcb_spacer_and_washer_installation.jpg?​nolink&​200x167 ​ |Joystick-PCB Spacer and Washer installation}}| ===== VHDL Code ===== ===== VHDL Code ===== - Although the code is running without any known issues, I've to bring down the number of warnings. That might cause some minor changes in the VHDL Code, but the general line is defined. The GPIO Bus is statically set to '​out'​ := '​0'​. This will change in the future. The I2c, Mouse and Sound-Hardware is tested and operates as expected - as far as I can say at present. Nevertheless there might be some unexpected behavior. The I2C controller really needs some explaining words, if you want to know more, read the VHDL Code and follow the mentioned web-link in the header. The mouse-controller initializes the mouse for streaming-mode. More information can be found in the VHDL Code. The sound-channel has a special feature: It's possible to bypass the PSG's and write 8-bit data directly to the Sigma-Delta-DAC inputs. This can be used for DC-Output or to write data-streams directly to them. Again, read the VHDL Code for details/​port-addresses. + Although the code is running without any known issues, I've to bring down the number of warnings. That might cause some minor changes in the VHDL Code, but the general line is defined. The GPIO Bus is a 10-bit 2 port system with one 8-bit port (LOW) and a 2-bit port (HIGH). Single Input/​Output programming is possible. Two user-controllable LED's (use a open collector driver) are connected to the header to. They can be used as a feedback indicator. I used them for testing the GPIO-Port - very helpful ;-) The I2c, Mouse and Sound-Hardware is tested and operates as expected - as far as I can say at present. Nevertheless there might be some unexpected behavior. The I2C controller really needs some explaining words, if you want to know more (yet), read the VHDL Code and follow the mentioned web-link in the header. The mouse-controller initializes the mouse for streaming-mode. More information can be found in the VHDL Code. The sound-channel has a special feature: It's possible to bypass the PSG's and write 8-bit data directly to the Sigma-Delta-DAC inputs. This can be used for DC-Output or to write data-streams directly to them. Again, read the VHDL Code for details/​port-addresses. ===== Programming the VHDL Code ===== ===== Programming the VHDL Code ===== Line 51: Line 72: The Core-Board has only a jtag connector. That implies that only .sof files can easily be programed. If the code has to go to the EEPROM for permanent storage some extra steps are necessary each time you want to do this. How this can be achieved describes INTEL'​s "AN 370: Using the Intel FPGA Serial Flash Loader with the Intel Quartus Prime Software"​. I've extracted the relevant section and created a short "​Readme_Converting_.sof_to_.jic-Files.pdf"​ file which is easier to use and find. Follow these steps. The "​Output_files"​ folder in the Project Folder includes a "​Microcomputer.cof"​ file which is the Conversion-Setup for the conversion .sof → .jic. Read this in by clicking in the Selection-Box on "Open Conversion Setup-Data"​. This automates all needed settings. Next click on "​generate"​. In the programmer select "​Mikrocomputer.jic"​ for writing to the EEPROM. The Core-Board has only a jtag connector. That implies that only .sof files can easily be programed. If the code has to go to the EEPROM for permanent storage some extra steps are necessary each time you want to do this. How this can be achieved describes INTEL'​s "AN 370: Using the Intel FPGA Serial Flash Loader with the Intel Quartus Prime Software"​. I've extracted the relevant section and created a short "​Readme_Converting_.sof_to_.jic-Files.pdf"​ file which is easier to use and find. Follow these steps. The "​Output_files"​ folder in the Project Folder includes a "​Microcomputer.cof"​ file which is the Conversion-Setup for the conversion .sof → .jic. Read this in by clicking in the Selection-Box on "Open Conversion Setup-Data"​. This automates all needed settings. Next click on "​generate"​. In the programmer select "​Mikrocomputer.jic"​ for writing to the EEPROM. - ===== RSX-Software ​for new hardware parts ===== + ===== RSX-Software ===== - At present: nothing available. It'​s ​work in progress. + Now ready for Serial-A…-C and the I2c-Interface. Next stop is having a program to set/read the RTC. While the RSX for the I2c-Interface is ready now, but - that'​s ​life - the targeted (2nd) I2c-controller refuses to cooperate. Therefore I will put it aside for some time and give it a 2nd try later - may be.Yet I've to stay with the 1st one - what is no real drawback.. Max. transfer speed is 600kHz (for the RSX), so the usual used 100kHz & 400kHz are covered. I've updated the VHDL code, because 2 minor bugs came up when routing the '​BUSY'​ signal from the I2c-Controller to the Drive activity LED (LED0 on the FPGA board). So you should update the FPGA binary code. Both archives incl. the usual sources, the RSX, a ref-manual and a demo to show how to use the RSX-library. The archive '​rtc-1.0.tar.gz'​ includes no RSX, it offers 3 CPM3 console commands that handle time data transfers from the CPM3 system-clock to the RTC and vice vesa. The 3rd program displays the RTC-Time. More in the incl. Ref-Manual. + + {{filelist>​zserial-*.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​iwire-*.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​rtc-*.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}} ===== Board data ===== ===== Board data ===== - Due to the use of kiCAD5, the Schematic & PCB-Data can't be processed with kiCAD4, I haven'​t tried this but the files are not backward compatible, be warned ! Many things are different in Version 5 ! + Due to the use of kiCAD5, the Schematic & PCB-Data can't be processed with kiCAD4, I haven'​t tried this but the files are not backward compatible. Many things are different in Version 5 ! ===== Documentation ===== ===== Documentation ===== - At present: nothing available. It's work in progress. + All incl. in the presented archives. So have a closer look into them. ===== Picture Gallery ===== ===== Picture Gallery ===== + + More 3D pictures are incl. in the archives… {{gallery>?​photos_multicomp-july2019_3d-*.png&​0 }}{{gallery>?​photos_multicomp-july2019_3d-*.jpg&​0 }} {{gallery>?​photos_multicomp-july2019_3d-*.png&​0 }}{{gallery>?​photos_multicomp-july2019_3d-*.jpg&​0 }} Line 69: Line 94: ===== File Lists... ===== ===== File Lists... ===== - {{filelist>​multicomp*xgraph*0411.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​Multicomp-CycloneIV-July2019_VHDL.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​Docu_CycloneIV_EP4CE15-Core-Board.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​Docu_EP4CE15F23C8N_AliExpress.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.0_PIO-Extension.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.0_Swiss-Pi-Adapter.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.2_Main-PCB.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}} + __**Upload-History:​**__ + + 04.04.2020: Uploaded the I2c-RSX together with an updated version of the VHDL code that removes 2 minor bugs + + 08.04.2020: Uploaded a new I2c-RSX which removes a issue with Ack-Error detection in the I2cWrBuff() function & a ret-stack unbalance in I2cRdBuff() too + + 11.04.2020: Upload of the RTC-Package to support the DS3231 RTC module. + + 17.04.2020: Upload of new Picture1 with now right connection of SDA of DS3231-clock to J1/Pin10 + + 20.04.2020: Upload of new VHDL- & zserial-package. Added read back of BRG for Serial-D Wifi channel + + 18.05.2020: Upload new zserial package w. added new function '​ChkTTYinp'​ in C-code & RSX, minor corrections + update of Zserial Ref-Manual + + 21.05.2020: Upload of iwire-1.0 & rtc-1.0 archive with corrected iwire.rsx. Function '​I2c_CpyBuff'​ had a bug regarding return on byte-cnt = 0 + + {{filelist>​multicomp*xgraph*0411.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​Multicomp-CycloneIV-July2019_VHDL.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​Docu_CycloneIV_EP4CE15-Core-Board.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​Docu_EP4CE15F23C8N_AliExpress.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.0_PIO-Extension.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.0_Swiss-Pi-Adapter.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.0_Joystick-Board.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}}{{filelist>​kiCAD-5.0.2_Multicomp-July-2019_V1.2_Main-Board.tar.gz&​style=table&​tableheader=1&​tableshowdate=1&​tableshowsize=1}} + + \\