diff --git a/impl/mdtang_m60k_process_config.json b/impl/mdtang_m60k_process_config.json new file mode 100644 index 0000000..d8164c0 --- /dev/null +++ b/impl/mdtang_m60k_process_config.json @@ -0,0 +1,90 @@ +{ + "BACKGROUND_PROGRAMMING" : "off", + "COMPRESS" : false, + "CPU" : false, + "CRC_CHECK" : true, + "Clock_Route_Order" : 0, + "Convert_SDP32_36_to_SDP16_18" : true, + "Correct_Hold_Violation" : true, + "DONE" : false, + "DOWNLOAD_SPEED" : "default", + "Disable_Insert_Pad" : false, + "ENABLE_CTP" : false, + "ENABLE_MERGE_MODE" : false, + "ENCRYPTION_KEY" : false, + "ENCRYPTION_KEY_TEXT" : "00000000000000000000000000000000", + "ERROR_DECTION_AND_CORRECTION" : false, + "ERROR_DECTION_ONLY" : false, + "ERROR_INJECTION" : false, + "EXTERNAL_MASTER_CONFIG_CLOCK" : false, + "Enable_DSRM" : false, + "FORMAT" : "binary", + "FREQUENCY_DIVIDER" : "1", + "Generate_Constraint_File_of_Ports" : false, + "Generate_IBIS_File" : false, + "Generate_Plain_Text_Timing_Report" : false, + "Generate_Post_PNR_Simulation_Model_File" : false, + "Generate_Post_Place_File" : false, + "Generate_SDF_File" : false, + "Generate_VHDL_Post_PNR_Simulation_Model_File" : false, + "Global_Freq" : "default", + "GwSyn_Loop_Limit" : 2000, + "HOTBOOT" : false, + "I2C" : false, + "I2C_SLAVE_ADDR" : "00", + "IncludePath" : [ + + ], + "Incremental_Compile" : "", + "Initialize_Primitives" : false, + "JTAG" : false, + "MODE_IO" : false, + "MSPI" : false, + "MSPI_JUMP" : false, + "MULTIBOOT_ADDRESS_WIDTH" : "24", + "MULTIBOOT_MODE" : "Normal", + "MULTIBOOT_SPI_FLASH_ADDRESS" : "000000", + "MULTIJUMP_ADDRESS_WIDTH" : "24", + "MULTIJUMP_MODE" : "Normal", + "MULTIJUMP_SPI_FLASH_ADDRESS" : "000000", + "Multi_Boot" : false, + "OUTPUT_BASE_NAME" : "mdtang_m60k", + "POWER_ON_RESET_MONITOR" : true, + "PRINT_BSRAM_VALUE" : true, + "PROGRAM_DONE_BYPASS" : false, + "PlaceInRegToIob" : true, + "PlaceIoRegToIob" : true, + "PlaceOutRegToIob" : true, + "Place_Option" : "0", + "Process_Configuration_Verion" : "1.0", + "Promote_Physical_Constraint_Warning_to_Error" : true, + "READY" : false, + "RECONFIG_N" : false, + "Ram_RW_Check" : false, + "Replicate_Resources" : false, + "Report_Auto-Placed_Io_Information" : false, + "Route_Maxfan" : 23, + "Route_Option" : "0", + "Run_Timing_Driven" : true, + "SECURE_MODE" : false, + "SECURITY_BIT" : true, + "SEU_HANDLER" : false, + "SEU_HANDLER_CHECKSUM" : false, + "SEU_HANDLER_MODE" : "auto", + "SSPI" : false, + "STOP_SEU_HANDLER" : false, + "Show_All_Warnings" : false, + "Synthesize_tool" : "GowinSyn", + "TclPre" : "", + "TopModule" : "mdtang_top", + "USERCODE" : "default", + "Unused_Pin" : "As_input_tri_stated_with_pull_up", + "VCC" : "0.9", + "VCCAUX" : "3.3", + "VCCX" : "3.3", + "VHDL_Standard" : "VHDL_Std_1993", + "Verilog_Standard" : "Vlg_Std_Sysv2017", + "WAKE_UP" : "0", + "show_all_warnings" : false, + "turn_off_bg" : false +} \ No newline at end of file diff --git a/m60k.tcl b/m60k.tcl new file mode 100644 index 0000000..9434652 --- /dev/null +++ b/m60k.tcl @@ -0,0 +1,9 @@ + +add_file -type cst "src/m138k/m138k.cst" +add_file -type sdc "src/mdtang.sdc" +set_device GW5AT-LV60PG484AC1/I0 -device_version B + +set_option -output_base_name mdtang-m60k + +source build.tcl + diff --git a/mdtang.gprj b/mdtang.gprj index 22c97b8..84c70cb 100644 --- a/mdtang.gprj +++ b/mdtang.gprj @@ -80,7 +80,6 @@ - @@ -97,11 +96,6 @@ - - - - - diff --git a/mdtang_m60k.gprj b/mdtang_m60k.gprj new file mode 100644 index 0000000..b68c212 --- /dev/null +++ b/mdtang_m60k.gprj @@ -0,0 +1,106 @@ + + + + + 5 + gw5at60b-002 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/verilator/README.md b/verilator/README.md new file mode 100644 index 0000000..02eb240 --- /dev/null +++ b/verilator/README.md @@ -0,0 +1,17 @@ + +## MDTang simulation suite + +This directory contains a verilator-based RTL simulator for MDTang. + +You can run the simulation as follows, + +``` +make +ln -s obj_dir/Vmdtang_top sim +ln -s ../src/fx68k/*.mem . +./sim hello.bin +``` + +You can replace `hello.bin` with any game rom or test rom. Then follow instructions printed by the simulator for gamepad input, tracing and etc. + +You can also get sound output with `make audio`. \ No newline at end of file