Skip to content

Commit

Permalink
Tm60k (#22)
Browse files Browse the repository at this point in the history
  • Loading branch information
vossstef authored Dec 1, 2024
1 parent 247d6c0 commit 6a2f5e1
Show file tree
Hide file tree
Showing 61 changed files with 6,229 additions and 2,204 deletions.
Binary file added .assets/ds2_m0s_pmod_tm138kpro.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed .assets/m0s_pmod_tm138k.jpg
Binary file not shown.
Binary file added .assets/mega60k.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .assets/sdram_mod.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,4 @@ simulation/sim/**
simulation/transcript
!impl/pnr/device.cfg
*.user
impl/pnr/device.cfg
71 changes: 44 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ The VIC20Nano is a port of some [MiST](https://github.com/mist-devel/mist-board/
| [Tang Nano 20k](https://wiki.sipeed.com/nano20k) | [GW2AR](https://www.gowinsemi.com/en/product/detail/38/) | X |- |
| [Tang Primer 20K with Dock ext Board](https://wiki.sipeed.com/hardware/en/tang/tang-primer-20k/primer-20k.html)| [GW2A](https://www.gowinsemi.com/en/product/detail/46/)| X |- |
| [Tang Primer 25K](https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html) | [GW5A-25](https://www.gowinsemi.com/en/product/detail/60/) | X |no Dualshock 2, no Retro DB9 Joystick |
| [Tang Mega 60k](https://wiki.sipeed.com/hardware/en/tang/tang-mega-60k/mega-60k.html)|[GW5AT-60](https://www.gowinsemi.com/en/product/detail/60/)| planned |- |
| [Tang Mega 138k Pro](https://wiki.sipeed.com/hardware/en/tang/tang-mega-138k/mega-138k-pro.html)|[GW5AST-138](https://www.gowinsemi.com/en/product/detail/60/) | X |- |
| [Tang Mega 60k NEO](https://wiki.sipeed.com/hardware/en/tang/tang-mega-60k/mega-60k.html)|[GW5AT-60](https://www.gowinsemi.com/en/product/detail/60/)| X |dual Dualshock, selectable |
| [Tang Mega 138k Pro](https://wiki.sipeed.com/hardware/en/tang/tang-mega-138k/mega-138k-pro.html)|[GW5AST-138](https://www.gowinsemi.com/en/product/detail/60/) | X |dual Dualshock, selectable |

<br>

Expand Down Expand Up @@ -40,6 +40,7 @@ Features:
* On Screen Display (OSD) for configuration and D64 image selection<br>
* 3K, 8K, 16K, 24K, 32K RAM Expansion (35k with cardtridge RAM)<br>
* 8K RAM at $A000 as loadable Cartridge Slot<br>
* RS232 Serial Interface [VIC-1011](http://www.zimmers.net/cbmpics/xother.html) to Tang onboard USB-C serial port.
<br>
<img src="./.assets/vic20nano.png" alt="image" width="80%" height="auto">
<br>
Expand All @@ -52,15 +53,18 @@ HID interfaces aligned in pinmap and control to match [MiSTeryNano project's mis
The installation of VIC20 Nano on the Tang Nano 20k board can be done using a Linux PC or a Windows PC
[Instruction](INSTALLATION_WINDOWS.md).<br>

## VIC20Nano on Tang Primer 25K
See [Tang Primer 25K](TANG_PRIMER_25K.md)
## VIC20Nano on Tang Nano 9K
See [Tang Primer 9K](TANG_NANO_9K.md)

## VIC20Nano on Tang Primer 20K (Dock ext board)
See [Tang Primer 20K](TANG_PRIMER_20K.md)<br>
The DDR3 memory controller is a slight modified copy of [nestang](https://github.com/nand2mario/nestang). It had been tested on a board eqipped with a SKHynix DDR3 memory and is used as a buffer for the TAP Tape loading.

## VIC20Nano on Tang Nano 9K
See [Tang Primer 9K](TANG_NANO_9K.md)
## VIC20Nano on Tang Primer 25K
See [Tang Primer 25K](TANG_PRIMER_25K.md). PMOD TF-CARD V2 is required !

## VIC20Nano on Tang Mega 60k NEO
See [Tang Mega 60K NEO](TANG_MEGA_60K.md)

## VIC20Nano on Tang Mega 138K Pro
See [Tang Mega 138K Pro](TANG_MEGA_138K.md)
Expand Down Expand Up @@ -158,9 +162,13 @@ The core will after power cycle/ cold-boot start downloading the images on the s
> [!NOTE]
(1) BIN Kernal, (2) CRT ROM, (3) PRG Basic.<br>
## Push Button utilization
* (TN20k/ TP25k): **S2** keep pressed during power-up to prevent FPGA bitstream load from FLASH. Needed for FLASH programming.<br>
* (TP20k): There is by default unfortunately no Button/Switch to prevent FPGA bitstream load from FLASH (see rework how to add).
## Push Button / DIP Switch utilization
* Nano 20k S2 keep pressed during power-up for FLASH programming of FPGA bitstream<br>
* Primer 20k: There is by default unfortunately no Button/Switch to prevent FPGA bitstream load from FLASH (see rework how to add).
* Mega 60k NEO ```SW1 ON``` ```SW6 ON``` + Press & **Hold** ```RECONFIG``` + Power the Board + release ```RECONFIG``` and perform programming.
> [!CAUTION]
A FLASH programm attempt without keeping the board in reset may lead to corruption of the C1541 DOS images stored in FLASH requiring re-programming.


* **S1** reserved <br>

Expand Down Expand Up @@ -220,22 +228,27 @@ Button **1 / 2** as Trigger<br>

## LED UI

| LED | function | TN20K | TP20K | TP25K | TM138K |TN9k|
| --- | - | - |- | - | - |-|
| 0 | c1541 activity | x |x | x | x |N/A|
| 1 | D64 selected | x |x | - | x |x|
| 2 | CRT seleced | x |x | - | x |x|
| 3 | PRG selected | x |x | - | x |x|
| 4 | Kernal selected |x |x | - | x |x|
| 5 | TAP selected | x |x | - | x |N/A|
| LED | function | TN20K | TP20K | TP25K |TM60k |TM138K |TN9k|
| --- | - | - |- | - |x done |- |-|
| 0 | c1541 activity | x |x | x |x ready |x |N/A|
| 1 | D64 selected | x |x | - |- |x |x|
| 2 | CRT seleced | x |x | - |- |x |x|
| 3 | PRG selected | x |x | - |- |x |x|
| 4 | Kernal selected |x |x | - |- |x |x|
| 5 | TAP selected | x |x | - |- |x |N/A|

Solid **<font color="red">red</font>** of the c1541 led after power-up indicates a missing DOS in Flash<br>

**Multicolor RGB LED**
* **<font color="green">green</font>**&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;all fine and ready to go<br>
* **<font color="red">red</font>**&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;something wrong with SDcard / default boot image<br>
* **<font color="blue">blue</font>**&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;µC firmware detected valid FPGA core<br>
* **<font color="yellow">yellow</font>**&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;FPGA core can't detect valid firmware<br>
* **white**&ensp;&thinsp;&ensp;&thinsp;&ensp;&thinsp;-<br>
## RS232 Serial Interface
The Tang onboard USB-C serial port can be used for communication with the Userport Serial port [VIC-1011](http://www.zimmers.net/cbmpics/xother.html).<br>
Terminal programs need the Kernal serial routines therefore select via OSD the CBM Kernal.<br> For a first start use 1200Baud and a Terminal program like [VIC term](https://github.com/sblendorio/victerm300) and on the PC side [Putty](https://www.putty.org).<br>

## Powering
Prototype circuit with Keyboard can be powered by Tang USB-C connector from PC or a Power Supply Adapter.
## Synthesis
Expand Down Expand Up @@ -287,28 +300,32 @@ In order to use this Design the following things are needed:
[Sipeed Tang Nano 20k](https://wiki.sipeed.com/nano20k) <br>
or [Sipeed Tang Primer 25k](https://wiki.sipeed.com/hardware/en/tang/tang-primer-25k/primer-25k.html)<br>
and [PMOD DVI](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_DVI)<br>
and [PMOD TF-CARD](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_TF-CARD)<br>
and [PMOD SDRAM](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM)<br>
and [PMOD TF-CARD V2](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_TF-CARD)<br>
and [SDRAM](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM)<br>
and [M0S PMOD adapter](https://github.com/harbaum/MiSTeryNano/tree/main/board/m0s_pmod/README.md)
or ad hoc wiring + soldering.<br>
or [Tang Primer 20K with Dock ext Board](https://wiki.sipeed.com/hardware/en/tang/tang-primer-20k/primer-20k.html)<br>
and [M0S PMOD adapter](https://github.com/harbaum/MiSTeryNano/tree/main/board/m0s_pmod/README.md).<br>
and [PMOD DS2x2](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_DS2x2)<br>
or [Tang Nano 9K](https://wiki.sipeed.com/hardware/en/tang/Tang-Nano-9K/Nano-9K.html)<br>
or [Sipeed Tang Mega 138k Pro](https://wiki.sipeed.com/hardware/en/tang/tang-mega-138k/mega-138k-pro.html)<br>
and [PMOD SDRAM](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM)<br>
and [SDRAM](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM)<br>
and [PMOD DS2x2](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_DS2x2)<br>
and [M0S PMOD adapter](https://github.com/harbaum/MiSTeryNano/tree/main/board/m0s_pmod/README.md)<br>
or [Tang Mega 60K NEO](https://wiki.sipeed.com/hardware/en/tang/tang-mega-60k/mega-60k.html)<br>
and [SDRAM](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM)<br>
and [PMOD DS2x2](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_DS2x2)<br>
and [M0S PMOD adapter](https://github.com/harbaum/MiSTeryNano/tree/main/board/m0s_pmod/README.md)<br>

microSD or microSDHC card FAT/exFAT formatted<br>
TFT Monitor with HDMI Input and Speaker<br>
<br>

| HID and Gamecontrol Hardware option | needs | alternative option |Primer 25K|Mega 138K|Primer 20K|
| ----------- | --- |--- | --- | ---| -|
| USB Keyboard | [USB-C to USB-A adapter](https://www.aliexpress.us/item/3256805563910755.html) | [4 port mini USB hub](https://a.aliexpress.com/_EIidgjH) |x|x|x|
| [USB Joystick(s)](https://www.speedlink.com/en/COMPETITION-PRO-EXTRA-USB-Joystick-black-red/SL-650212-BKRD)| [4 port mini USB hub](https://a.aliexpress.com/_EIidgjH) | - |x|x|x|
| USB Mouse | [4 port mini USB hub](https://a.aliexpress.com/_EIidgjH) | - |x|x|x|
| HID and Gamecontrol Hardware option | TN20k needs | alternative option |Primer 25K|Mega 60K|Mega 138K|
| ----------- | --- | --- | --- | - | - |
| USB Keyboard | [USB-C to USB-A adapter](https://www.aliexpress.us/item/3256805563910755.html) | [4 port mini USB hub HS8836A](https://a.aliexpress.com/_EIidgjH) |x|x|x|
| [USB Joystick(s)](https://www.speedlink.com/en/COMPETITION-PRO-EXTRA-USB-Joystick-black-red/SL-650212-BKRD)| [4 port mini USB hub HS8836A](https://a.aliexpress.com/_EIidgjH) | - |x|x|x|
| USB Mouse | [4 port mini USB hub HS8836A](https://a.aliexpress.com/_EIidgjH) | - |x|x|x|
| USB Gamepad |[4 port mini USB hub HS8836A](https://a.aliexpress.com/_EIidgjH) | - |x|x|x|
| Commodore/[Atari](https://en.wikipedia.org/wiki/Atari_CX40_joystick) compatible retro D9 Joystick| [MiSTeryNano shield](https://github.com/harbaum/MiSTeryNano/tree/main/board/misteryshield20k/README.md)|D-SUB 9 M connector, breadboard to wire everything up, some jumper wires|-|-|-|
| [Dualshock 2 Controller Gamepad](https://en.wikipedia.org/wiki/DualShock) | Gamepad Adapter Board (Sipeed Joystick to DIP) | breadboard to wire everything up and some jumper wires |-|x|x|
| Commodore/[Atari](https://en.wikipedia.org/wiki/Atari_CX40_joystick) compatible retro D9 Joystick| [MiSTeryNano shield](https://github.com/harbaum/MiSTeryNano/tree/main/board/misteryshield20k/README.md)|D-SUB 9 M connector, breadboard to wire everything up, some jumper wires|-|adhoc SDRAM1 Joy D9|adhoc PMOD Joy D9|
| [Dualshock 2 Controller Gamepad](https://en.wikipedia.org/wiki/DualShock) | Gamepad Adapter Board (Sipeed Joystick to DIP) respectively<br> PMOD DS2x2 | breadboard to wire everything up and some jumper wires |-|PMOD DS2x2|PMOD DS2x2|
2 changes: 1 addition & 1 deletion TANG_MEGA_138K.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ middle PMOD with the help of the [M0S PMOD adapter](board/m0s_pmod).

The whole setup will look like this:

![MiSTeryNano on TM138K](./.assets/m0s_pmod_tm138k.jpg)
![MiSTeryNano on TM138K](./.assets/ds2_m0s_pmod_tm138kpro.png)

The firmware for the M0S Dock is the [same version as for the Tang
Nano 20K](firmware/misterynano_fw/).
Expand Down
54 changes: 54 additions & 0 deletions TANG_MEGA_60K.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# VIC20Nano on Tang Mega 60K NEO

VIC20Nano can be used in the [Tang Mega 60K NEO](https://wiki.sipeed.com/hardware/en/tang/tang-mega-60k/mega-60k.html).

Besides the significantly bigger FPGA over the Tang Nano 20K, the Tang Mega 60K adds several more features of
which some can be used in the area of retro computing as well.

Although the Tang Mega 60K comes with a significant ammount of
DDR3-SDRAM, it also comes with a slot for the [Tang
SDRAM](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM). Using this board allows to use the same SDR-SDRAM memory access methods.<br>

The M0S required to control the VIC20Nano is to be mounted in the
**right PMOD** close to the HDMI connector with the help of the [M0S PMOD adapter](board/m0s_pmod).

Plug the optional Dualshock [DS2x2](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#PMOD_DS2x2) Interface into the **edge PMOD** slot.<br>

The **SDRAM 1** slot is allocated for a digital retro Joystick interface.
A 40 pole 2.54mm pinheader need to be soldered into the Meag 60k NEO.
An 40 pole receptable to be used connecting the 7 signals to the D9 connector.
> [!WARNING]
> Joystick interface is 3.3V tolerant and therefore the Joystick 5V supply pin has to be left floating when no level shifters are in use!<br>
|Bus|Signal | D9 |40-pol| Name |FPGA pin |
| - |------ |------| ---- |----------| ------- |
| 0 | Button 0 | 6 | 36 |SDRAM1_A10| U17 |
| 1 | Down | 2 | 35 |SDRAM1_BA1| U18 |
| 2 | Up | 1 | 10 |SDRAM1_D14| V17 |
| 3 | Right | 4 | 9 |SDRAM1_D15| W17 |
| 4 | Left | 3 | 32 |SDRAM1_RAS| Y18 |
| 5 |Button 1 X| 9 | 31 |SDRAM1_CAS| Y19 |
| - |POT Y | 5 | - | | n.c. |
| - | GND | - | 12 |GND | GND |
| - | +5V |!!! n.c.|11 | | n.c. |

The whole setup will look like this:

![MiSTeryNano on TM60K NEO](./.assets/mega60k.png)

The firmware for the M0S Dock is the [same version as for the Tang
Nano 20K](firmware/misterynano_fw/).

On the software side the setup is very simuilar to the original Tang Nano 20K based solution. The core needs to be built specifically
for the different FPGA of the Tang Primer using either the [TCL script with the GoWin command line interface](build_tm60k.tcl) or the
[project file for the graphical GoWin IDE](vic20nano_tm60k.gprj). The resulting bitstream is flashed to the TM60K as usual needing latest Gowin Programmer GUI 1.9.10.03 or newer.


**HW modification**
[Tang SDRAM Module](https://wiki.sipeed.com/hardware/en/tang/tang-PMOD/FPGA_PMOD.html#TANG_SDRAM) V1.2 modification to fit on the TM60k NEO dock.<br>
The capacitors are a bit too lange and touching the 60k FPGA plug-module.
Use duct tape to cover the capacitors avoiding shortcuts or unsolder three that are blocking.
There is a also newer Version 1.3 of the TANG_SDRAM available (90° angle) that likely fit.
![parts](./.assets/sdram_mod.png)


10 changes: 10 additions & 0 deletions build_all.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

rm -f impl/pnr/*.fs

grc --config=gw_sh.grc gw_sh ./build_tm138k.tcl
grc --config=gw_sh.grc gw_sh ./build_tm60k.tcl
grc --config=gw_sh.grc gw_sh ./build_tp25k.tcl
grc --config=gw_sh.grc gw_sh ./build_tn20k.tcl
grc --config=gw_sh.grc gw_sh ./build_tp20k.tcl
grc --config=gw_sh.grc gw_sh ./build_tn9k.tcl
4 changes: 2 additions & 2 deletions build_tm138k.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ add_file src/loader_sd_card.sv
add_file src/c1530.vhd
add_file src/fifo_sc_hs/FIFO_SC_HS_Top_gw5a.vhd
add_file src/core_timer.vhd
add_file src/megacart.v

set_option -synthesis_tool gowinsynthesis
set_option -output_base_name vic20nano_tm138k
Expand All @@ -75,10 +76,9 @@ set_option -use_sspi_as_gpio 1
set_option -use_done_as_gpio 1
set_option -use_cpu_as_gpio 1
set_option -use_ready_as_gpio 1
set_option -print_all_synthesis_warning 0
set_option -rw_check_on_ram 0
set_option -user_code 00000001
set_option -bit_security 0
set_option -bit_compress 1

#run syn
run all
88 changes: 88 additions & 0 deletions build_tm60k.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
set_device GW5AT-LV60PG484AC1/I0 -device_version B

add_file src/c1541/mist_sd_card.sv
add_file src/dualshock2.v
add_file src/gowin_dpb/gowin_dpb_track_buffer_b.v
add_file src/gowin_dpb/gowin_dpb_trkbuf.v
add_file src/gowin_dpb/sector_dpram.v
add_file src/hdmi/audio_clock_regeneration_packet.sv
add_file src/hdmi/audio_info_frame.sv
add_file src/hdmi/audio_sample_packet.sv
add_file src/hdmi/auxiliary_video_information_info_frame.sv
add_file src/hdmi/hdmi.sv
add_file src/hdmi/packet_assembler.sv
add_file src/hdmi/packet_picker.sv
add_file src/hdmi/serializer.sv
add_file src/hdmi/source_product_description_info_frame.sv
add_file src/hdmi/tmds_channel.sv
add_file src/misc/flash_dspi.v
add_file src/misc/hid.v
add_file src/misc/mcu_spi.v
add_file src/misc/osd_u8g2.v
add_file src/misc/scandoubler.v
add_file src/misc/sd_card.v
add_file src/misc/sd_rw.v
add_file src/misc/sdcmd_ctrl.v
add_file src/misc/sysctrl.v
add_file src/misc/video.v
add_file src/misc/video_analyzer.v
add_file src/misc/ws2812.v
add_file src/sdram.v
add_file src/c1541/c1541_logic.vhd
add_file src/c1541/c1541_sd.vhd
add_file src/c1541/gcr_floppy.vhd
add_file src/c1541/via6522.vhd
add_file src/gowin_dpb/gowin_dpb_1k.vhd
add_file src/gowin_dpb/gowin_dpb_1k_x4.vhd
add_file src/gowin_dpb/gowin_dpb_2k.vhd
add_file src/gowin_dpb/gowin_dpb_8k.vhd
add_file src/gowin_prom/gowin_prom_basic.vhd
add_file src/gowin_prom/gowin_prom_char.vhd
add_file src/gowin_sdpb/gowin_sdpb_kernal_8k_gw5a.vhd
add_file src/gowin_sp/gowin_sp_2k.vhd
add_file src/gowin_sp/gowin_sp_8k.vhd
add_file src/m6522.vhd
add_file src/m6561.vhd
add_file src/ram_conf_1024x4.vhd
add_file src/ram_conf_1024x8.vhd
add_file src/ram_conf_2048x8.vhd
add_file src/ram_conf_8192x8.vhd
add_file src/t65/T65.vhd
add_file src/t65/T65_ALU.vhd
add_file src/t65/T65_MCode.vhd
add_file src/t65/T65_Pack.vhd
add_file src/vic20_tp25k.vhd
add_file src/vic20_clocks.vhd
add_file src/vic20_keyboard.vhd
add_file src/gowin_pll/gowin_pll_60k_flash.vhd
add_file src/gowin_pll/gowin_pll_60k_ntsc.vhd
add_file src/gowin_pll/gowin_pll_60k_pal.vhd
add_file src/tang/mega60k/vic20nano_top_tm60k.vhd
add_file src/tang/mega60k/vic20nano_top_tm60k.cst
add_file src/tang/mega60k/vic20nano_top_tm60k.sdc
add_file src/loader_sd_card.sv
add_file src/c1530.vhd
add_file src/fifo_sc_hs/FIFO_SC_HS_Top_gw5a.vhd
add_file src/core_timer.vhd
add_file src/megacart.v

set_option -synthesis_tool gowinsynthesis
set_option -output_base_name vic20nano_tm60k
set_option -verilog_std sysv2017
set_option -vhdl_std vhd2008
set_option -top_module VIC20_TOP_tm60k
set_option -use_mspi_as_gpio 1
set_option -use_sspi_as_gpio 1
set_option -use_done_as_gpio 1
set_option -use_cpu_as_gpio 1
set_option -use_ready_as_gpio 1
set_option -use_sspi_as_gpio 1
set_option -use_i2c_as_gpio 1
set_option -rw_check_on_ram 0
set_option -user_code 00000001
set_option -bit_compress 1
set_option -vccx 1.8
set_option -vcc 0.9

#run syn
run all
3 changes: 1 addition & 2 deletions build_tn20k.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ add_file src/loader_sd_card.sv
add_file src/c1530.vhd
add_file src/fifo_sc_hs/fifo_sc_hs.vhd
add_file src/core_timer.vhd
add_file src/megacart.v

set_option -synthesis_tool gowinsynthesis
set_option -output_base_name vic20nano_tn20k
Expand All @@ -69,10 +70,8 @@ set_option -vhdl_std vhd2008
set_option -top_module VIC20_TOP
set_option -use_mspi_as_gpio 1
set_option -use_sspi_as_gpio 1
set_option -print_all_synthesis_warning 1
set_option -rw_check_on_ram 0
set_option -user_code 00000001
set_option -bit_security 0

#run syn
run all
3 changes: 1 addition & 2 deletions build_tn9k.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ add_file src/tang/nano9k/vic20nano_top_tn9k.vhd
add_file src/tang/nano9k/vic20nano_top_tn9k.cst
add_file src/tang/nano9k/vic20nano_top_tn9k.sdc
add_file src/loader_sd_card.sv
add_file src/megacart.v

set_option -synthesis_tool gowinsynthesis
set_option -output_base_name vic20nano_tn9k
Expand All @@ -60,10 +61,8 @@ set_option -vhdl_std vhd2008
set_option -top_module VIC20_TOP
set_option -use_mspi_as_gpio 1
set_option -use_sspi_as_gpio 1
set_option -print_all_synthesis_warning 1
set_option -rw_check_on_ram 0
set_option -user_code 00000001
set_option -bit_security 0

#run syn
run all
4 changes: 1 addition & 3 deletions build_tp20k.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ add_file src/tang/primer20k/memtest.sv
add_file src/tang/primer20k/memory_controller.v
add_file src/tang/primer20k/ddr3_controller.v
add_file src/tang/primer20k/ddr3_tester.v
add_file src/megacart.v

set_option -synthesis_tool gowinsynthesis
set_option -output_base_name vic20nano_tp20k
Expand All @@ -74,11 +75,8 @@ set_option -use_mspi_as_gpio 1
set_option -use_sspi_as_gpio 1
set_option -use_ready_as_gpio 1
set_option -use_done_as_gpio 1
set_option -print_all_synthesis_warning 1
set_option -show_all_warn 0
set_option -rw_check_on_ram 0
set_option -user_code 00000001
set_option -bit_security 0

#run syn
run all
Loading

0 comments on commit 6a2f5e1

Please sign in to comment.