Skip to content

Commit db883c6

Browse files
committed
updated sys and template to latest commit 220825
1 parent 42a2f10 commit db883c6

File tree

10 files changed

+2898
-2849
lines changed

10 files changed

+2898
-2849
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,3 @@ c5_pin_model_dump.txt
3838
*_netlist
3939
*.cdf
4040
**/.DS_Store
41-
upd.sh

README.md renamed to Readme.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,17 @@ Framework implies use of at least one PLL in the core. Framework doesn't contain
4040

4141
The following macros can be defined and will affect the framework features:
4242

43-
Macro | Effect
44-
---------------|---------------------------------
45-
ARCADE_SYS | Disables the UART and OSD status
46-
DEBUG_NOHDMI | Disable HDMI-related modules. Speeds up compilation but only analogue/direct video is available
47-
DUAL_SDRAM | Changes configuration of FPGA pins to work with dual SDRAM I/O boards
48-
USE_DDRAM | Enables DDRAM ports of emu instance
49-
USE_SDRAM | Enables SDRAM ports of emu instance
50-
USE_FB | Allows to use framebuffer from the core
43+
Macro | Effect
44+
-------------------------|---------------------------------
45+
MISTER_DEBUG_NOHDMI | Disable HDMI-related modules. Speeds up compilation but only analogue/direct video is available
46+
MISTER_DUAL_SDRAM | Changes configuration of FPGA pins to work with dual SDRAM I/O boards
47+
MISTER_FB | Allows to use framebuffer from the core
48+
MISTER_SMALL_VBUF | Sets a smaller video buffer for the ASCAL
49+
MISTER_DOWNSCALE_NN | Ascal's downscale mode
50+
MISTER_DISABLE_ADAPTIVE | Disables adaptive scan lines
51+
MISTER_FB_PALETTE | Framebuffer palette
5152

52-
# Quartus version
5353

54+
# Quartus version
5455
Cores must be developed in **Quartus v17.0.x**. It's recommended to have updates, so it will be **v17.0.2**. Newer versions won't give any benefits to FPGA used in MiSTer, however they will introduce incompatibilities in project settings and it will make harder to maintain the core and collaborate with others. **So please stick to good old 17.0.x version.** You may use either Lite or Standard license.
56+

mycore.qsf

Lines changed: 50 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -9,56 +9,56 @@
99
# --------------------------------------------------------------------------
1010

1111
set_global_assignment -name TOP_LEVEL_ENTITY sys_top
12-
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
13-
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
14-
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
12+
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
13+
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
14+
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
1515

16-
set_global_assignment -name LAST_QUARTUS_VERSION "17.1.0 Lite Edition"
16+
set_global_assignment -name LAST_QUARTUS_VERSION "17.1.0 Lite Edition"
1717

18-
set_global_assignment -name GENERATE_RBF_FILE ON
19-
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
20-
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
21-
set_global_assignment -name SAVE_DISK_SPACE OFF
22-
set_global_assignment -name SMART_RECOMPILE ON
23-
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
24-
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
25-
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
26-
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
27-
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS OFF
28-
set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING OFF
29-
set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION ALWAYS
30-
set_global_assignment -name FITTER_EFFORT "STANDARD FIT"
31-
set_global_assignment -name OPTIMIZATION_MODE "HIGH PERFORMANCE EFFORT"
32-
set_global_assignment -name ALLOW_POWER_UP_DONT_CARE ON
33-
set_global_assignment -name QII_AUTO_PACKED_REGISTERS NORMAL
34-
set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON
35-
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC ON
36-
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON
37-
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING ON
38-
set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED
39-
set_global_assignment -name MUX_RESTRUCTURE ON
40-
set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS ON
41-
set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS ON
42-
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON
43-
set_global_assignment -name ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP ON
44-
set_global_assignment -name SYNTH_GATED_CLOCK_CONVERSION ON
45-
set_global_assignment -name PRE_MAPPING_RESYNTHESIS ON
46-
set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON
47-
set_global_assignment -name ECO_OPTIMIZE_TIMING ON
48-
set_global_assignment -name PERIPHERY_TO_CORE_PLACEMENT_AND_ROUTING_OPTIMIZATION ON
49-
set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING ON
50-
set_global_assignment -name ALM_REGISTER_PACKING_EFFORT MEDIUM
51-
set_global_assignment -name SEED 1
18+
set_global_assignment -name GENERATE_RBF_FILE ON
19+
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
20+
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
21+
set_global_assignment -name SAVE_DISK_SPACE OFF
22+
set_global_assignment -name SMART_RECOMPILE ON
23+
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
24+
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
25+
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
26+
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
27+
set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS OFF
28+
set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING OFF
29+
set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION ALWAYS
30+
set_global_assignment -name FITTER_EFFORT "STANDARD FIT"
31+
set_global_assignment -name OPTIMIZATION_MODE "HIGH PERFORMANCE EFFORT"
32+
set_global_assignment -name ALLOW_POWER_UP_DONT_CARE ON
33+
set_global_assignment -name QII_AUTO_PACKED_REGISTERS NORMAL
34+
set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON
35+
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC ON
36+
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON
37+
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING ON
38+
set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED
39+
set_global_assignment -name MUX_RESTRUCTURE ON
40+
set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS ON
41+
set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS ON
42+
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON
43+
set_global_assignment -name ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP ON
44+
set_global_assignment -name SYNTH_GATED_CLOCK_CONVERSION ON
45+
set_global_assignment -name PRE_MAPPING_RESYNTHESIS ON
46+
set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON
47+
set_global_assignment -name ECO_OPTIMIZE_TIMING ON
48+
set_global_assignment -name PERIPHERY_TO_CORE_PLACEMENT_AND_ROUTING_OPTIMIZATION ON
49+
set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING ON
50+
set_global_assignment -name ALM_REGISTER_PACKING_EFFORT MEDIUM
51+
set_global_assignment -name SEED 1
5252

53-
set_global_assignment -name ENABLE_OCT_DONE OFF
54-
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "PASSIVE SERIAL"
55-
set_global_assignment -name USE_CONFIGURATION_DEVICE ON
56-
set_global_assignment -name CRC_ERROR_OPEN_DRAIN ON
57-
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
58-
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
59-
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
60-
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
61-
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHZ
53+
set_global_assignment -name ENABLE_OCT_DONE OFF
54+
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "PASSIVE SERIAL"
55+
set_global_assignment -name USE_CONFIGURATION_DEVICE ON
56+
set_global_assignment -name CRC_ERROR_OPEN_DRAIN ON
57+
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
58+
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
59+
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
60+
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
61+
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHZ
6262

6363
#set_global_assignment -name VERILOG_MACRO "MISTER_FB=1"
6464

@@ -81,8 +81,7 @@ source sys/sys.tcl
8181
source sys/sys_analog.tcl
8282
source files.qip
8383

84-
set_global_assignment -name VERILOG_FILE sys/I2C_Controller.v
85-
set_global_assignment -name VERILOG_FILE sys/I2C_AV_Config.v
84+
set_global_assignment -name VERILOG_FILE sys/I2C_Controller.v
85+
set_global_assignment -name VERILOG_FILE sys/I2C_AV_Config.v
8686

87-
88-
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
87+
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

mycore.sv

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ module emu
2626
input RESET,
2727

2828
//Must be passed to hps_io module
29-
inout [48:0] HPS_BUS,
29+
inout [48:0] HPS_BUS,
3030

3131
//Base video clock. Usually equals to CLK_SYS.
3232
output CLK_VIDEO,
@@ -36,9 +36,9 @@ module emu
3636
output CE_PIXEL,
3737

3838
//Video aspect ratio for HDMI. Most retro systems have ratio 4:3.
39-
//if VIDEO_ARX[12] or VIDEO_ARY[12] is set then [11:0] contains scaled size instead of aspect ratio.
40-
output [12:0] VIDEO_ARX,
41-
output [12:0] VIDEO_ARY,
39+
//if VIDEO_ARX[12] or VIDEO_ARY[12] is set then [11:0] contains scaled size instead of aspect ratio.
40+
output [12:0] VIDEO_ARX,
41+
output [12:0] VIDEO_ARY,
4242

4343
output [7:0] VGA_R,
4444
output [7:0] VGA_G,
@@ -49,19 +49,20 @@ module emu
4949
output VGA_F1,
5050
output [1:0] VGA_SL,
5151
output VGA_SCALER, // Force VGA scaler
52-
53-
input [11:0] HDMI_WIDTH,
54-
input [11:0] HDMI_HEIGHT,
52+
output VGA_DISABLE, // analog out is off
53+
54+
input [11:0] HDMI_WIDTH,
55+
input [11:0] HDMI_HEIGHT,
5556
output HDMI_FREEZE,
5657

5758
`ifdef MISTER_FB
58-
// Use framebuffer in DDRAM (USE_FB=1 in qsf)
59+
// Use framebuffer in DDRAM
5960
// FB_FORMAT:
6061
// [2:0] : 011=8bpp(palette) 100=16bpp 101=24bpp 110=32bpp
6162
// [3] : 0=16bits 565 1=16bits 1555
6263
// [4] : 0=RGB 1=BGR (for 16/24/32 modes)
6364
//
64-
// FB_STRIDE either 0 (rounded to 256 bytes) or multiple of pixel size (in bytes)
65+
// FB_STRIDE either 0 (rounded to 256 bytes) or multiple of pixel size (in bytes)
6566
output FB_EN,
6667
output [4:0] FB_FORMAT,
6768
output [11:0] FB_WIDTH,
@@ -90,13 +91,13 @@ module emu
9091
// hint: supply 2'b00 to let the system control the LED.
9192
output [1:0] LED_POWER,
9293
output [1:0] LED_DISK,
93-
94-
// I/O board button press simulation (active high)
95-
// b[1]: user button
96-
// b[0]: osd button
97-
output [1:0] BUTTONS,
98-
99-
input CLK_AUDIO, // 24.576 MHz
94+
95+
// I/O board button press simulation (active high)
96+
// b[1]: user button
97+
// b[0]: osd button
98+
output [1:0] BUTTONS,
99+
100+
input CLK_AUDIO, // 24.576 MHz
100101
output [15:0] AUDIO_L,
101102
output [15:0] AUDIO_R,
102103
output AUDIO_S, // 1 - signed audio samples, 0 - unsigned
@@ -181,7 +182,8 @@ assign {DDRAM_CLK, DDRAM_BURSTCNT, DDRAM_ADDR, DDRAM_DIN, DDRAM_BE, DDRAM_RD, DD
181182

182183
assign VGA_SL = 0;
183184
assign VGA_F1 = 0;
184-
assign VGA_SCALER = 0;
185+
assign VGA_SCALER = 0;
186+
assign VGA_DISABLE = 0;
185187
assign HDMI_FREEZE = 0;
186188

187189
assign AUDIO_S = 0;

releases/mycore_20220611.rbf

-2.33 MB
Binary file not shown.

0 commit comments

Comments
 (0)