diff --git a/cores/MasterSystem/make.bat b/cores/MasterSystem/make.bat index 7e66ca5..de58ae2 100644 --- a/cores/MasterSystem/make.bat +++ b/cores/MasterSystem/make.bat @@ -1,8 +1,8 @@ SET machine=sms_rgb SET ruta_ucf=src\sms_rgb SET ruta_bat=..\ -call ..\genxst.bat -call ..\generar.bat v2 -call ..\generar.bat v3 -call ..\generar.bat v4 -call ..\generar.bat Ap +call %ruta_bat%genxst.bat +call %ruta_bat%generar.bat v2 +call %ruta_bat%generar.bat v3 +call %ruta_bat%generar.bat v4 +call %ruta_bat%generar.bat Ap diff --git a/cores/NES/xilinx/NES_ZXUNO.xise b/cores/NES/xilinx/NES_ZXUNO.xise deleted file mode 100644 index 6f32326..0000000 --- a/cores/NES/xilinx/NES_ZXUNO.xise +++ /dev/null @@ -1,474 +0,0 @@ - - - -
- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/cores/NES/xilinx/make.bat b/cores/NES/xilinx/make.bat new file mode 100644 index 0000000..5a7501a --- /dev/null +++ b/cores/NES/xilinx/make.bat @@ -0,0 +1,8 @@ +SET machine=NES_ZXUNO +SET ruta_ucf=..\src\nes +SET ruta_bat=..\..\ +call %ruta_bat%genxst.bat +call %ruta_bat%generar.bat v2 +call %ruta_bat%generar.bat v3 +call %ruta_bat%generar.bat v4 +call %ruta_bat%generar.bat Ap diff --git a/cores/SamCoupe/SamCoupe_zxuno_v2.ucf b/cores/SamCoupe/SamCoupe_zxuno_v2.ucf index 66fd161..a2d927a 100644 --- a/cores/SamCoupe/SamCoupe_zxuno_v2.ucf +++ b/cores/SamCoupe/SamCoupe_zxuno_v2.ucf @@ -1,6 +1,6 @@ # Clocks & debug NET "clk50mhz" LOC="P55" | IOSTANDARD = LVCMOS33 | PERIOD=20.0ns; -NET "testled" LOC="P10" | IOSTANDARD = LVCMOS33; +#NET "testled" LOC="P10" | IOSTANDARD = LVCMOS33; # Video output NET "r<2>" LOC="P93" | IOSTANDARD = LVCMOS33; diff --git a/cores/SamCoupe/SamCoupe_zxuno_v3.ucf b/cores/SamCoupe/SamCoupe_zxuno_v3.ucf index 6e7b14c..679a83e 100644 --- a/cores/SamCoupe/SamCoupe_zxuno_v3.ucf +++ b/cores/SamCoupe/SamCoupe_zxuno_v3.ucf @@ -1,6 +1,6 @@ # Clocks & debug NET "clk50mhz" LOC="P55" | IOSTANDARD = LVCMOS33 | PERIOD=20.0ns; -NET "testled" LOC="P10" | IOSTANDARD = LVCMOS33; +#NET "testled" LOC="P10" | IOSTANDARD = LVCMOS33; # Video output NET "r<2>" LOC="P93" | IOSTANDARD = LVCMOS33; diff --git a/cores/SamCoupe/SamCoupe_zxuno_v4.ucf b/cores/SamCoupe/SamCoupe_zxuno_v4.ucf index bdbc0ec..4daa913 100644 --- a/cores/SamCoupe/SamCoupe_zxuno_v4.ucf +++ b/cores/SamCoupe/SamCoupe_zxuno_v4.ucf @@ -1,6 +1,6 @@ # Clocks & debug NET "clk50mhz" LOC="P55" | IOSTANDARD = LVCMOS33 | PERIOD=20.0ns; -NET "testled" LOC="P11" | IOSTANDARD = LVCMOS33; +#NET "testled" LOC="P11" | IOSTANDARD = LVCMOS33; # Video output NET "r<2>" LOC="P81" | IOSTANDARD = LVCMOS33; diff --git a/cores/VIC20/ise/VIC-20.xise b/cores/VIC20/ise/VIC-20.xise deleted file mode 100644 index bf9609e..0000000 --- a/cores/VIC20/ise/VIC-20.xise +++ /dev/null @@ -1,436 +0,0 @@ - - - -
- - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/cores/VIC20/ise/VIC20.prj b/cores/VIC20/ise/VIC20.prj new file mode 100644 index 0000000..d637632 --- /dev/null +++ b/cores/VIC20/ise/VIC20.prj @@ -0,0 +1,17 @@ +vhdl work "../source/T65_Pack.vhd" +vhdl work "../source/T65_MCode.vhd" +vhdl work "../source/T65_ALU.vhd" +vhdl work "../source/ps2kbd.vhd" +vhdl work "../source/vic20_vic.vhd" +vhdl work "../source/vic20_rams.vhd" +vhdl work "../source/vic20_ram.vhd" +vhdl work "../source/vic20_ps2_if.vhd" +vhdl work "../source/vic20_dblscan.vhd" +vhdl work "../source/vic20_clocks_xilinx.vhd" +vhdl work "../source/T65.vhd" +vhdl work "../source/roms/vic20_kernal.vhd" +vhdl work "../source/roms/vic20_chars.vhd" +vhdl work "../source/roms/vic20_basic.vhd" +vhdl work "../source/m6522.vhd" +vhdl work "../source/dac.vhd" +vhdl work "../source/vic20.vhd" diff --git a/cores/VIC20/ise/VIC20.ut b/cores/VIC20/ise/VIC20.ut new file mode 100644 index 0000000..dfd4060 --- /dev/null +++ b/cores/VIC20/ise/VIC20.ut @@ -0,0 +1,30 @@ +-w +-g Binary:no +-g Compress +-g CRC:Enable +-g Reset_on_err:No +-g ConfigRate:2 +-g ProgPin:PullUp +-g TckPin:PullUp +-g TdiPin:PullUp +-g TdoPin:PullUp +-g TmsPin:PullUp +-g UnusedPin:PullDown +-g UserID:0xFFFFFFFF +-g ExtMasterCclk_en:No +-g SPI_buswidth:1 +-g TIMER_CFG:0xFFFF +-g multipin_wakeup:No +-g StartUpClk:CClk +-g DONE_cycle:4 +-g GTS_cycle:5 +-g GWE_cycle:6 +-g LCK_cycle:NoWait +-g Security:None +-g DonePipe:Yes +-g DriveDone:No +-g en_sw_gsr:No +-g drive_awake:No +-g sw_clk:Startupclk +-g sw_gwe_cycle:5 +-g sw_gts_cycle:4 diff --git a/cores/VIC20/ise/VIC20.xst b/cores/VIC20/ise/VIC20.xst new file mode 100644 index 0000000..f170ef0 --- /dev/null +++ b/cores/VIC20/ise/VIC20.xst @@ -0,0 +1,52 @@ +set -tmpdir "projnav.tmp" +set -xsthdpdir "xst" +run +-ifn VIC20.prj +-ofn VIC20 +-ofmt NGC +-p xc6slx9-3-tqg144 +-top VIC20 +-opt_mode Speed +-opt_level 1 +-power NO +-iuc NO +-keep_hierarchy No +-netlist_hierarchy As_Optimized +-rtlview Yes +-glob_opt AllClockNets +-read_cores YES +-write_timing_constraints NO +-cross_clock_analysis NO +-hierarchy_separator / +-bus_delimiter <> +-case Maintain +-slice_utilization_ratio 100 +-bram_utilization_ratio 100 +-dsp_utilization_ratio 100 +-lc Auto +-reduce_control_sets Auto +-fsm_extract YES -fsm_encoding Auto +-safe_implementation No +-fsm_style LUT +-ram_extract Yes +-ram_style Auto +-rom_extract Yes +-shreg_extract YES +-rom_style Auto +-auto_bram_packing NO +-resource_sharing YES +-async_to_sync NO +-shreg_min_size 2 +-use_dsp48 Auto +-iobuf YES +-max_fanout 100000 +-bufg 16 +-register_duplication YES +-register_balancing No +-optimize_primitives NO +-use_clock_enable Auto +-use_sync_set Auto +-use_sync_reset Auto +-iob Auto +-equivalent_register_removal YES +-slice_utilization_ratio_maxmargin 5 diff --git a/cores/VIC20/ise/make.bat b/cores/VIC20/ise/make.bat new file mode 100644 index 0000000..cbe3bec --- /dev/null +++ b/cores/VIC20/ise/make.bat @@ -0,0 +1,7 @@ +SET machine=VIC20 +SET ruta_ucf=..\source\vic20 +SET ruta_bat=..\..\ +call %ruta_bat%genxst.bat +call %ruta_bat%generar.bat v2_v3 +call %ruta_bat%generar.bat v4 +call %ruta_bat%generar.bat Ap diff --git a/cores/VIC20/ise/vic20.bit b/cores/VIC20/ise/vic20.bit deleted file mode 100644 index c02f0a4..0000000 Binary files a/cores/VIC20/ise/vic20.bit and /dev/null differ diff --git a/cores/VIC20/source/vic20_zxuno.ucf b/cores/VIC20/source/vic20_zxuno.ucf deleted file mode 100644 index 6c48d0c..0000000 --- a/cores/VIC20/source/vic20_zxuno.ucf +++ /dev/null @@ -1,33 +0,0 @@ -#UCF for ZX-UNO - -NET I_CLK_REF TNM_NET = clk_ref_grp; -TIMESPEC TS01 = PERIOD : clk_ref_grp : 20.00 : PRIORITY 1; # 50.00 MHz - -NET I_PS2_CLK LOC = "P98" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ; -NET I_PS2_DATA LOC = "P97" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ; - -NET O_HSYNC LOC = "P87" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VSYNC LOC = "P85" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; - -NET O_VIDEO_B(2) LOC = "P81" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VIDEO_B(1) LOC = "P80" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VIDEO_B(0) LOC = "P79" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; - -NET O_VIDEO_G(2) LOC = "P84" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VIDEO_G(1) LOC = "P83" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VIDEO_G(0) LOC = "P82" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; - -NET O_VIDEO_R(2) LOC = "P93" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VIDEO_R(1) LOC = "P92" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; -NET O_VIDEO_R(0) LOC = "P88" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; - - -NET I_RESET LOC = "P51" | IOSTANDARD = LVCMOS33; -NET I_CLK_REF LOC = "P55" | IOSTANDARD = LVCMOS33; - -NET O_AUDIO_L LOC = "P8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; -NET O_AUDIO_R LOC = "P9" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; - - -NET O_NTSC LOC = "P67" | IOSTANDARD = LVCMOS33; -NET O_PAL LOC = "P66" | IOSTANDARD = LVCMOS33; diff --git a/cores/VIC20/source/vic20_zxuno_Ap.ucf b/cores/VIC20/source/vic20_zxuno_Ap.ucf new file mode 100644 index 0000000..41a92b5 --- /dev/null +++ b/cores/VIC20/source/vic20_zxuno_Ap.ucf @@ -0,0 +1,92 @@ +# Clocks & debug +NET I_CLK_REF LOC="P55" | IOSTANDARD = LVCMOS33 | PERIOD=20.0ns; +#NET "testled" LOC="P2" | IOSTANDARD = LVCMOS33; + +# Video output +NET O_VIDEO_R(2) LOC="P97" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_R(1) LOC="P95" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_R(0) LOC="P94" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(2) LOC="P88" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(1) LOC="P87" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(0) LOC="P85" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(2) LOC="P84" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(1) LOC="P83" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(0) LOC="P82" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_HSYNC LOC="P93" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VSYNC LOC="P92" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_NTSC LOC="P51" | IOSTANDARD = LVCMOS33; +NET O_PAL LOC="P50" | IOSTANDARD = LVCMOS33; + +# Sound input/output +NET O_AUDIO_L LOC="P98" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; +NET O_AUDIO_R LOC="P99" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; +#NET "ear" LOC="P1" | IOSTANDARD = LVCMOS33; + +# Keyboard and mouse +NET I_PS2_CLK LOC="P143" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; +NET I_PS2_DATA LOC="P142" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW; +#NET "mouseclk" LOC="P57" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "mousedata" LOC="P56" | IOSTANDARD = LVCMOS33 | PULLUP; + +# SRAM +#NET "sram_addr<0>" LOC="P115" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<1>" LOC="P116" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<2>" LOC="P117" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<3>" LOC="P119" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<4>" LOC="P120" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<5>" LOC="P123" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<6>" LOC="P126" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<7>" LOC="P131" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<8>" LOC="P127" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<9>" LOC="P124" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<10>" LOC="P118" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<11>" LOC="P121" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<12>" LOC="P133" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<13>" LOC="P132" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<14>" LOC="P137" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<15>" LOC="P140" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<16>" LOC="P139" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<17>" LOC="P141" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<18>" LOC="P138" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<19>" LOC="P105" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<20>" LOC="P143" | IOSTANDARD = LVCMOS33; + +#NET "sram_data<0>" LOC="P114" | IOSTANDARD = LVCMOS33; +#NET "sram_data<1>" LOC="P112" | IOSTANDARD = LVCMOS33; +#NET "sram_data<2>" LOC="P111" | IOSTANDARD = LVCMOS33; +#NET "sram_data<3>" LOC="P105" | IOSTANDARD = LVCMOS33; +#NET "sram_data<4>" LOC="P104" | IOSTANDARD = LVCMOS33; +#NET "sram_data<5>" LOC="P102" | IOSTANDARD = LVCMOS33; +#NET "sram_data<6>" LOC="P101" | IOSTANDARD = LVCMOS33; +#NET "sram_data<7>" LOC="P100" | IOSTANDARD = LVCMOS33; + +#NET "sram_we_n" LOC="P134" | IOSTANDARD = LVCMOS33; + +# SPI Flash +#NET "flash_cs_n" LOC="P38" | IOSTANDARD = LVCMOS33; +#NET "flash_clk" LOC="P70" | IOSTANDARD = LVCMOS33; +#NET "flash_mosi" LOC="P64" | IOSTANDARD = LVCMOS33; +#NET "flash_miso" LOC="P65" | IOSTANDARD = LVCMOS33; +#NET "flash_ext1" LOC="P62" | IOSTANDARD = LVCMOS33; +#NET "flash_ext2" LOC="P61" | IOSTANDARD = LVCMOS33; + +# SD/MMC +#NET "sd_cs_n" LOC="P78" | IOSTANDARD = LVCMOS33; +#NET "sd_clk" LOC="P80" | IOSTANDARD = LVCMOS33; +#NET "sd_mosi" LOC="P79" | IOSTANDARD = LVCMOS33; +#NET "sd_miso" LOC="P81" | IOSTANDARD = LVCMOS33; + +# JOYSTICK +#NET "joyup" LOC="P74" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joydown" LOC="P67" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyleft" LOC="P59" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyright" LOC="P58" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire" LOC="P75" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire2" LOC="P8" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire3" LOC="P39" | IOSTANDARD = LVCMOS33 | PULLUP; + + +# Otros +NET I_RESET LOC="P44" | IOSTANDARD = LVCMOS33; +NET I_CLK_REF TNM_NET = clk_ref_grp; +TIMESPEC TS01 = PERIOD : clk_ref_grp : 20.00 : PRIORITY 1; # 50.00 MHz diff --git a/cores/VIC20/source/vic20_zxuno_v2_v3.ucf b/cores/VIC20/source/vic20_zxuno_v2_v3.ucf new file mode 100644 index 0000000..21ff0a2 --- /dev/null +++ b/cores/VIC20/source/vic20_zxuno_v2_v3.ucf @@ -0,0 +1,92 @@ +# Clocks & debug +NET I_CLK_REF LOC="P55" | IOSTANDARD = LVCMOS33 | PERIOD=20.0ns; +#NET "testled" LOC="P10" | IOSTANDARD = LVCMOS33; + +# Video output +NET O_VIDEO_R(2) LOC="P93" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_R(1) LOC="P92" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_R(0) LOC="P88" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(2) LOC="P84" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(1) LOC="P83" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(0) LOC="P82" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(2) LOC="P81" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(1) LOC="P80" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(0) LOC="P79" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_HSYNC LOC="P87" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VSYNC LOC="P85" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_NTSC LOC="P67" | IOSTANDARD = LVCMOS33; +NET O_PAL LOC="P66" | IOSTANDARD = LVCMOS33; + +# Sound input/output +NET O_AUDIO_L LOC="P8" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; +NET O_AUDIO_R LOC="P9" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; +#NET "ear" LOC="P105" | IOSTANDARD = LVCMOS33; + +# Keyboard and mouse +NET I_PS2_CLK LOC="P98" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ; +NET I_PS2_DATA LOC="P97" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ; +#NET "mouseclk" LOC="P94" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "mousedata" LOC="P95" | IOSTANDARD = LVCMOS33 | PULLUP; + +# SRAM +#NET "sram_addr<0>" LOC="P115" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<1>" LOC="P116" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<2>" LOC="P117" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<3>" LOC="P119" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<4>" LOC="P120" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<5>" LOC="P123" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<6>" LOC="P126" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<7>" LOC="P131" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<8>" LOC="P127" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<9>" LOC="P124" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<10>" LOC="P118" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<11>" LOC="P121" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<12>" LOC="P133" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<13>" LOC="P132" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<14>" LOC="P137" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<15>" LOC="P140" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<16>" LOC="P139" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<17>" LOC="P141" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<18>" LOC="P138" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<19>" LOC="P111" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<20>" LOC="P138" | IOSTANDARD = LVCMOS33; + +#NET "sram_data<0>" LOC="P114" | IOSTANDARD = LVCMOS33; +#NET "sram_data<1>" LOC="P112" | IOSTANDARD = LVCMOS33; +#NET "sram_data<2>" LOC="P111" | IOSTANDARD = LVCMOS33; +#NET "sram_data<3>" LOC="P99" | IOSTANDARD = LVCMOS33; +#NET "sram_data<4>" LOC="P100" | IOSTANDARD = LVCMOS33; +#NET "sram_data<5>" LOC="P101" | IOSTANDARD = LVCMOS33; +#NET "sram_data<6>" LOC="P102" | IOSTANDARD = LVCMOS33; +#NET "sram_data<7>" LOC="P104" | IOSTANDARD = LVCMOS33; + +#NET "sram_we_n" LOC="P134" | IOSTANDARD = LVCMOS33; + +# SPI Flash +#NET "flash_cs_n" LOC="P38" | IOSTANDARD = LVCMOS33; +#NET "flash_clk" LOC="P70" | IOSTANDARD = LVCMOS33; +#NET "flash_mosi" LOC="P64" | IOSTANDARD = LVCMOS33; +#NET "flash_miso" LOC="P65" | IOSTANDARD = LVCMOS33; +#NET "flash_ext1" LOC="P62" | IOSTANDARD = LVCMOS33; +#NET "flash_ext2" LOC="P61" | IOSTANDARD = LVCMOS33; + +# SD/MMC +#NET "sd_cs_n" LOC="P59" | IOSTANDARD = LVCMOS33; +#NET "sd_clk" LOC="P75" | IOSTANDARD = LVCMOS33; +#NET "sd_mosi" LOC="P74" | IOSTANDARD = LVCMOS33; +#NET "sd_miso" LOC="P78" | IOSTANDARD = LVCMOS33; + +# JOYSTICK +#NET "joyup" LOC="P142" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joydown" LOC="P1" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyleft" LOC="P2" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyright" LOC="P5" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire" LOC="P143" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire2" LOC="P6" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire3" LOC="P7" | IOSTANDARD = LVCMOS33 | PULLUP; + + +# Otros +NET I_RESET LOC="P51" | IOSTANDARD = LVCMOS33; +NET I_CLK_REF TNM_NET = clk_ref_grp; +TIMESPEC TS01 = PERIOD : clk_ref_grp : 20.00 : PRIORITY 1; # 50.00 MHz diff --git a/cores/VIC20/source/vic20_zxuno_v4.ucf b/cores/VIC20/source/vic20_zxuno_v4.ucf new file mode 100644 index 0000000..cd34f8c --- /dev/null +++ b/cores/VIC20/source/vic20_zxuno_v4.ucf @@ -0,0 +1,92 @@ +# Clocks & debug +NET I_CLK_REF LOC="P55" | IOSTANDARD = LVCMOS33 | PERIOD=20.0ns; +#NET "testled" LOC="P10" | IOSTANDARD = LVCMOS33; + +# Video output +NET O_VIDEO_R(2) LOC="P81" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_R(1) LOC="P80" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_R(0) LOC="P79" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(2) LOC="P84" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(1) LOC="P83" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_G(0) LOC="P82" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(2) LOC="P93" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(1) LOC="P92" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VIDEO_B(0) LOC="P88" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_HSYNC LOC="P87" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_VSYNC LOC="P85" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = FAST ; +NET O_NTSC LOC="P66" | IOSTANDARD = LVCMOS33; +NET O_PAL LOC="P67" | IOSTANDARD = LVCMOS33; + +# Sound input/output +NET O_AUDIO_L LOC="P10" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; +NET O_AUDIO_R LOC="P9" | IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 8; +#NET "ear" LOC="P94" | IOSTANDARD = LVCMOS33; + +# Keyboard and mouse +NET I_PS2_CLK LOC="P99" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ; +NET I_PS2_DATA LOC="P98" | IOSTANDARD = LVCMOS33 | DRIVE = 8 | SLEW = SLOW ; +#NET "mouseclk" LOC="P95" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "mousedata" LOC="P97" | IOSTANDARD = LVCMOS33 | PULLUP; + +# SRAM +#NET "sram_addr<0>" LOC="P141" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<1>" LOC="P139" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<2>" LOC="P137" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<3>" LOC="P134" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<4>" LOC="P133" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<5>" LOC="P120" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<6>" LOC="P118" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<7>" LOC="P116" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<8>" LOC="P114" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<9>" LOC="P112" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<10>" LOC="P104" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<11>" LOC="P102" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<12>" LOC="P101" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<13>" LOC="P100" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<14>" LOC="P111" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<15>" LOC="P131" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<16>" LOC="P138" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<17>" LOC="P140" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<18>" LOC="P142" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<19>" LOC="P105" | IOSTANDARD = LVCMOS33; +#NET "sram_addr<20>" LOC="P143" | IOSTANDARD = LVCMOS33; + +#NET "sram_data<0>" LOC="P132" | IOSTANDARD = LVCMOS33; +#NET "sram_data<1>" LOC="P127" | IOSTANDARD = LVCMOS33; +#NET "sram_data<2>" LOC="P124" | IOSTANDARD = LVCMOS33; +#NET "sram_data<3>" LOC="P123" | IOSTANDARD = LVCMOS33; +#NET "sram_data<4>" LOC="P115" | IOSTANDARD = LVCMOS33; +#NET "sram_data<5>" LOC="P117" | IOSTANDARD = LVCMOS33; +#NET "sram_data<6>" LOC="P119" | IOSTANDARD = LVCMOS33; +#NET "sram_data<7>" LOC="P126" | IOSTANDARD = LVCMOS33; + +#NET "sram_we_n" LOC="P121" | IOSTANDARD = LVCMOS33; + +# SPI Flash +#NET "flash_cs_n" LOC="P38" | IOSTANDARD = LVCMOS33; +#NET "flash_clk" LOC="P70" | IOSTANDARD = LVCMOS33; +#NET "flash_mosi" LOC="P64" | IOSTANDARD = LVCMOS33; +#NET "flash_miso" LOC="P65" | IOSTANDARD = LVCMOS33; +#NET "flash_ext1" LOC="P62" | IOSTANDARD = LVCMOS33; +#NET "flash_ext2" LOC="P61" | IOSTANDARD = LVCMOS33; + +# SD/MMC +#NET "sd_cs_n" LOC="P59" | IOSTANDARD = LVCMOS33; +#NET "sd_clk" LOC="P75" | IOSTANDARD = LVCMOS33; +#NET "sd_mosi" LOC="P74" | IOSTANDARD = LVCMOS33; +#NET "sd_miso" LOC="P78" | IOSTANDARD = LVCMOS33; + +# JOYSTICK +#NET "joyup" LOC="P1" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joydown" LOC="P5" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyleft" LOC="P6" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyright" LOC="P7" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire" LOC="P2" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire2" LOC="P8" | IOSTANDARD = LVCMOS33 | PULLUP; +#NET "joyfire3" LOC="P39" | IOSTANDARD = LVCMOS33 | PULLUP; + + +# Otros +NET I_RESET LOC="P51" | IOSTANDARD = LVCMOS33; +NET I_CLK_REF TNM_NET = clk_ref_grp; +TIMESPEC TS01 = PERIOD : clk_ref_grp : 20.00 : PRIORITY 1; # 50.00 MHz