This commit is contained in:
Polprzewodnikowy 2021-08-16 00:23:10 +02:00
parent 0db5e5c59f
commit 8501b875f9
11 changed files with 49 additions and 34 deletions

View File

@ -19,7 +19,7 @@
#
# Quartus Prime
# Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
# Date created = 18:00:40 August 15, 2021
# Date created = 00:18:46 August 16, 2021
#
# -------------------------------------------------------------------------- #
#
@ -46,12 +46,13 @@ set_global_assignment -name LAST_QUARTUS_VERSION "20.1.1 Lite Edition"
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL
set_global_assignment -name FLOW_ENABLE_POWER_ANALYZER ON
set_global_assignment -name VERILOG_FILE btldr/btldr.sv
set_global_assignment -name VERILOG_FILE picorv32/picorv32.v
set_global_assignment -name QSYS_FILE rtl/intel/snp/intel_snp.qsys
set_global_assignment -name QIP_FILE rtl/intel/fifo/fifo8.qip
set_global_assignment -name QIP_FILE rtl/intel/pll/intel_pll.qip
set_global_assignment -name SDC_FILE SummerCart64.sdc
set_global_assignment -name SIGNALTAP_FILE stp.stp
set_global_assignment -name SYSTEMVERILOG_FILE btldr/btldr.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_bus.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_gpio.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_i2c.sv
@ -60,13 +61,10 @@ set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_soc.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_uart.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_usb.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/cpu/cpu_wrapper.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/usb/usb_fifo.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/usb/usb_ft1248.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/SummerCart64.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/system/system.sv
set_global_assignment -name SYSTEMVERILOG_FILE rtl/old/usb_ftdi_fsi.sv
set_global_assignment -name SOURCE_FILE sfp.spf
set_global_assignment -name QIP_FILE rtl/intel/fifo/fifo8.qip
set_global_assignment -name SLD_FILE db/stp_auto_stripped.stp
# Pin & Location Assignments
# ==========================
@ -75,10 +73,10 @@ set_location_assignment PIN_7 -to io_usb_miosi[3]
set_location_assignment PIN_8 -to io_usb_miosi[2]
set_location_assignment PIN_10 -to io_usb_miosi[1]
set_location_assignment PIN_11 -to io_usb_miosi[0]
set_location_assignment PIN_12 -to o_ftdi_si
set_location_assignment PIN_13 -to o_ftdi_clk
set_location_assignment PIN_14 -to i_ftdi_so
set_location_assignment PIN_15 -to i_ftdi_cts
set_location_assignment PIN_12 -to i_uart_rxd
set_location_assignment PIN_13 -to o_uart_txd
set_location_assignment PIN_14 -to i_uart_cts
set_location_assignment PIN_15 -to o_uart_rts
set_location_assignment PIN_17 -to o_led
set_location_assignment PIN_21 -to io_rtc_scl
set_location_assignment PIN_22 -to io_rtc_sda
@ -159,7 +157,7 @@ set_location_assignment PIN_132 -to io_flash_dq[3]
set_location_assignment PIN_134 -to o_flash_cs
set_location_assignment PIN_135 -to io_flash_dq[1]
set_location_assignment PIN_136 -to io_flash_dq[2]
set_location_assignment PIN_138 -to io_pmod[0]
set_location_assignment PIN_138 -to i_usb_powered
set_location_assignment PIN_140 -to i_usb_miso
set_location_assignment PIN_141 -to o_usb_cs
@ -223,6 +221,24 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
# --------------------------
# start ENTITY(SummerCart64)
# Pin & Location Assignments
# ==========================
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to o_usb_clk
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to o_usb_cs
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to io_usb_miosi[0]
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to io_usb_miosi[1]
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to io_usb_miosi[2]
set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to io_usb_miosi[3]
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to io_usb_miosi[0]
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to io_usb_miosi[1]
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to io_usb_miosi[2]
set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to io_usb_miosi[3]
set_instance_assignment -name FAST_INPUT_REGISTER ON -to io_usb_miosi[0]
set_instance_assignment -name FAST_INPUT_REGISTER ON -to io_usb_miosi[1]
set_instance_assignment -name FAST_INPUT_REGISTER ON -to io_usb_miosi[2]
set_instance_assignment -name FAST_INPUT_REGISTER ON -to io_usb_miosi[3]
set_instance_assignment -name FAST_INPUT_REGISTER ON -to i_usb_miso
# Fitter Assignments
# ==================
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to i_n64_nmi
@ -234,11 +250,11 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to i_n64_si_clk
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_n64_si_dq
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to o_n64_irq
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to o_usb_cs
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to o_usb_miosi[0]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to o_usb_miosi[1]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to o_usb_miosi[2]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to o_usb_miosi[3]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_usb_miosi[0]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_usb_miosi[1]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_usb_miosi[2]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to io_usb_miosi[3]
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to i_usb_miso
# start DESIGN_PARTITION(Top)
# ---------------------------
@ -248,11 +264,10 @@ set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
# end DESIGN_PARTITION(Top)
# -------------------------
# end ENTITY(SummerCart64)
# ------------------------
set_global_assignment -name SLD_FILE db/stp_auto_stripped.stp
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top

View File

@ -5,11 +5,12 @@ module SummerCart64 (
output o_usb_cs,
input i_usb_miso,
inout [3:0] io_usb_miosi,
input i_usb_powered,
// output o_ftdi_clk,
// output o_ftdi_si,
// input i_ftdi_so,
// input i_ftdi_cts,
input i_uart_rxd,
output o_uart_txd,
input i_uart_cts,
output o_uart_rts,
input i_n64_reset,
input i_n64_nmi,
@ -37,16 +38,10 @@ module SummerCart64 (
inout io_sd_cmd,
inout [3:0] io_sd_dat,
// output o_flash_clk,
// output o_flash_cs,
// inout io_flash_dq[3:0],
inout io_rtc_scl,
inout io_rtc_sda,
output o_led,
inout [0:0] io_pmod
output o_led
);
if_system system_if (.in_clk(i_clk));
@ -58,7 +53,7 @@ module SummerCart64 (
assign o_led = gpio_oe[0] ? gpio_o[0] : 1'bZ;
assign o_n64_irq = gpio_oe[1] ? gpio_o[1] : 1'bZ;
assign gpio_i = {io_pmod[0], 3'b000, i_n64_nmi, i_n64_reset, o_n64_irq, o_led};
assign gpio_i = {4'b0000, i_n64_nmi, i_n64_reset, o_n64_irq, o_led};
cpu_soc cpu_soc_inst (
.system_if(system_if),
@ -69,6 +64,7 @@ module SummerCart64 (
.usb_cs(o_usb_cs),
.usb_miso(i_usb_miso),
.usb_miosi(io_usb_miosi),
.usb_powered(i_usb_powered),
.i2c_scl(io_rtc_scl),
.i2c_sda(io_rtc_sda)
);

View File

@ -9,6 +9,7 @@ module cpu_soc (
output usb_cs,
input usb_miso,
inout [3:0] usb_miosi,
input usb_powered,
inout i2c_scl,
inout i2c_sda
@ -63,7 +64,8 @@ module cpu_soc (
.usb_clk(usb_clk),
.usb_cs(usb_cs),
.usb_miso(usb_miso),
.usb_miosi(usb_miosi)
.usb_miosi(usb_miosi),
.usb_powered(usb_powered)
);
endmodule

View File

@ -5,7 +5,8 @@ module cpu_usb (
output usb_clk,
output usb_cs,
input usb_miso,
inout [3:0] usb_miosi
inout [3:0] usb_miosi,
input usb_powered
);
reg rx_flush;
@ -66,6 +67,7 @@ module cpu_usb (
.usb_cs(usb_cs),
.usb_miso(usb_miso),
.usb_miosi(usb_miosi),
.usb_powered(usb_powered),
.rx_flush(rx_flush),
.rx_empty(rx_empty),

View File

@ -5,6 +5,7 @@ module usb_ft1248 (
output usb_cs,
input usb_miso,
inout [3:0] usb_miosi,
input usb_powered,
input rx_flush,
output rx_empty,
@ -59,7 +60,6 @@ module usb_ft1248 (
.data(tx_wdata)
);
// FT1248 interface controller
// Constants definition