From cae9ff115fc047a1476d95da7360db1427214ea4 Mon Sep 17 00:00:00 2001 From: Alan Steremberg Date: Sat, 16 Jan 2021 09:05:49 -0800 Subject: [PATCH 1/3] new sys --- Arcade-SolomonsKey.qsf | 120 +- Arcade-SolomonsKey.sv | 175 +- files.qip | 34 +- {src => rtl}/CPU/T80.vhd | 0 {src => rtl}/CPU/T80_ALU.vhd | 0 {src => rtl}/CPU/T80_MCode.vhd | 0 {src => rtl}/CPU/T80_Pack.vhd | 0 {src => rtl}/CPU/T80_Reg.vhd | 0 {src => rtl}/CPU/T80s.vhd | 0 {src => rtl}/DPRAM1024_7.qip | 0 {src => rtl}/DPRAM1024_7.v | 0 {src => rtl}/SOLOMON.v | 0 {src => rtl}/SOLOMON_MAIN.v | 0 {src => rtl}/SOLOMON_ROMS.v | 0 {src => rtl}/SOLOMON_SOUND.v | 0 {src => rtl}/SOLOMON_VIDEO.v | 0 {src => rtl}/YM2149_linmix_sep.vhd | 0 {src => rtl}/abusdriver.v | 0 {src => rtl}/mems.v | 0 rtl/pll.13.qip | 13 + {sys => rtl}/pll.qip | 0 {sys => rtl}/pll.v | 0 {sys => rtl}/pll/pll_0002.qip | 0 {sys => rtl}/pll/pll_0002.v | 0 {sys => rtl}/pll/pll_0002_q13.qip | 0 {src => rtl}/z80ip.v | 0 sys/alsa.sv | 174 +- sys/arcade_video.v | 808 ++--- sys/ascal.vhd | 375 +- sys/audio_out.v | 247 +- sys/build_id.tcl | 146 +- sys/ddr_svc.sv | 108 + sys/fbpal.sv | 86 - sys/hdmi_config.sv | 44 +- sys/hps_io.v | 520 ++- sys/i2c.v | 192 +- sys/iir_filter.v | 213 ++ sys/mt32pi.sv | 279 ++ sys/osd.v | 64 +- sys/pll.13.qip | 10 +- sys/pll_audio.13.qip | 17 + sys/pll_audio.qip | 337 ++ sys/pll_audio.v | 252 ++ sys/pll_audio/pll_audio_0002.qip | 4 + sys/pll_audio/pll_audio_0002.v | 87 + sys/pll_cfg.v | 172 +- sys/pll_cfg/altera_pll_reconfig_core.v | 4342 ++++++++++++------------ sys/pll_cfg/altera_pll_reconfig_top.v | 830 ++--- sys/pll_hdmi.13.qip | 6 +- sys/pll_hdmi.v | 512 +-- sys/pll_hdmi/pll_hdmi_0002.v | 482 +-- sys/pll_hdmi/pll_hdmi_0002_q13.qip | 4 - sys/pll_q13.qip | 1 + sys/pll_q17.qip | 3 +- sys/{sd_card.v => sd_card.sv} | 1073 +++--- sys/spdif.v | 19 +- sys/sys.qip | 6 +- sys/sys.tcl | 453 ++- sys/sys_analog.tcl | 142 +- sys/sys_dual_sdram.tcl | 100 +- sys/sys_top.sdc | 108 +- sys/sys_top.v | 831 +++-- sys/video_cleaner.sv | 198 +- sys/video_mixer.sv | 463 +-- 64 files changed, 7823 insertions(+), 6227 deletions(-) rename {src => rtl}/CPU/T80.vhd (100%) rename {src => rtl}/CPU/T80_ALU.vhd (100%) rename {src => rtl}/CPU/T80_MCode.vhd (100%) rename {src => rtl}/CPU/T80_Pack.vhd (100%) rename {src => rtl}/CPU/T80_Reg.vhd (100%) rename {src => rtl}/CPU/T80s.vhd (100%) rename {src => rtl}/DPRAM1024_7.qip (100%) rename {src => rtl}/DPRAM1024_7.v (100%) rename {src => rtl}/SOLOMON.v (100%) rename {src => rtl}/SOLOMON_MAIN.v (100%) rename {src => rtl}/SOLOMON_ROMS.v (100%) rename {src => rtl}/SOLOMON_SOUND.v (100%) rename {src => rtl}/SOLOMON_VIDEO.v (100%) rename {src => rtl}/YM2149_linmix_sep.vhd (100%) rename {src => rtl}/abusdriver.v (100%) rename {src => rtl}/mems.v (100%) create mode 100644 rtl/pll.13.qip rename {sys => rtl}/pll.qip (100%) rename {sys => rtl}/pll.v (100%) rename {sys => rtl}/pll/pll_0002.qip (100%) rename {sys => rtl}/pll/pll_0002.v (100%) rename {sys => rtl}/pll/pll_0002_q13.qip (100%) rename {src => rtl}/z80ip.v (100%) create mode 100644 sys/ddr_svc.sv delete mode 100644 sys/fbpal.sv create mode 100644 sys/iir_filter.v create mode 100644 sys/mt32pi.sv create mode 100644 sys/pll_audio.13.qip create mode 100644 sys/pll_audio.qip create mode 100644 sys/pll_audio.v create mode 100644 sys/pll_audio/pll_audio_0002.qip create mode 100644 sys/pll_audio/pll_audio_0002.v delete mode 100644 sys/pll_hdmi/pll_hdmi_0002_q13.qip rename sys/{sd_card.v => sd_card.sv} (84%) diff --git a/Arcade-SolomonsKey.qsf b/Arcade-SolomonsKey.qsf index 9710e75..dce5f75 100644 --- a/Arcade-SolomonsKey.qsf +++ b/Arcade-SolomonsKey.qsf @@ -1,61 +1,61 @@ -# -------------------------------------------------------------------------- -# -# MiSTer project -# -# WARNING WARNING WARNING: -# Do not add files to project in Quartus IDE! It will mess this file! -# Add the files manually to files.qip file. -# -# -------------------------------------------------------------------------- - -set_global_assignment -name TOP_LEVEL_ENTITY sys_top -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_global_assignment -name LAST_QUARTUS_VERSION "17.1.0 Lite Edition" - -set_global_assignment -name GENERATE_RBF_FILE ON -set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files -set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL -set_global_assignment -name SAVE_DISK_SPACE OFF -set_global_assignment -name SMART_RECOMPILE ON -set_global_assignment -name MIN_CORE_JUNCTION_TEMP "-40" -set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100 -set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" -set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" -set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS OFF -set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING OFF -set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION ALWAYS -set_global_assignment -name FITTER_EFFORT "STANDARD FIT" -set_global_assignment -name OPTIMIZATION_MODE "HIGH PERFORMANCE EFFORT" -set_global_assignment -name ALLOW_POWER_UP_DONT_CARE ON -set_global_assignment -name QII_AUTO_PACKED_REGISTERS NORMAL -set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON -set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC ON -set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON -set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING ON -set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED -set_global_assignment -name MUX_RESTRUCTURE ON -set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS ON -set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS ON -set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON -set_global_assignment -name ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP ON -set_global_assignment -name SYNTH_GATED_CLOCK_CONVERSION ON -set_global_assignment -name PRE_MAPPING_RESYNTHESIS ON -set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON -set_global_assignment -name ECO_OPTIMIZE_TIMING ON -set_global_assignment -name PERIPHERY_TO_CORE_PLACEMENT_AND_ROUTING_OPTIMIZATION ON -set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING ON -set_global_assignment -name ALM_REGISTER_PACKING_EFFORT LOW -set_global_assignment -name SEED 1 - -#set_global_assignment -name VERILOG_MACRO "USE_SDRAM=1" -#set_global_assignment -name VERILOG_MACRO "USE_DDRAM=1" - -source sys/sys.tcl -source sys/sys_analog.tcl -source files.qip -set_global_assignment -name FLOW_ENABLE_RTL_VIEWER OFF - +# -------------------------------------------------------------------------- +# +# MiSTer project +# +# WARNING WARNING WARNING: +# Do not add files to project in Quartus IDE! It will mess this file! +# Add the files manually to files.qip file. +# +# -------------------------------------------------------------------------- + +set_global_assignment -name TOP_LEVEL_ENTITY sys_top +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_global_assignment -name LAST_QUARTUS_VERSION "17.0.2 Lite Edition" + +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL +set_global_assignment -name SAVE_DISK_SPACE OFF +set_global_assignment -name SMART_RECOMPILE ON +set_global_assignment -name MIN_CORE_JUNCTION_TEMP "-40" +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 100 +set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW" +set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)" +set_global_assignment -name TIMEQUEST_MULTICORNER_ANALYSIS OFF +set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING OFF +set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION ALWAYS +set_global_assignment -name FITTER_EFFORT "STANDARD FIT" +set_global_assignment -name OPTIMIZATION_MODE "HIGH PERFORMANCE EFFORT" +set_global_assignment -name ALLOW_POWER_UP_DONT_CARE ON +set_global_assignment -name QII_AUTO_PACKED_REGISTERS NORMAL +set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION ON +set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC ON +set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION ON +set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING ON +set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED +set_global_assignment -name MUX_RESTRUCTURE ON +set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS ON +set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS ON +set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA ON +set_global_assignment -name ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP ON +set_global_assignment -name SYNTH_GATED_CLOCK_CONVERSION ON +set_global_assignment -name PRE_MAPPING_RESYNTHESIS ON +set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS ON +set_global_assignment -name ECO_OPTIMIZE_TIMING ON +set_global_assignment -name PERIPHERY_TO_CORE_PLACEMENT_AND_ROUTING_OPTIMIZATION ON +set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING ON +set_global_assignment -name ALM_REGISTER_PACKING_EFFORT LOW +set_global_assignment -name SEED 1 + +set_global_assignment -name VERILOG_MACRO "ARCADE_SYS=1" +set_global_assignment -name VERILOG_MACRO "USE_FB=1" +#set_global_assignment -name VERILOG_MACRO "USE_SDRAM=1" +#set_global_assignment -name VERILOG_MACRO "USE_DDRAM=1" + +source sys/sys.tcl +source sys/sys_analog.tcl +source files.qip set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/Arcade-SolomonsKey.sv b/Arcade-SolomonsKey.sv index 9694eae..34723c4 100644 --- a/Arcade-SolomonsKey.sv +++ b/Arcade-SolomonsKey.sv @@ -4,6 +4,7 @@ // Original implimentation and port to MiSTer by MiSTer-X 2019 //============================================================================ + module emu ( //Master input clock @@ -17,11 +18,15 @@ module emu inout [45:0] HPS_BUS, //Base video clock. Usually equals to CLK_SYS. - output VGA_CLK, + output CLK_VIDEO, - //Multiple resolutions are supported using different VGA_CE rates. + //Multiple resolutions are supported using different CE_PIXEL rates. //Must be based on CLK_VIDEO - output VGA_CE, + output CE_PIXEL, + + //Video aspect ratio for HDMI. Most retro systems have ratio 4:3. + output [11:0] VIDEO_ARX, + output [11:0] VIDEO_ARY, output [7:0] VGA_R, output [7:0] VGA_G, @@ -29,26 +34,36 @@ module emu output VGA_HS, output VGA_VS, output VGA_DE, // = ~(VBlank | HBlank) - output VGA_F1, - - //Base video clock. Usually equals to CLK_SYS. - output HDMI_CLK, + output VGA_F1, + output [1:0] VGA_SL, + output VGA_SCALER, // Force VGA scaler - //Multiple resolutions are supported using different HDMI_CE rates. - //Must be based on CLK_VIDEO - output HDMI_CE, + `ifdef USE_FB + // Use framebuffer from DDRAM (USE_FB=1 in qsf) + // FB_FORMAT: + // [2:0] : 011=8bpp(palette) 100=16bpp 101=24bpp 110=32bpp + // [3] : 0=16bits 565 1=16bits 1555 + // [4] : 0=RGB 1=BGR (for 16/24/32 modes) + // + // FB_STRIDE either 0 (rounded to 256 bytes) or multiple of 16 bytes. + output FB_EN, + output [4:0] FB_FORMAT, + output [11:0] FB_WIDTH, + output [11:0] FB_HEIGHT, + output [31:0] FB_BASE, + output [13:0] FB_STRIDE, + input FB_VBL, + input FB_LL, + output FB_FORCE_BLANK, - output [7:0] HDMI_R, - output [7:0] HDMI_G, - output [7:0] HDMI_B, - output HDMI_HS, - output HDMI_VS, - output HDMI_DE, // = ~(VBlank | HBlank) - output [1:0] HDMI_SL, // scanlines fx - - //Video aspect ratio for HDMI. Most retro systems have ratio 4:3. - output [7:0] HDMI_ARX, - output [7:0] HDMI_ARY, + // Palette control for 8bit modes. + // Ignored for other video modes. + output FB_PAL_CLK, + output [7:0] FB_PAL_ADDR, + output [23:0] FB_PAL_DOUT, + input [23:0] FB_PAL_DIN, + output FB_PAL_WR, + `endif output LED_USER, // 1 - ON, 0 - OFF. @@ -58,10 +73,25 @@ module emu output [1:0] LED_POWER, output [1:0] LED_DISK, + input CLK_AUDIO, // 24.576 MHz output [15:0] AUDIO_L, output [15:0] AUDIO_R, output AUDIO_S, // 1 - signed audio samples, 0 - unsigned + `ifdef USE_DDRAM + //High latency DDR3 RAM interface + //Use for non-critical time purposes + output DDRAM_CLK, + input DDRAM_BUSY, + output [7:0] DDRAM_BURSTCNT, + output [28:0] DDRAM_ADDR, + input [63:0] DDRAM_DOUT, + input DDRAM_DOUT_READY, + output DDRAM_RD, + output [63:0] DDRAM_DIN, + output [7:0] DDRAM_BE, + output DDRAM_WE, + `endif // Open-drain User port. // 0 - D+/RX // 1 - D-/TX @@ -72,20 +102,22 @@ module emu ); assign VGA_F1 = 0; +assign VGA_SCALER= 0; assign USER_OUT = '1; assign LED_USER = ioctl_download; assign LED_DISK = 0; assign LED_POWER = 0; -assign HDMI_ARX = status[1] ? 8'd16 : 8'd4; -assign HDMI_ARY = status[1] ? 8'd9 : 8'd3; +wire [1:0] ar = status[2:1]; + +assign VIDEO_ARX = (!ar) ? ( 8'd4) : (ar - 1'd1); +assign VIDEO_ARY = (!ar) ? ( 8'd3) : 12'd0; + `include "build_id.v" localparam CONF_STR = { "A.SolmnsKey;;", - "F,rom;", // allow loading of alternate ROMs - "-;", - "H0O1,Aspect Ratio,Original,Wide;", + "H0O12,Aspect ratio,Original,Full Screen,[ARC1],[ARC2];", "O35,Scandoubler Fx,None,HQ2x,CRT 25%,CRT 50%,CRT 75%;", "-;", "O89,Difficulty,Normal,Middle,Easy,Hard;", @@ -149,7 +181,6 @@ wire ioctl_wr; wire [24:0] ioctl_addr; wire [7:0] ioctl_dout; -wire [10:0] ps2_key; wire [15:0] joystk1, joystk2; wire [21:0] gamma_bus; @@ -176,82 +207,28 @@ hps_io #(.STRLEN($size(CONF_STR)>>3)) hps_io .ioctl_dout(ioctl_dout), .joystick_0(joystk1), - .joystick_1(joystk2), - .ps2_key(ps2_key) + .joystick_1(joystk2) ); -wire pressed = ps2_key[9]; -wire [8:0] code = ps2_key[8:0]; -always @(posedge clk_sys) begin - reg old_state; - old_state <= ps2_key[10]; - - if(old_state != ps2_key[10]) begin - casex(code) - 'hX75: btn_up <= pressed; // up - 'hX72: btn_down <= pressed; // down - 'hX6B: btn_left <= pressed; // left - 'hX74: btn_right <= pressed; // right - 'h029: btn_trig1 <= pressed; // space - 'h014: btn_trig2 <= pressed; // ctrl - 'h005: btn_one_player <= pressed; // F1 - 'h006: btn_two_players <= pressed; // F2 +wire m_up2 = joystk2[3]; +wire m_down2 = joystk2[2]; +wire m_left2 = joystk2[1]; +wire m_right2 = joystk2[0]; +wire m_trig21 = joystk2[4]; +wire m_trig22 = joystk2[5]; - // JPAC/IPAC/MAME Style Codes - 'h016: btn_start_1 <= pressed; // 1 - 'h01E: btn_start_2 <= pressed; // 2 - 'h02E: btn_coin_1 <= pressed; // 5 - 'h036: btn_coin_2 <= pressed; // 6 - 'h02D: btn_up_2 <= pressed; // R - 'h02B: btn_down_2 <= pressed; // F - 'h023: btn_left_2 <= pressed; // D - 'h034: btn_right_2 <= pressed; // G - 'h01C: btn_trig1_2 <= pressed; // A - 'h01B: btn_trig2_2 <= pressed; // S - endcase - end -end +wire m_start1 = joystk1[6] | joystk2[6]; +wire m_start2 = joystk1[7] | joystk2[7]; -reg btn_up = 0; -reg btn_down = 0; -reg btn_right = 0; -reg btn_left = 0; -reg btn_trig1 = 0; -reg btn_trig2 = 0; -reg btn_one_player = 0; -reg btn_two_players = 0; +wire m_up1 = joystk1[3] | (bCabinet ? 1'b0 : m_up2); +wire m_down1 = joystk1[2] | (bCabinet ? 1'b0 : m_down2); +wire m_left1 = joystk1[1] | (bCabinet ? 1'b0 : m_left2); +wire m_right1 = joystk1[0] | (bCabinet ? 1'b0 : m_right2); +wire m_trig11 = joystk1[4] | (bCabinet ? 1'b0 : m_trig21); +wire m_trig12 = joystk1[5] | (bCabinet ? 1'b0 : m_trig22); -reg btn_start_1 = 0; -reg btn_start_2 = 0; -reg btn_coin_1 = 0; -reg btn_coin_2 = 0; -reg btn_up_2 = 0; -reg btn_down_2 = 0; -reg btn_left_2 = 0; -reg btn_right_2 = 0; -reg btn_trig1_2 = 0; -reg btn_trig2_2 = 0; - - -wire m_up2 = btn_up_2 | joystk2[3]; -wire m_down2 = btn_down_2 | joystk2[2]; -wire m_left2 = btn_left_2 | joystk2[1]; -wire m_right2 = btn_right_2 | joystk2[0]; -wire m_trig21 = btn_trig1_2 | joystk2[4]; -wire m_trig22 = btn_trig2_2 | joystk2[5]; - -wire m_start1 = btn_one_player | joystk1[6] | joystk2[6] | btn_start_1; -wire m_start2 = btn_two_players | joystk1[7] | joystk2[7] | btn_start_2; - -wire m_up1 = btn_up | joystk1[3] | (bCabinet ? 1'b0 : m_up2); -wire m_down1 = btn_down | joystk1[2] | (bCabinet ? 1'b0 : m_down2); -wire m_left1 = btn_left | joystk1[1] | (bCabinet ? 1'b0 : m_left2); -wire m_right1 = btn_right | joystk1[0] | (bCabinet ? 1'b0 : m_right2); -wire m_trig11 = btn_trig1 | joystk1[4] | (bCabinet ? 1'b0 : m_trig21); -wire m_trig12 = btn_trig2 | joystk1[5] | (bCabinet ? 1'b0 : m_trig22); - -wire m_coin1 = btn_one_player | btn_coin_1 | joystk1[8]; -wire m_coin2 = btn_two_players| btn_coin_2 | joystk2[8]; +wire m_coin1 = joystk1[8]; +wire m_coin2 = joystk2[8]; /////////////////////////////////////////////////// @@ -268,7 +245,7 @@ always @(posedge clk_hdmi) begin ce_pix <= old_clk & ~ce_vid; end -arcade_fx #(256,12) arcade_video +arcade_video #(256,12) arcade_video ( .*, diff --git a/files.qip b/files.qip index 91a7007..8bd70ad 100644 --- a/files.qip +++ b/files.qip @@ -1,18 +1,18 @@ -set_global_assignment -name VHDL_FILE src/CPU/T80s.vhd -set_global_assignment -name VHDL_FILE src/CPU/T80_Reg.vhd -set_global_assignment -name VHDL_FILE src/CPU/T80_Pack.vhd -set_global_assignment -name VHDL_FILE src/CPU/T80_MCode.vhd -set_global_assignment -name VHDL_FILE src/CPU/T80_ALU.vhd -set_global_assignment -name VHDL_FILE src/CPU/T80.vhd -set_global_assignment -name VERILOG_FILE src/z80ip.v -set_global_assignment -name VHDL_FILE src/YM2149_linmix_sep.vhd -set_global_assignment -name VERILOG_FILE src/SOLOMON_VIDEO.v -set_global_assignment -name VERILOG_FILE src/SOLOMON_SOUND.v -set_global_assignment -name VERILOG_FILE src/SOLOMON_ROMS.v -set_global_assignment -name VERILOG_FILE src/SOLOMON_MAIN.v -set_global_assignment -name VERILOG_FILE src/SOLOMON.v -set_global_assignment -name VERILOG_FILE src/mems.v -set_global_assignment -name VERILOG_FILE src/DPRAM1024_7.v -set_global_assignment -name QIP_FILE src/DPRAM1024_7.qip -set_global_assignment -name VERILOG_FILE src/abusdriver.v +set_global_assignment -name VHDL_FILE rtl/CPU/T80s.vhd +set_global_assignment -name VHDL_FILE rtl/CPU/T80_Reg.vhd +set_global_assignment -name VHDL_FILE rtl/CPU/T80_Pack.vhd +set_global_assignment -name VHDL_FILE rtl/CPU/T80_MCode.vhd +set_global_assignment -name VHDL_FILE rtl/CPU/T80_ALU.vhd +set_global_assignment -name VHDL_FILE rtl/CPU/T80.vhd +set_global_assignment -name VERILOG_FILE rtl/z80ip.v +set_global_assignment -name VHDL_FILE rtl/YM2149_linmix_sep.vhd +set_global_assignment -name VERILOG_FILE rtl/SOLOMON_VIDEO.v +set_global_assignment -name VERILOG_FILE rtl/SOLOMON_SOUND.v +set_global_assignment -name VERILOG_FILE rtl/SOLOMON_ROMS.v +set_global_assignment -name VERILOG_FILE rtl/SOLOMON_MAIN.v +set_global_assignment -name VERILOG_FILE rtl/SOLOMON.v +set_global_assignment -name VERILOG_FILE rtl/mems.v +set_global_assignment -name VERILOG_FILE rtl/DPRAM1024_7.v +set_global_assignment -name QIP_FILE rtl/DPRAM1024_7.qip +set_global_assignment -name VERILOG_FILE rtl/abusdriver.v set_global_assignment -name SYSTEMVERILOG_FILE "Arcade-SolomonsKey.sv" diff --git a/src/CPU/T80.vhd b/rtl/CPU/T80.vhd similarity index 100% rename from src/CPU/T80.vhd rename to rtl/CPU/T80.vhd diff --git a/src/CPU/T80_ALU.vhd b/rtl/CPU/T80_ALU.vhd similarity index 100% rename from src/CPU/T80_ALU.vhd rename to rtl/CPU/T80_ALU.vhd diff --git a/src/CPU/T80_MCode.vhd b/rtl/CPU/T80_MCode.vhd similarity index 100% rename from src/CPU/T80_MCode.vhd rename to rtl/CPU/T80_MCode.vhd diff --git a/src/CPU/T80_Pack.vhd b/rtl/CPU/T80_Pack.vhd similarity index 100% rename from src/CPU/T80_Pack.vhd rename to rtl/CPU/T80_Pack.vhd diff --git a/src/CPU/T80_Reg.vhd b/rtl/CPU/T80_Reg.vhd similarity index 100% rename from src/CPU/T80_Reg.vhd rename to rtl/CPU/T80_Reg.vhd diff --git a/src/CPU/T80s.vhd b/rtl/CPU/T80s.vhd similarity index 100% rename from src/CPU/T80s.vhd rename to rtl/CPU/T80s.vhd diff --git a/src/DPRAM1024_7.qip b/rtl/DPRAM1024_7.qip similarity index 100% rename from src/DPRAM1024_7.qip rename to rtl/DPRAM1024_7.qip diff --git a/src/DPRAM1024_7.v b/rtl/DPRAM1024_7.v similarity index 100% rename from src/DPRAM1024_7.v rename to rtl/DPRAM1024_7.v diff --git a/src/SOLOMON.v b/rtl/SOLOMON.v similarity index 100% rename from src/SOLOMON.v rename to rtl/SOLOMON.v diff --git a/src/SOLOMON_MAIN.v b/rtl/SOLOMON_MAIN.v similarity index 100% rename from src/SOLOMON_MAIN.v rename to rtl/SOLOMON_MAIN.v diff --git a/src/SOLOMON_ROMS.v b/rtl/SOLOMON_ROMS.v similarity index 100% rename from src/SOLOMON_ROMS.v rename to rtl/SOLOMON_ROMS.v diff --git a/src/SOLOMON_SOUND.v b/rtl/SOLOMON_SOUND.v similarity index 100% rename from src/SOLOMON_SOUND.v rename to rtl/SOLOMON_SOUND.v diff --git a/src/SOLOMON_VIDEO.v b/rtl/SOLOMON_VIDEO.v similarity index 100% rename from src/SOLOMON_VIDEO.v rename to rtl/SOLOMON_VIDEO.v diff --git a/src/YM2149_linmix_sep.vhd b/rtl/YM2149_linmix_sep.vhd similarity index 100% rename from src/YM2149_linmix_sep.vhd rename to rtl/YM2149_linmix_sep.vhd diff --git a/src/abusdriver.v b/rtl/abusdriver.v similarity index 100% rename from src/abusdriver.v rename to rtl/abusdriver.v diff --git a/src/mems.v b/rtl/mems.v similarity index 100% rename from src/mems.v rename to rtl/mems.v diff --git a/rtl/pll.13.qip b/rtl/pll.13.qip new file mode 100644 index 0000000..a5cd7dc --- /dev/null +++ b/rtl/pll.13.qip @@ -0,0 +1,13 @@ +set_global_assignment -entity "pll" -library "pll" -name IP_TOOL_NAME "altera_pll" +set_global_assignment -entity "pll" -library "pll" -name IP_TOOL_VERSION "13.1" +set_global_assignment -entity "pll" -library "pll" -name IP_TOOL_ENV "mwpim" +set_global_assignment -library "pll" -name MISC_FILE [file join $::quartus(qip_path) "pll.cmp"] +set_global_assignment -name SYNTHESIS_ONLY_QIP ON + +set_global_assignment -library "pll" -name VERILOG_FILE [file join $::quartus(qip_path) "pll.v"] +set_global_assignment -library "pll" -name VERILOG_FILE [file join $::quartus(qip_path) "pll/pll_0002.v"] +set_global_assignment -library "pll" -name QIP_FILE [file join $::quartus(qip_path) "pll/pll_0002_q13.qip"] + +set_global_assignment -entity "pll_0002" -library "pll" -name IP_TOOL_NAME "altera_pll" +set_global_assignment -entity "pll_0002" -library "pll" -name IP_TOOL_VERSION "13.1" +set_global_assignment -entity "pll_0002" -library "pll" -name IP_TOOL_ENV "mwpim" diff --git a/sys/pll.qip b/rtl/pll.qip similarity index 100% rename from sys/pll.qip rename to rtl/pll.qip diff --git a/sys/pll.v b/rtl/pll.v similarity index 100% rename from sys/pll.v rename to rtl/pll.v diff --git a/sys/pll/pll_0002.qip b/rtl/pll/pll_0002.qip similarity index 100% rename from sys/pll/pll_0002.qip rename to rtl/pll/pll_0002.qip diff --git a/sys/pll/pll_0002.v b/rtl/pll/pll_0002.v similarity index 100% rename from sys/pll/pll_0002.v rename to rtl/pll/pll_0002.v diff --git a/sys/pll/pll_0002_q13.qip b/rtl/pll/pll_0002_q13.qip similarity index 100% rename from sys/pll/pll_0002_q13.qip rename to rtl/pll/pll_0002_q13.qip diff --git a/src/z80ip.v b/rtl/z80ip.v similarity index 100% rename from src/z80ip.v rename to rtl/z80ip.v diff --git a/sys/alsa.sv b/sys/alsa.sv index e3aaa50..9034389 100644 --- a/sys/alsa.sv +++ b/sys/alsa.sv @@ -1,7 +1,7 @@ //============================================================================ // // ALSA sound support for MiSTer -// (c)2019 Sorgelig +// (c)2019,2020 Alexey Melnikov // // This program is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free @@ -20,113 +20,137 @@ //============================================================================ module alsa +#( + parameter CLK_RATE = 24576000 +) ( input reset, - - output reg en_out, - input en_in, - - input ram_clk, - output reg [28:0] ram_address, - output reg [7:0] ram_burstcount, - input ram_waitrequest, - input [63:0] ram_readdata, - input ram_readdatavalid, - output reg ram_read, + input clk, + + output reg [31:3] ram_address, + input [63:0] ram_data, + output reg ram_req = 0, + input ram_ready, input spi_ss, input spi_sck, input spi_mosi, + output spi_miso, output reg [15:0] pcm_l, output reg [15:0] pcm_r ); -reg spi_new = 0; -reg [127:0] spi_data; +reg [60:0] buf_info; +reg [6:0] spicnt = 0; always @(posedge spi_sck, posedge spi_ss) begin - reg [7:0] mosi; - reg [6:0] spicnt = 0; + reg [95:0] spi_data; if(spi_ss) spicnt <= 0; else begin - mosi <= {mosi[6:0],spi_mosi}; - + spi_data[{spicnt[6:3],~spicnt[2:0]}] <= spi_mosi; + if(&spicnt) buf_info <= {spi_data[82:67],spi_data[50:35],spi_data[31:3]}; spicnt <= spicnt + 1'd1; - if(&spicnt[2:0]) begin - spi_data[{spicnt[6:3],3'b000} +:8] <= {mosi[6:0],spi_mosi}; - spi_new <= &spicnt; - end end end -reg [31:0] buf_addr; -reg [31:0] buf_len; -reg [31:0] buf_wptr = 0; +assign spi_miso = spi_out[{spicnt[4:3],~spicnt[2:0]}]; -always @(posedge ram_clk) begin - reg n1,n2,n3; - reg [127:0] data1,data2; +reg [31:0] spi_out = 0; +always @(posedge clk) if(spi_ss) spi_out <= {buf_rptr, hurryup, 8'h00}; - n1 <= spi_new; - n2 <= n1; - n3 <= n2; - data1 <= spi_data; +reg [31:3] buf_addr; +reg [18:3] buf_len; +reg [18:3] buf_wptr = 0; + +always @(posedge clk) begin + reg [60:0] data1,data2; + + data1 <= buf_info; data2 <= data1; - - if(~n3 & n2) {buf_wptr,buf_len,buf_addr} <= data2[95:0]; + if(data2 == data1) {buf_wptr,buf_len,buf_addr} <= data2; end -reg [31:0] buf_rptr = 0; -always @(posedge ram_clk) begin - reg got_first = 0; - reg ready = 0; - reg ud = 0; - reg [31:0] readdata; +reg [2:0] hurryup = 0; +reg [18:3] buf_rptr = 0; - if(~ram_waitrequest) ram_read <= 0; - if(ram_readdatavalid && ram_burstcount) begin - ram_burstcount <= 0; - ready <= 1; - readdata <= ud ? ram_readdata[63:32] : ram_readdata[31:0]; - if(buf_rptr[31:2] >= buf_len[31:2]) buf_rptr <= 0; - end +always @(posedge clk) begin + reg [18:3] len = 0; + reg [1:0] ready = 0; + reg [63:0] readdata; + reg got_first = 0; + reg [7:0] ce_cnt = 0; + reg [1:0] state = 0; - if(reset) {ready, got_first, ram_burstcount} <= 0; - else - if(buf_rptr[31:2] != buf_wptr[31:2]) begin - if(~got_first) begin - buf_rptr <= buf_wptr; - got_first <= 1; - end - else - if(!ram_burstcount && ~ram_waitrequest && ~ready && en_out == en_in) begin - ram_address <= buf_addr[31:3] + buf_rptr[31:3]; - ud <= buf_rptr[2]; - ram_burstcount <= 1; - ram_read <= 1; - buf_rptr <= buf_rptr + 4; - end + if(reset) begin + ready <= 0; + ce_cnt <= 0; + state <= 0; + got_first <= 0; + len <= 0; end + else begin - if(ready & ce_48k) begin - {pcm_r,pcm_l} <= readdata; - ready <= 0; + //ramp up + if(len[18:14] && (hurryup < 1)) hurryup <= 1; + if(len[18:16] && (hurryup < 2)) hurryup <= 2; + if(len[18:17] && (hurryup < 4)) hurryup <= 4; + + //ramp down + if(!len[18:15] && (hurryup > 2)) hurryup <= 2; + if(!len[18:13] && (hurryup > 1)) hurryup <= 1; + if(!len[18:10]) hurryup <= 0; + + if(ce_sample && ~&ce_cnt) ce_cnt <= ce_cnt + 1'd1; + + case(state) + 0: if(!ce_sample) begin + if(ready) begin + if(ce_cnt) begin + {readdata[31:0],pcm_r,pcm_l} <= readdata; + ready <= ready - 1'd1; + ce_cnt <= ce_cnt - 1'd1; + end + end + else if(buf_rptr != buf_wptr) begin + if(~got_first) begin + buf_rptr <= buf_wptr; + got_first <= 1; + end + else begin + ram_address <= buf_addr + buf_rptr; + ram_req <= ~ram_req; + buf_rptr <= buf_rptr + 1'd1; + len <= (buf_wptr < buf_rptr) ? (buf_len + buf_wptr - buf_rptr) : (buf_wptr - buf_rptr); + state <= 1; + end + end + else begin + len <= 0; + ce_cnt <= 0; + hurryup <= 0; + end + end + 1: if(ram_ready) begin + ready <= 2; + readdata <= ram_data; + if(buf_rptr >= buf_len) buf_rptr <= buf_rptr - buf_len; + state <= 0; + end + endcase end - - if(ce_48k) en_out <= ~en_out; end -reg ce_48k; -always @(posedge ram_clk) begin - reg [15:0] acc = 0; +reg ce_sample; +always @(posedge clk) begin + reg [31:0] acc = 0; - ce_48k <= 0; - acc <= acc + 16'd48; - if(acc >= 50000) begin - acc <= acc - 16'd50000; - ce_48k <= 1; + ce_sample <= 0; + acc <= acc + 48000 + {hurryup,6'd0}; + if(acc >= CLK_RATE) begin + acc <= acc - CLK_RATE; + ce_sample <= 1; end end diff --git a/sys/arcade_video.v b/sys/arcade_video.v index 998bfd2..a1683f5 100644 --- a/sys/arcade_video.v +++ b/sys/arcade_video.v @@ -1,506 +1,302 @@ -//============================================================================ -// -// Copyright (C) 2017-2019 Sorgelig -// -//============================================================================ - -////////////////////////////////////////////////////////// -// DW: -// 6 : 2R 2G 2B -// 8 : 3R 3G 2B -// 9 : 3R 3G 3B -// 12 : 4R 4G 4B - -module arcade_rotate_fx #(parameter WIDTH=320, HEIGHT=240, DW=8, CCW=0, GAMMA=1) -( - input clk_video, - input ce_pix, - - input[DW-1:0] RGB_in, - input HBlank, - input VBlank, - input HSync, - input VSync, - - output VGA_CLK, - output VGA_CE, - output [7:0] VGA_R, - output [7:0] VGA_G, - output [7:0] VGA_B, - output VGA_HS, - output VGA_VS, - output VGA_DE, - - output HDMI_CLK, - output HDMI_CE, - output [7:0] HDMI_R, - output [7:0] HDMI_G, - output [7:0] HDMI_B, - output HDMI_HS, - output HDMI_VS, - output HDMI_DE, - output [1:0] HDMI_SL, - - input [2:0] fx, - input forced_scandoubler, - input no_rotate, - input direct_video, - inout [21:0] gamma_bus -); - -wire [7:0] R,G,B; -wire CE,HS,VS,HBL,VBL; - -wire [DW-1:0] RGB_fix; -wire VGA_HBL, VGA_VBL; -arcade_vga #(DW) vga -( - .clk_video(clk_video), - .ce_pix(ce_pix), - - .RGB_in(RGB_in), - .HBlank(HBlank), - .VBlank(VBlank), - .HSync(HSync), - .VSync(VSync), - - .RGB_out(RGB_fix), - .VGA_CLK(VGA_CLK), - .VGA_CE(CE), - .VGA_R(R), - .VGA_G(G), - .VGA_B(B), - .VGA_HS(HS), - .VGA_VS(VS), - .VGA_HBL(HBL), - .VGA_VBL(VBL) -); - -wire [DW-1:0] RGB_out; -wire rhs,rvs,rhblank,rvblank; - -screen_rotate #(WIDTH,HEIGHT,DW,4,CCW) rotator -( - .clk(VGA_CLK), - .ce(CE), - - .video_in(RGB_fix), - .hblank(HBL), - .vblank(VBL), - - .ce_out(CE | (~scandoubler & ~gamma_bus[19])), - .video_out(RGB_out), - .hsync(rhs), - .vsync(rvs), - .hblank_out(rhblank), - .vblank_out(rvblank) -); - -wire [3:0] Rr,Gr,Br; - -generate - if(DW == 6) begin - assign Rr = {RGB_out[5:4],RGB_out[5:4]}; - assign Gr = {RGB_out[3:2],RGB_out[3:2]}; - assign Br = {RGB_out[1:0],RGB_out[1:0]}; - end - else if(DW == 8) begin - assign Rr = {RGB_out[7:5],RGB_out[7]}; - assign Gr = {RGB_out[4:2],RGB_out[4]}; - assign Br = {RGB_out[1:0],RGB_out[1:0]}; - end - else if(DW == 9) begin - assign Rr = {RGB_out[8:6],RGB_out[8]}; - assign Gr = {RGB_out[5:3],RGB_out[5]}; - assign Br = {RGB_out[2:0],RGB_out[2]}; - end - else begin - assign Rr = RGB_out[11:8]; - assign Gr = RGB_out[7:4]; - assign Br = RGB_out[3:0]; - end -endgenerate - -reg norot; -always @(posedge VGA_CLK) norot <= no_rotate | direct_video; - -assign HDMI_CLK = VGA_CLK; -assign HDMI_SL = (no_rotate & ~direct_video) ? 2'd0 : sl[1:0]; -wire [2:0] sl = fx ? fx - 1'd1 : 3'd0; -wire scandoubler = fx || forced_scandoubler; - -video_mixer #(WIDTH+4, 1, GAMMA) video_mixer -( - .clk_vid(HDMI_CLK), - .ce_pix(CE | (~scandoubler & ~gamma_bus[19] & ~direct_video)), - .ce_pix_out(HDMI_CE), - - .scandoubler(scandoubler), - .hq2x(fx==1), - .gamma_bus(gamma_bus), - - .R(norot ? R[7:4] : Rr), - .G(norot ? G[7:4] : Gr), - .B(norot ? B[7:4] : Br), - - .HSync (norot ? HS : rhs), - .VSync (norot ? VS : rvs), - .HBlank(norot ? HBL : rhblank), - .VBlank(norot ? VBL : rvblank), - - .VGA_R(HDMI_R), - .VGA_G(HDMI_G), - .VGA_B(HDMI_B), - .VGA_VS(HDMI_VS), - .VGA_HS(HDMI_HS), - .VGA_DE(HDMI_DE) -); - -assign VGA_CE = direct_video ? HDMI_CE : CE; -assign VGA_R = direct_video ? HDMI_R : R; -assign VGA_G = direct_video ? HDMI_G : G; -assign VGA_B = direct_video ? HDMI_B : B; -assign VGA_HS = direct_video ? HDMI_HS : HS; -assign VGA_VS = direct_video ? HDMI_VS : VS; -assign VGA_DE = direct_video ? HDMI_DE : ~(HBL | VBL); - -endmodule - -////////////////////////////////////////////////////////// -// DW: -// 6 : 2R 2G 2B -// 8 : 3R 3G 2B -// 9 : 3R 3G 3B -// 12 : 4R 4G 4B - -module arcade_fx #(parameter WIDTH=320, DW=8, GAMMA=1) -( - input clk_video, - input ce_pix, - - input[DW-1:0] RGB_in, - input HBlank, - input VBlank, - input HSync, - input VSync, - - output VGA_CLK, - output VGA_CE, - output [7:0] VGA_R, - output [7:0] VGA_G, - output [7:0] VGA_B, - output VGA_HS, - output VGA_VS, - output VGA_DE, - - output HDMI_CLK, - output HDMI_CE, - output [7:0] HDMI_R, - output [7:0] HDMI_G, - output [7:0] HDMI_B, - output HDMI_HS, - output HDMI_VS, - output HDMI_DE, - output [1:0] HDMI_SL, - - input [2:0] fx, - input forced_scandoubler, - inout [21:0] gamma_bus -); - -wire [7:0] R,G,B; -wire CE,HS,VS,HBL,VBL; - -wire VGA_HBL, VGA_VBL; -arcade_vga #(DW) vga -( - .clk_video(clk_video), - .ce_pix(ce_pix), - - .RGB_in(RGB_in), - .HBlank(HBlank), - .VBlank(VBlank), - .HSync(HSync), - .VSync(VSync), - - .VGA_CLK(VGA_CLK), - .VGA_CE(CE), - .VGA_R(R), - .VGA_G(G), - .VGA_B(B), - .VGA_HS(HS), - .VGA_VS(VS), - .VGA_HBL(HBL), - .VGA_VBL(VBL) -); - -assign HDMI_CLK = VGA_CLK; -assign HDMI_SL = sl[1:0]; -wire [2:0] sl = fx ? fx - 1'd1 : 3'd0; -wire scandoubler = fx || forced_scandoubler; - -video_mixer #(WIDTH+4, 1, GAMMA) video_mixer -( - .clk_vid(HDMI_CLK), - .ce_pix(CE), - .ce_pix_out(HDMI_CE), - - .scandoubler(scandoubler), - .hq2x(fx==1), - .gamma_bus(gamma_bus), - - .R(R[7:4]), - .G(G[7:4]), - .B(B[7:4]), - - .HSync(HS), - .VSync(VS), - .HBlank(HBL), - .VBlank(VBL), - - .VGA_R(HDMI_R), - .VGA_G(HDMI_G), - .VGA_B(HDMI_B), - .VGA_VS(HDMI_VS), - .VGA_HS(HDMI_HS), - .VGA_DE(HDMI_DE) -); - -assign VGA_CE = HDMI_CE; -assign VGA_R = HDMI_R; -assign VGA_G = HDMI_G; -assign VGA_B = HDMI_B; -assign VGA_HS = HDMI_HS; -assign VGA_VS = HDMI_VS; -assign VGA_DE = HDMI_DE; - -endmodule - -////////////////////////////////////////////////////////// - -module arcade_vga #(parameter DW) -( - input clk_video, - input ce_pix, - - input [DW-1:0] RGB_in, - input HBlank, - input VBlank, - input HSync, - input VSync, - - output[DW-1:0] RGB_out, - output VGA_CLK, - output reg VGA_CE, - output [7:0] VGA_R, - output [7:0] VGA_G, - output [7:0] VGA_B, - output reg VGA_HS, - output reg VGA_VS, - output reg VGA_HBL, - output reg VGA_VBL -); - -assign VGA_CLK = clk_video; - -wire hs_fix,vs_fix; -sync_fix sync_v(VGA_CLK, HSync, hs_fix); -sync_fix sync_h(VGA_CLK, VSync, vs_fix); - -reg [DW-1:0] RGB_fix; - -always @(posedge VGA_CLK) begin - reg old_ce; - old_ce <= ce_pix; - VGA_CE <= 0; - if(~old_ce & ce_pix) begin - VGA_CE <= 1; - VGA_HS <= hs_fix; - if(~VGA_HS & hs_fix) VGA_VS <= vs_fix; - - RGB_fix <= RGB_in; - VGA_HBL <= HBlank; - if(VGA_HBL & ~HBlank) VGA_VBL <= VBlank; - end -end - -assign RGB_out = RGB_fix; - -generate - if(DW == 6) begin - assign VGA_R = {RGB_fix[5:4],RGB_fix[5:4],RGB_fix[5:4],RGB_fix[5:4]}; - assign VGA_G = {RGB_fix[3:2],RGB_fix[3:2],RGB_fix[3:2],RGB_fix[3:2]}; - assign VGA_B = {RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0]}; - end - else if(DW == 8) begin - assign VGA_R = {RGB_fix[7:5],RGB_fix[7:5],RGB_fix[7:6]}; - assign VGA_G = {RGB_fix[4:2],RGB_fix[4:2],RGB_fix[4:3]}; - assign VGA_B = {RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0]}; - end - else if(DW == 9) begin - assign VGA_R = {RGB_fix[8:6],RGB_fix[8:6],RGB_fix[8:7]}; - assign VGA_G = {RGB_fix[5:3],RGB_fix[5:3],RGB_fix[5:4]}; - assign VGA_B = {RGB_fix[2:0],RGB_fix[2:0],RGB_fix[2:1]}; - end - else begin - assign VGA_R = {RGB_fix[11:8],RGB_fix[11:8]}; - assign VGA_G = {RGB_fix[7:4],RGB_fix[7:4]}; - assign VGA_B = {RGB_fix[3:0],RGB_fix[3:0]}; - end -endgenerate - -endmodule - -//============================================================================ -// -// Screen +90/-90 deg. rotation -// Copyright (C) 2017-2019 Sorgelig -// -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -//============================================================================ - -// -// Output timings are incompatible with any TV/VGA mode. -// The output is supposed to be send to scaler input. -// -module screen_rotate #(parameter WIDTH=320, HEIGHT=240, DEPTH=8, MARGIN=4, CCW=0) -( - input clk, - input ce, - - input [DEPTH-1:0] video_in, - input hblank, - input vblank, - - input ce_out, - output [DEPTH-1:0] video_out, - output reg hsync, - output reg vsync, - output reg hblank_out, - output reg vblank_out -); - -localparam bufsize = WIDTH*HEIGHT; -localparam memsize = bufsize*2; -localparam aw = $clog2(memsize); // resolutions up to ~ 512x256 - -reg [aw-1:0] addr_in, addr_out; -reg we_in; -reg buff = 0; - -(* ramstyle="no_rw_check" *) reg [DEPTH-1:0] ram[memsize]; -always @ (posedge clk) if (en_we) ram[addr_in] <= video_in; -always @ (posedge clk) out <= ram[addr_out]; - -reg [DEPTH-1:0] out; -reg [DEPTH-1:0] vout; - -assign video_out = vout; - -wire en_we = ce & ~blank & en_x & en_y; -wire en_x = (xpos=MARGIN) && (yposo (HEIGHT + 16)) begin - xposo <= 0; - - if(yposo >= (WIDTH+MARGIN+MARGIN)) begin - vblank_out <= 1; - vbcnt <= vbcnt + 1; - if(vbcnt == 10 ) vsync <= 1; - if(vbcnt == 12) vsync <= 0; - end - else yposo <= yposo + 1; - - old_buff <= buff; - if(old_buff != buff) begin - addr_out <= buff ? {aw{1'b0}} : bufsize[aw-1:0]; - yposo <= 0; - vsync <= 0; - vbcnt <= 0; - vblank_out <= 0; - end - end - end - - if(ced) begin - if((yposd=WIDTH+MARGIN)) begin - vout <= 0; - end else begin - vout <= out; - end - if(xposd == 0) hblank_out <= 0; - if(xposd == HEIGHT) hblank_out <= 1; - end -end - -endmodule +//============================================================================ +// +// Copyright (C) 2017-2020 Sorgelig +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +//============================================================================ + +////////////////////////////////////////////////////////// +// DW: +// 6 : 2R 2G 2B +// 8 : 3R 3G 2B +// 9 : 3R 3G 3B +// 12 : 4R 4G 4B +// 24 : 8R 8G 8B + +module arcade_video #(parameter WIDTH=320, DW=8, GAMMA=1) +( + input clk_video, + input ce_pix, + + input[DW-1:0] RGB_in, + input HBlank, + input VBlank, + input HSync, + input VSync, + + output CLK_VIDEO, + output CE_PIXEL, + output [7:0] VGA_R, + output [7:0] VGA_G, + output [7:0] VGA_B, + output VGA_HS, + output VGA_VS, + output VGA_DE, + output [1:0] VGA_SL, + + input [2:0] fx, + input forced_scandoubler, + inout [21:0] gamma_bus +); + +assign CLK_VIDEO = clk_video; + +wire hs_fix,vs_fix; +sync_fix sync_v(CLK_VIDEO, HSync, hs_fix); +sync_fix sync_h(CLK_VIDEO, VSync, vs_fix); + +reg [DW-1:0] RGB_fix; + +reg CE,HS,VS,HBL,VBL; +always @(posedge CLK_VIDEO) begin + reg old_ce; + old_ce <= ce_pix; + CE <= 0; + if(~old_ce & ce_pix) begin + CE <= 1; + HS <= hs_fix; + if(~HS & hs_fix) VS <= vs_fix; + + RGB_fix <= RGB_in; + HBL <= HBlank; + if(HBL & ~HBlank) VBL <= VBlank; + end +end + +wire [7:0] R,G,B; + +generate + if(DW == 6) begin + assign R = {RGB_fix[5:4],RGB_fix[5:4],RGB_fix[5:4],RGB_fix[5:4]}; + assign G = {RGB_fix[3:2],RGB_fix[3:2],RGB_fix[3:2],RGB_fix[3:2]}; + assign B = {RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0]}; + end + else if(DW == 8) begin + assign R = {RGB_fix[7:5],RGB_fix[7:5],RGB_fix[7:6]}; + assign G = {RGB_fix[4:2],RGB_fix[4:2],RGB_fix[4:3]}; + assign B = {RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0],RGB_fix[1:0]}; + end + else if(DW == 9) begin + assign R = {RGB_fix[8:6],RGB_fix[8:6],RGB_fix[8:7]}; + assign G = {RGB_fix[5:3],RGB_fix[5:3],RGB_fix[5:4]}; + assign B = {RGB_fix[2:0],RGB_fix[2:0],RGB_fix[2:1]}; + end + else if(DW == 12) begin + assign R = {RGB_fix[11:8],RGB_fix[11:8]}; + assign G = {RGB_fix[7:4],RGB_fix[7:4]}; + assign B = {RGB_fix[3:0],RGB_fix[3:0]}; + end + else begin // 24 + assign R = RGB_fix[23:16]; + assign G = RGB_fix[15:8]; + assign B = RGB_fix[7:0]; + end +endgenerate + +assign VGA_SL = sl[1:0]; +wire [2:0] sl = fx ? fx - 1'd1 : 3'd0; +wire scandoubler = fx || forced_scandoubler; + +video_mixer #(.LINE_LENGTH(WIDTH+4), .HALF_DEPTH(DW!=24), .GAMMA(GAMMA)) video_mixer +( + .clk_vid(CLK_VIDEO), + .ce_pix(CE), + .ce_pix_out(CE_PIXEL), + + .scandoubler(scandoubler), + .hq2x(fx==1), + .gamma_bus(gamma_bus), + + .R((DW!=24) ? R[7:4] : R), + .G((DW!=24) ? G[7:4] : G), + .B((DW!=24) ? B[7:4] : B), + + .HSync (HS), + .VSync (VS), + .HBlank(HBL), + .VBlank(VBL), + + .VGA_R(VGA_R), + .VGA_G(VGA_G), + .VGA_B(VGA_B), + .VGA_VS(VGA_VS), + .VGA_HS(VGA_HS), + .VGA_DE(VGA_DE) +); + +endmodule + +//============================================================================ +// +// Screen +90/-90 deg. rotation +// Copyright (C) 2020 Sorgelig +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +//============================================================================ + +module screen_rotate +( + input CLK_VIDEO, + input CE_PIXEL, + + input [7:0] VGA_R, + input [7:0] VGA_G, + input [7:0] VGA_B, + input VGA_HS, + input VGA_VS, + input VGA_DE, + + input rotate_ccw, + input no_rotate, + + output FB_EN, + output [4:0] FB_FORMAT, + output [11:0] FB_WIDTH, + output [11:0] FB_HEIGHT, + output [31:0] FB_BASE, + output [13:0] FB_STRIDE, + input FB_VBL, + input FB_LL, + + output DDRAM_CLK, + input DDRAM_BUSY, + output [7:0] DDRAM_BURSTCNT, + output [28:0] DDRAM_ADDR, + output [63:0] DDRAM_DIN, + output [7:0] DDRAM_BE, + output DDRAM_WE, + output DDRAM_RD +); + +parameter MEM_BASE = 7'b0010010; // buffer at 0x24000000, 3x8MB + +assign DDRAM_CLK = CLK_VIDEO; +assign DDRAM_BURSTCNT = 1; +assign DDRAM_ADDR = {MEM_BASE, i_fb, ram_addr[22:3]}; +assign DDRAM_BE = ram_addr[2] ? 8'hF0 : 8'h0F; +assign DDRAM_DIN = {ram_data,ram_data}; +assign DDRAM_WE = ram_wr; +assign DDRAM_RD = 0; + +assign FB_EN = fb_en[2]; +assign FB_FORMAT = 5'b00110; +assign FB_BASE = {MEM_BASE,o_fb,23'd0}; +assign FB_WIDTH = vsz; +assign FB_HEIGHT = hsz; +assign FB_STRIDE = stride; + +function [1:0] buf_next; + input [1:0] a,b; + begin + buf_next = 1; + if ((a==0 && b==1) || (a==1 && b==0)) buf_next = 2; + if ((a==1 && b==2) || (a==2 && b==1)) buf_next = 0; + end +endfunction + +reg [1:0] i_fb,o_fb; +always @(posedge CLK_VIDEO) begin + reg old_vbl,old_vs; + old_vbl <= FB_VBL; + old_vs <= VGA_VS; + + if(FB_LL) begin + if(~old_vbl & FB_VBL) o_fb<={1'b0,~i_fb[0]}; + if(~old_vs & VGA_VS) i_fb<={1'b0,~i_fb[0]}; + end + else begin + if(~old_vbl & FB_VBL) o_fb<=buf_next(o_fb,i_fb); + if(~old_vs & VGA_VS) i_fb<=buf_next(i_fb,o_fb); + end +end + +initial begin + fb_en = 0; +end + +reg [2:0] fb_en = 0; +reg [11:0] hsz = 320, vsz = 240; +reg [11:0] bwidth; +reg [22:0] bufsize; +always @(posedge CLK_VIDEO) begin + reg [11:0] hcnt = 0, vcnt = 0; + reg old_vs, old_de; + + if(CE_PIXEL) begin + old_vs <= VGA_VS; + old_de <= VGA_DE; + + hcnt <= hcnt + 1'd1; + if(~old_de & VGA_DE) begin + hcnt <= 1; + vcnt <= vcnt + 1'd1; + end + if(old_de & ~VGA_DE) hsz <= hcnt; + if(~old_vs & VGA_VS) begin + vsz <= vcnt; + bwidth <= vcnt + 2'd3; + vcnt <= 0; + fb_en <= {fb_en[1:0], ~no_rotate}; + end + if(old_vs & ~VGA_VS) bufsize <= hsz * stride; + end +end + +wire [13:0] stride = {bwidth[11:2], 4'd0}; + +reg [22:0] ram_addr, next_addr; +reg [31:0] ram_data; +reg ram_wr; +always @(posedge CLK_VIDEO) begin + reg [13:0] hcnt = 0; + reg old_vs, old_de; + + ram_wr <= 0; + if(CE_PIXEL) begin + old_vs <= VGA_VS; + old_de <= VGA_DE; + + if(~old_vs & VGA_VS) begin + next_addr <= rotate_ccw ? (bufsize - stride) : {vsz-1'd1, 2'b00}; + hcnt <= rotate_ccw ? 3'd4 : {vsz-2'd2, 2'b00}; + end + if(VGA_DE) begin + ram_wr <= 1; + ram_data <= {VGA_B,VGA_G,VGA_R}; + ram_addr <= next_addr; + next_addr <= rotate_ccw ? (next_addr - stride) : (next_addr + stride); + end + if(old_de & ~VGA_DE) begin + next_addr <= rotate_ccw ? (bufsize - stride + hcnt) : hcnt; + hcnt <= rotate_ccw ? (hcnt + 3'd4) : (hcnt - 3'd4); + end + end +end + +endmodule diff --git a/sys/ascal.vhd b/sys/ascal.vhd index 3641286..6d687ac 100644 --- a/sys/ascal.vhd +++ b/sys/ascal.vhd @@ -1,14 +1,14 @@ -------------------------------------------------------------------------------- -- AVALON SCALER -------------------------------------------------------------------------------- --- TEMLIB 10/2018 +-- TEMLIB 2018 - 2020 -------------------------------------------------------------------------------- -- This code can be freely distributed and used for any purpose, but, if you -- find any bug, or want to suggest an enhancement, you ought to send a mail -- to info@temlib.org. -------------------------------------------------------------------------------- --- Features : +-- Features -- - Arbitrary output video format -- - Autodetect input image size or fixed window -- - Progressive and interlaced input @@ -30,7 +30,7 @@ -- below 1x) them. -------------------------------------------- --- 5 clock domains : +-- 5 clock domains -- i_xxx : Input video -- o_xxx : Output video -- avl_xxx : Avalon memory bus @@ -54,10 +54,10 @@ -- 1 : Pixel format -- 0 : 16 bits/pixel, RGB : RRRRRGGGGGGBBBBB -- 1 : 24 bits/pixel, RGB --- 2 : 32 bits/pixels RGB0 +-- 2 : 32 bits/pixel, RGB0 -- 3:2 : Header size : Offset to start of picture (= N_BURST). 12 bits --- 5:4 : Attributes. TBD +-- 5:4 : Attributes -- b0 ; Interlaced -- b1 : Field number -- b2 : Horizontal downscaled @@ -83,7 +83,7 @@ USE ieee.numeric_std.ALL; -- 100 : Polyphase -- 101 : TBD -- 110 : TBD --- 111 : TEST +-- 111 : TBD -- MODE[3] -- 0 : Direct. Single framebuffer. @@ -98,7 +98,8 @@ USE ieee.numeric_std.ALL; -- Must be a power of two -- INTER : True=Autodetect interlaced video False=Force progressive scan -- HEADER : True=Add image properties header --- PALETTE : Enable palette for framebuffer -8bpp mode +-- PALETTE : Enable palette for framebuffer 8bpp mode +-- PALETTE2 : Enable palette for framebuffer 8bpp mode supplied by core -- DOWNSCALE : True=Support downscaling False=Downscaling disabled -- BYTESWAP : Little/Big endian byte swap -- FRAC : Fractional bits, subpixel resolution @@ -120,6 +121,7 @@ ENTITY ascal IS DOWNSCALE : boolean := true; BYTESWAP : boolean := true; PALETTE : boolean := true; + PALETTE2 : boolean := true; FRAC : natural RANGE 4 TO 6 :=4; OHRES : natural RANGE 1 TO 4096 :=2048; IHRES : natural RANGE 1 TO 2048 :=2048; @@ -148,6 +150,7 @@ ENTITY ascal IS o_hs : OUT std_logic; -- H sync o_vs : OUT std_logic; -- V sync o_de : OUT std_logic; -- Display Enable + o_vbl : OUT std_logic; -- V blank o_ce : IN std_logic; -- Clock Enable o_clk : IN std_logic; -- Output clock @@ -161,13 +164,22 @@ ENTITY ascal IS o_fb_vsize : IN natural RANGE 0 TO 4095 :=0; o_fb_format : IN unsigned(5 DOWNTO 0) :="000100"; o_fb_base : IN unsigned(31 DOWNTO 0) :=x"0000_0000"; - + o_fb_stride : IN unsigned(13 DOWNTO 0) :=(OTHERS =>'0'); + -- Framebuffer palette in 8bpp mode - pal_clk : IN std_logic :='0'; - pal_dw : IN unsigned(23 DOWNTO 0) :=x"000000"; -- R G B - pal_dr : OUT unsigned(23 DOWNTO 0) :=x"000000"; - pal_a : IN unsigned(7 DOWNTO 0) :=x"00"; -- Colour index - pal_wr : IN std_logic :='0'; + pal1_clk : IN std_logic :='0'; + pal1_dw : IN unsigned(47 DOWNTO 0) :=x"000000000000"; -- R1 G1 B1 R0 G0 B0 + pal1_dr : OUT unsigned(47 DOWNTO 0) :=x"000000000000"; + pal1_a : IN unsigned(6 DOWNTO 0) :="0000000"; -- Colour index/2 + pal1_wr : IN std_logic :='0'; + + pal_n : IN std_logic :='0'; + + pal2_clk : IN std_logic :='0'; + pal2_dw : IN unsigned(23 DOWNTO 0) :=x"000000"; -- R G B + pal2_dr : OUT unsigned(23 DOWNTO 0) :=x"000000"; + pal2_a : IN unsigned(7 DOWNTO 0) :="00000000"; -- Colour index + pal2_wr : IN std_logic :='0'; ------------------------------------ -- Low lag PLL tuning @@ -175,11 +187,15 @@ ENTITY ascal IS ------------------------------------ -- Input video parameters - iauto : IN std_logic; -- 1=Autodetect image size 0=Choose window - himin : IN natural RANGE 0 TO 4095; -- MIN < MAX, MIN >=0, MAX < DISP - himax : IN natural RANGE 0 TO 4095; - vimin : IN natural RANGE 0 TO 4095; - vimax : IN natural RANGE 0 TO 4095; + iauto : IN std_logic :='1'; -- 1=Autodetect image size 0=Choose window + himin : IN natural RANGE 0 TO 4095 :=0; -- MIN < MAX, MIN >=0, MAX < DISP + himax : IN natural RANGE 0 TO 4095 :=0; + vimin : IN natural RANGE 0 TO 4095 :=0; + vimax : IN natural RANGE 0 TO 4095 :=0; + + -- Detected input image size + i_hdmax : OUT natural RANGE 0 TO 4095; + i_vdmax : OUT natural RANGE 0 TO 4095; -- Output video parameters run : IN std_logic :='1'; -- 1=Enable output image. 0=No image @@ -187,7 +203,7 @@ ENTITY ascal IS mode : IN unsigned(4 DOWNTO 0); -- SYNC |_________________________/"""""""""\_______| -- DE |""""""""""""""""""\________________________| - -- RGB | <#IMAGE#> ^HDISP | + -- RGB | <#IMAGE#> ^HDISP | -- ^HMIN ^HMAX ^HSSTART ^HSEND ^HTOTAL htotal : IN natural RANGE 0 TO 4095; hsstart : IN natural RANGE 0 TO 4095; @@ -283,11 +299,12 @@ ARCHITECTURE rtl OF ascal IS SUBTYPE uint12 IS natural RANGE 0 TO 4095; SUBTYPE uint13 IS natural RANGE 0 TO 8191; + TYPE arr_uv48 IS ARRAY (natural RANGE <>) OF unsigned(47 DOWNTO 0); TYPE arr_uv24 IS ARRAY (natural RANGE <>) OF unsigned(23 DOWNTO 0); TYPE arr_uv36 IS ARRAY (natural RANGE <>) OF unsigned(35 DOWNTO 0); TYPE arr_int9 IS ARRAY (natural RANGE <>) OF integer RANGE -256 TO 255; TYPE arr_uint12 IS ARRAY (natural RANGE <>) OF uint12; - + ---------------------------------------------------------- -- Input image SIGNAL i_pvs,i_pfl,i_pde,i_pce : std_logic; @@ -386,8 +403,14 @@ ARCHITECTURE rtl OF ascal IS SIGNAL o_mode,o_hmode,o_vmode : unsigned(4 DOWNTO 0); SIGNAL o_format : unsigned(5 DOWNTO 0); SIGNAL o_fb_pal_dr : unsigned(23 DOWNTO 0); - SIGNAL pal_mem : arr_uv24(0 TO 255); - ATTRIBUTE ramstyle of pal_mem : signal is "no_rw_check"; + SIGNAL o_fb_pal_dr2 : unsigned(23 DOWNTO 0); + SIGNAL o_fb_pal_dr_x2 : unsigned(47 DOWNTO 0); + SIGNAL pal_idx: unsigned(7 DOWNTO 0); + SIGNAL pal_idx_lsb: std_logic; + SIGNAL pal1_mem : arr_uv48(0 TO 127); + SIGNAL pal2_mem : arr_uv24(0 TO 255); + ATTRIBUTE ramstyle of pal1_mem : signal is "no_rw_check"; + ATTRIBUTE ramstyle of pal2_mem : signal is "no_rw_check"; SIGNAL o_htotal,o_hsstart,o_hsend : uint12; SIGNAL o_hmin,o_hmax,o_hdisp : uint12; SIGNAL o_hsize,o_vsize : uint12; @@ -397,14 +420,18 @@ ARCHITECTURE rtl OF ascal IS SIGNAL o_iendframe0,o_iendframe02,o_iendframe1,o_iendframe12 : std_logic; SIGNAL o_bufup0,o_bufup1,o_inter : std_logic; SIGNAL o_ibuf0,o_ibuf1,o_obuf0,o_obuf1 : natural RANGE 0 TO 2; - TYPE type_o_state IS (sDISP,sHSYNC,sREAD,sWAITREAD); - SIGNAL o_state : type_o_state; - SIGNAL o_copy,o_readack,o_readack_sync,o_readack_sync2 : std_logic; + TYPE enum_o_state IS (sDISP,sHSYNC,sREAD,sWAITREAD); + SIGNAL o_state : enum_o_state; + TYPE enum_o_copy IS (sWAIT,sSHIFT,sCOPY); + SIGNAL o_copy : enum_o_copy; + SIGNAL o_pshift : natural RANGE 0 TO 15; + SIGNAL o_readack,o_readack_sync,o_readack_sync2 : std_logic; SIGNAL o_readdataack,o_readdataack_sync,o_readdataack_sync2 : std_logic; SIGNAL o_copyv : unsigned(0 TO 8); SIGNAL o_adrs : unsigned(31 DOWNTO 0); -- Avalon address - SIGNAL o_adrs_pre : natural RANGE 0 TO 32*4096-1; - SIGNAL o_adrsa,o_rline : std_logic; + SIGNAL o_adrs_pre : natural RANGE 0 TO 2**23-1; + SIGNAL o_stride : unsigned(13 DOWNTO 0); + SIGNAL o_adrsa,o_adrsb,o_rline : std_logic; SIGNAL o_ad,o_ad1,o_ad2,o_ad3 : natural RANGE 0 TO 2*BLEN-1; SIGNAL o_adturn : std_logic; SIGNAL o_dr : unsigned(N_DW-1 DOWNTO 0); @@ -422,12 +449,12 @@ ARCHITECTURE rtl OF ascal IS SIGNAL o_ldw,o_ldr0,o_ldr1,o_ldr2,o_ldr3 : type_pix; SIGNAL o_wr : unsigned(3 DOWNTO 0); SIGNAL o_hcpt,o_vcpt,o_vcpt_pre,o_vcpt_pre2,o_vcpt_pre3 : uint12; - SIGNAL o_ihsize,o_ivsize : uint12; + SIGNAL o_ihsize,o_ihsizem,o_ivsize : uint12; SIGNAL o_ihsize_temp, o_ihsize_temp2 : natural RANGE 0 TO 32767; SIGNAL o_vfrac,o_hfrac,o_hfrac1,o_hfrac2,o_hfrac3,o_hfrac4 : unsigned(11 DOWNTO 0); SIGNAL o_hacc,o_hacc_ini,o_hacc_next,o_vacc,o_vacc_next,o_vacc_ini : natural RANGE 0 TO 4*OHRES-1; - SIGNAL o_hsv,o_vsv,o_dev,o_pev : unsigned(0 TO 5); + SIGNAL o_hsv,o_vsv,o_dev,o_pev,o_end : unsigned(0 TO 5); SIGNAL o_hsp,o_vss : std_logic; SIGNAL o_read,o_read_pre : std_logic; SIGNAL o_readlev,o_copylev : natural RANGE 0 TO 2; @@ -435,11 +462,13 @@ ARCHITECTURE rtl OF ascal IS SIGNAL o_fload : natural RANGE 0 TO 3; SIGNAL o_acpt,o_acpt1,o_acpt2,o_acpt3,o_acpt4 : natural RANGE 0 TO 15; -- Alternance pixels FIFO SIGNAL o_dshi : natural RANGE 0 TO 3; - SIGNAL o_first,o_last,o_last1,o_last2,o_last3 : std_logic; - SIGNAL o_lastt1,o_lastt2,o_lastt3 : std_logic; + SIGNAL o_first,o_last,o_last1,o_last2 : std_logic; + SIGNAL o_lastt1,o_lastt2,o_lastt3,o_lastt4 : std_logic; SIGNAL o_alt,o_altx : unsigned(3 DOWNTO 0); SIGNAL o_hdown,o_vdown : std_logic; SIGNAL o_primv,o_lastv,o_bibv : unsigned(0 TO 2); + TYPE arr_uint4 IS ARRAY (natural RANGE <>) OF natural RANGE 0 TO 15; + SIGNAL o_off : arr_uint4(0 TO 2); SIGNAL o_bibu : std_logic :='0'; SIGNAL o_dcptv : arr_uint12(1 TO 8); SIGNAL o_dcpt : uint12; @@ -593,7 +622,7 @@ ARCHITECTURE rtl OF ascal IS (N_DW=64 AND ((acpt MOD 2)=0)); END CASE; END FUNCTION; - + FUNCTION shift_opix (shift : unsigned(0 TO N_DW+15); format : unsigned(5 DOWNTO 0)) RETURN type_pix IS BEGIN @@ -615,6 +644,19 @@ ARCHITECTURE rtl OF ascal IS END CASE; END FUNCTION; + FUNCTION pixoffset(adrs : unsigned(31 DOWNTO 0); + format : unsigned (5 DOWNTO 0)) RETURN natural IS + BEGIN + CASE format(2 DOWNTO 0) IS + WHEN "011" => -- 8bbp + RETURN to_integer(adrs(NB_LA-1 DOWNTO 0)); + WHEN "100" => -- 16bpp 565 + RETURN to_integer(adrs(NB_LA-1 DOWNTO 1)); + WHEN OTHERS => -- 32bpp + RETURN to_integer(adrs(NB_LA-1 DOWNTO 2)); + END CASE; + END FUNCTION; + FUNCTION swap(d : unsigned(N_DW-1 DOWNTO 0)) RETURN unsigned IS VARIABLE e : unsigned(N_DW-1 DOWNTO 0); BEGIN @@ -1068,9 +1110,16 @@ BEGIN i_hmin<=himin; -- i_hmax<=himax; -- i_vmin<=vimin; -- - i_vmax<=vimax; -- + IF i_pvs='1' AND i_vs_pre='0' AND (i_inter='0' OR i_pfl='0') THEN + i_vmax<=vimax; -- + END IF; END IF; - + + IF i_pvs='1' AND i_vs_pre='0' AND (i_inter='0' OR i_pfl='0') THEN + i_vdmax<=i_vimax; + END IF; + i_hdmax<=i_himax; + IF i_format="00" OR i_format="11" THEN -- 16bpp i_hburst<=(i_hrsize*2 + N_BURST - 1) / N_BURST; ELSIF i_format="01" THEN -- 24bpp @@ -1446,6 +1495,7 @@ BEGIN ----------------------------------------------------------------------------- -- AVALON interface Avaloir:PROCESS(avl_clk,avl_reset_na) IS + VARIABLE adr_v : unsigned(31 DOWNTO 0); BEGIN IF avl_reset_na='0' THEN avl_state<=sIDLE; @@ -1526,7 +1576,6 @@ BEGIN avl_wadrs(N_AW+NB_LA-1 DOWNTO NB_LA) + avl_i_offset1(N_AW+NB_LA-1 DOWNTO NB_LA)); END IF; - ELSIF avl_read_sr='1' THEN avl_state<=sREAD; avl_read_clr<='1'; @@ -1543,14 +1592,12 @@ BEGIN WHEN sREAD => IF avl_rline='0' THEN - avl_address<=std_logic_vector( - avl_radrs(N_AW+NB_LA-1 DOWNTO NB_LA) + - avl_o_offset0(N_AW+NB_LA-1 DOWNTO NB_LA)); + adr_v:=avl_radrs + avl_o_offset0; ELSE - avl_address<=std_logic_vector( - avl_radrs(N_AW+NB_LA-1 DOWNTO NB_LA) + - avl_o_offset1(N_AW+NB_LA-1 DOWNTO NB_LA)); - END IF; + adr_v:=avl_radrs + avl_o_offset1; + END IF; + avl_address<=std_logic_vector(adr_v(N_AW+NB_LA-1 DOWNTO NB_LA)); + avl_read_i<='1'; IF avl_read_i='1' AND avl_waitrequest='0' THEN avl_state<=sIDLE; @@ -1645,9 +1692,10 @@ BEGIN VARIABLE hpix_v : type_pix; VARIABLE hcarry_v,vcarry_v : boolean; VARIABLE dif_v : natural RANGE 0 TO 8*OHRES-1; + VARIABLE off_v : natural RANGE 0 TO 15; BEGIN IF o_reset_na='0' THEN - o_copy<='0'; + o_copy<=sWAIT; o_state<=sDISP; o_read_pre<='0'; o_readlev<=0; @@ -1709,12 +1757,21 @@ BEGIN o_ihsize<=o_fb_hsize; o_ivsize<=o_fb_vsize; o_format<=o_fb_format; + o_hdown<='0'; + o_vdown<='0'; END IF; o_ihsize_temp <= o_ihsize * to_integer(o_format(2 DOWNTO 0) - 2); o_ihsize_temp2 <= (o_ihsize_temp + N_BURST - 1); o_hburst <= o_ihsize_temp2 / N_BURST; + IF o_fb_ena='1' AND o_fb_stride /= 0 THEN + o_stride<=o_fb_stride; + ELSE + o_stride<=to_unsigned(o_ihsize_temp2,14); + o_stride(NB_BURST-1 DOWNTO 0)<=(OTHERS =>'0'); + END IF; + IF o_vsv(1)='1' AND o_vsv(0)='0' AND o_bufup0='1' THEN o_obuf0<=buf_next(o_obuf0,o_ibuf0); o_bufup0<='0'; @@ -1775,13 +1832,15 @@ BEGIN o_vpe<=to_std_logic(o_vcpt_pre=o_vmin); o_divstart<='0'; o_adrsa<='0'; - + o_adrsb<=o_adrsa; + o_vacc_ini<=(o_vsize - o_ivsize + 8192) MOD 8192; o_hacc_ini<=(o_hsize + o_ihsize + 8192) MOD 8192; + --Alternate phase --o_vacc_ini<=o_ivsize; --o_hacc_ini<=(2*o_hsize - o_ihsize + 8192) MOD 8192; - + CASE o_state IS -------------------------------------------------- WHEN sDISP => @@ -1803,13 +1862,13 @@ BEGIN vcarry_v:=true; END IF; o_divstart<='1'; - IF o_vcpt_pre2=o_vmin THEN --pe='0' THEN + IF o_vcpt_pre2=o_vmin THEN o_vacc <=o_vacc_ini; o_vacc_next<=o_vacc_ini + 2*o_ivsize; o_vacpt<=x"001"; vcarry_v:=false; END IF; - + IF vcarry_v THEN o_vacpt<=o_vacpt+1; END IF; @@ -1822,7 +1881,7 @@ BEGIN WHEN sREAD => -- Read a block - IF o_readlev<2 THEN + IF o_readlev<2 AND o_adrsb='1' THEN lev_inc_v:='1'; o_read_pre<=NOT o_read_pre; o_state <=sWAITREAD; @@ -1831,6 +1890,10 @@ BEGIN prim_v:=to_std_logic(o_hbcpt=0); last_v:=to_std_logic(o_hbcpt=o_hburst-1); bib_v :=o_bibu; + off_v :=pixoffset(o_adrs + o_fb_base(NB_LA-1 DOWNTO 0),o_fb_format); + IF o_fb_ena='0' THEN + off_v:=0; + END IF; o_adrsa<='1'; WHEN sWAITREAD => @@ -1851,18 +1914,18 @@ BEGIN END CASE; o_read<=o_read_pre AND o_run; - - o_adrs_pre<=to_integer(o_vacpt) * o_hburst; o_rline<=o_vacpt(0); -- Even/Odd line for interlaced video + + o_adrs_pre<=to_integer(o_vacpt) * to_integer(o_stride); IF o_adrsa='1' THEN IF o_fload=2 THEN o_adrs<=to_unsigned(o_hbcpt * N_BURST,32); o_alt<="1111"; ELSIF o_fload=1 THEN - o_adrs<=to_unsigned((o_hburst + o_hbcpt) * N_BURST,32); + o_adrs<=to_unsigned(o_hbcpt * N_BURST,32) + o_stride; o_alt<="0100"; ELSE - o_adrs<=to_unsigned((o_adrs_pre + o_hbcpt) * N_BURST,32); + o_adrs<=to_unsigned(o_adrs_pre + (o_hbcpt * N_BURST),32); o_alt<=altx(o_vacpt(1 DOWNTO 0) + 1); END IF; END IF; @@ -1870,86 +1933,104 @@ BEGIN ------------------------------------------------------ -- Copy from buffered memory to pixel lines o_sh<='0'; - IF o_copy='0' THEN - o_copyv(0)<='0'; - IF o_copylev>0 AND o_copyv(0)='0' THEN - o_copy<='1'; - o_altx<=o_alt; - END IF; - o_adturn<='0'; - - IF o_primv(0)='1' THEN - -- First memcopy of a horizontal line, carriage return ! - o_hacc <=o_hacc_ini; - o_hacc_next<=o_hacc_ini + 2*o_ihsize; - o_hacpt <=x"000"; - o_dcpt<=0; - o_dshi<=2; - o_acpt<=0; - o_first<='1'; - o_last<='0'; - END IF; - - IF o_bibv(0)='0' THEN - o_ad<=0; - ELSE - o_ad<=BLEN; - END IF; - - ELSE - -- dshi : Force shift first two or three pixels of each line - IF o_dshi=0 THEN - dif_v:=(o_hacc_next - 2*o_hsize + (8*OHRES)) MOD (8*OHRES); - IF dif_v>=4*OHRES THEN - o_hacc<=o_hacc_next; - o_hacc_next<=o_hacc_next + 2*o_ihsize; - hcarry_v:=false; - ELSE - o_hacc<=dif_v; - o_hacc_next<=(dif_v + 2*o_ihsize + (4*OHRES)) MOD (4*OHRES); - hcarry_v:=true; + CASE o_copy IS + WHEN sWAIT => + o_copyv(0)<='0'; + IF o_copylev>0 AND o_copyv(0)='0' THEN + o_copy<=sCOPY; + IF o_off(0)>0 AND o_primv(0)='1' THEN + o_copy<=sSHIFT; + END IF; + o_altx<=o_alt; END IF; - o_dcpt<=(o_dcpt+1) MOD 4096; - ELSE - o_dshi<=o_dshi-1; - hcarry_v:=false; - END IF; - IF o_dshi<=1 THEN - o_copyv(0)<='1'; - END IF; - IF hcarry_v THEN + o_adturn<='0'; + o_pshift<=o_off(0) -1; + IF o_primv(0)='1' THEN + -- First memcopy of a horizontal line, carriage return ! + o_ihsizem<=o_ihsize + o_off(0) - 2; + o_hacc <=o_hacc_ini; + o_hacc_next<=o_hacc_ini + 2*o_ihsize; + o_hacpt <=x"000"; + o_dcpt<=0; + o_dshi<=2; + o_acpt<=0; + o_first<='1'; + o_last<='0'; + END IF; + + IF o_bibv(0)='0' THEN + o_ad<=0; + ELSE + o_ad<=BLEN; + END IF; + + WHEN sSHIFT => o_hacpt<=o_hacpt+1; - o_last<=to_std_logic(o_hacpt>=o_ihsize-2); - END IF; - - IF hcarry_v OR o_dshi>0 THEN o_sh<='1'; o_acpt<=(o_acpt+1) MOD 16; - - -- Shift two more pixels to the right before ending line. - o_last1<=o_last; - o_last2<=o_last1; - IF shift_onext(o_acpt,o_format) THEN o_ad<=(o_ad+1) MOD (2*BLEN); END IF; - - IF o_adturn='1' AND (shift_onext((o_acpt+1) MOD 16,o_format)) AND - (((o_ad MOD BLEN=0) AND o_lastv(0)='0') OR o_last2='1') THEN - o_copy<='0'; - lev_dec_v:='1'; + o_pshift<=o_pshift-1; + IF o_pshift=0 THEN + o_copy<=sCOPY; END IF; - IF o_ad MOD BLEN=4 THEN - o_adturn<='1'; + WHEN sCOPY => + -- dshi : Force shift first two or three pixels of each line + IF o_dshi=0 THEN + dif_v:=(o_hacc_next - 2*o_hsize + (8*OHRES)) MOD (8*OHRES); + IF dif_v>=4*OHRES THEN + o_hacc<=o_hacc_next; + o_hacc_next<=o_hacc_next + 2*o_ihsize; + hcarry_v:=false; + ELSE + o_hacc<=dif_v; + o_hacc_next<=(dif_v + 2*o_ihsize + (4*OHRES)) MOD (4*OHRES); + hcarry_v:=true; + END IF; + o_dcpt<=(o_dcpt+1) MOD 4096; + ELSE + o_dshi<=o_dshi-1; + hcarry_v:=false; END IF; - END IF; - END IF; + IF o_dshi<=1 THEN + o_copyv(0)<='1'; + END IF; + IF hcarry_v THEN + o_hacpt<=o_hacpt+1; + o_last <=to_std_logic(o_hacpt>=o_ihsizem); + END IF; + + IF hcarry_v OR o_dshi>0 THEN + o_sh<='1'; + o_acpt<=(o_acpt+1) MOD 16; + + -- Shift two more pixels to the right before ending line. + o_last1<=o_last; + o_last2<=o_last1; + + IF shift_onext(o_acpt,o_format) THEN + o_ad<=(o_ad+1) MOD (2*BLEN); + END IF; + + IF o_adturn='1' AND (shift_onext((o_acpt+1) MOD 16,o_format)) AND + (((o_ad MOD BLEN=0) AND o_lastv(0)='0') OR o_last2='1') THEN + o_copy<=sWAIT; + lev_dec_v:='1'; + END IF; + + IF o_ad MOD BLEN=4 THEN + o_adturn<='1'; + END IF; + END IF; + END CASE; o_acpt1<=o_acpt; o_acpt2<=o_acpt1; o_acpt3<=o_acpt2; o_acpt4<=o_acpt3; o_ad1<=o_ad; o_ad2<=o_ad1; o_ad3<=o_ad2; o_sh1<=o_sh; o_sh2<=o_sh1; o_sh3<=o_sh2; o_sh4<=o_sh3; - o_lastt1<=o_last; o_lastt2<=o_lastt1; o_lastt3<=o_lastt2; + o_lastt1<=o_last; o_lastt2<=o_lastt1; + o_lastt3<=o_lastt2; o_lastt4<=o_lastt3; ------------------------------------------------------ IF o_sh3='1' THEN @@ -1979,7 +2060,7 @@ BEGIN o_hpix2<=hpix_v; o_first<='0'; END IF; - IF o_lastt3='1' THEN + IF o_lastt4='1' THEN -- Right edge. Keep last pixel. o_hpix0<=o_hpix0; END IF; @@ -2007,6 +2088,7 @@ BEGIN o_primv(0 TO 1)<=o_primv(1 TO 2); -- First buffer of line o_lastv(0 TO 1)<=o_lastv(1 TO 2); -- Last buffer of line o_bibv (0 TO 1)<=o_bibv (1 TO 2); -- Double buffer select + o_off (0 TO 1)<=o_off (1 TO 2); -- Start offset END IF; IF lev_inc_v='1' THEN @@ -2014,15 +2096,18 @@ BEGIN o_primv(0)<=prim_v; o_lastv(0)<=last_v; o_bibv (0)<=bib_v; + o_off (0)<=off_v; ELSIF (o_readlev=1 AND lev_dec_v='0') OR (o_readlev=2 AND lev_dec_v='1') THEN o_primv(1)<=prim_v; o_lastv(1)<=last_v; o_bibv (1)<=bib_v; + o_off (1)<=off_v; END IF; o_primv(2)<=prim_v; o_lastv(2)<=last_v; o_bibv (2)<=bib_v; + o_off (2)<=off_v; END IF; ------------------------------------------------------ @@ -2036,21 +2121,40 @@ BEGIN o_v_poly_dr<=o_v_poly(o_v_poly_a) WHEN rising_edge(o_clk); -- Framebuffer palette - GenPal:IF PALETTE GENERATE - Tempera:PROCESS(pal_clk) IS + GenPal1:IF PALETTE GENERATE + Tempera1:PROCESS(pal1_clk) IS BEGIN - IF rising_edge(pal_clk) THEN - IF pal_wr='1' THEN - pal_mem(to_integer(pal_a))<=pal_dw; + IF rising_edge(pal1_clk) THEN + IF pal1_wr='1' THEN + pal1_mem(to_integer(pal1_a))<=pal1_dw; END IF; - pal_dr<=pal_mem(to_integer(pal_a)); + pal1_dr<=pal1_mem(to_integer(pal1_a)); END IF; END PROCESS; - - o_fb_pal_dr<= - pal_mem(to_integer(shift_opack(o_acpt4,o_shift,o_dr,o_format)(0 TO 7))) - WHEN rising_edge(o_clk); - END GENERATE GenPal; + + pal_idx <= shift_opack(o_acpt4,o_shift,o_dr,o_format)(0 TO 7); + pal_idx_lsb <= pal_idx(0) WHEN rising_edge(o_clk); + o_fb_pal_dr_x2 <= pal1_mem(to_integer(pal_idx(7 DOWNTO 1))) WHEN rising_edge(o_clk); + END GENERATE GenPal1; + + GenPal2:IF PALETTE and PALETTE2 GENERATE + Tempera2:PROCESS(pal2_clk) IS + BEGIN + IF rising_edge(pal2_clk) THEN + IF pal2_wr='1' THEN + pal2_mem(to_integer(pal2_a))<=pal2_dw; + END IF; + pal2_dr<=pal2_mem(to_integer(pal2_a)); + END IF; + END PROCESS; + + o_fb_pal_dr2 <= pal2_mem(to_integer(pal_idx(7 DOWNTO 0))) WHEN rising_edge(o_clk); + o_fb_pal_dr <= o_fb_pal_dr2 when pal_n = '1' else o_fb_pal_dr_x2(47 DOWNTO 24) WHEN pal_idx_lsb = '1' ELSE o_fb_pal_dr_x2(23 DOWNTO 0); + END GENERATE GenPal2; + + GenPal1not2:IF PALETTE and not PALETTE2 GENERATE + o_fb_pal_dr <= o_fb_pal_dr_x2(47 DOWNTO 24) WHEN pal_idx_lsb = '1' ELSE o_fb_pal_dr_x2(23 DOWNTO 0); + END GENERATE GenPal1not2; GenNoPal:IF NOT PALETTE GENERATE o_fb_pal_dr<=x"000000"; @@ -2148,7 +2252,7 @@ BEGIN o_copyv(1 TO 8)<=o_copyv(0 TO 7); o_dcptv(1)<=o_dcpt; - IF o_dcptv(1)>o_hsize THEN + IF o_dcptv(1)>=o_hsize THEN o_copyv(2)<='0'; END IF; o_dcptv(2)<=o_dcptv(1) MOD OHRES; @@ -2279,6 +2383,7 @@ BEGIN o_vcpt<=o_vcpt_pre; END IF; + o_end(0)<=to_std_logic(o_vcpt>=o_vdisp); o_dev(0)<=to_std_logic(o_hcpt=o_hmin AND o_hcpt<=o_hmax AND o_vcpt>=o_vmin AND o_vcpt<=o_vmax); @@ -2286,18 +2391,20 @@ BEGIN o_vsv(0)<=to_std_logic((o_vcpt=o_vsstart AND o_hcpt>=o_hsstart) OR (o_vcpt>o_vsstart AND o_vcpt=o_vmin AND o_vcpt_pre2<=o_vmax); o_hsv(1 TO 5)<=o_hsv(0 TO 4); o_vsv(1 TO 5)<=o_vsv(0 TO 4); o_dev(1 TO 5)<=o_dev(0 TO 4); o_pev(1 TO 5)<=o_pev(0 TO 4); + o_end(1 TO 5)<=o_end(0 TO 4); IF o_run='0' THEN o_hsv(2)<='0'; o_vsv(2)<='0'; o_dev(2)<='0'; o_pev(2)<='0'; + o_end(2)<='0'; END IF; END IF; @@ -2314,7 +2421,7 @@ BEGIN IF o_ce='1' THEN -- CYCLE 1 ----------------------------------------- -- Read mem - o_radl<=(o_hcpt-o_hmin+OHRES) MOD OHRES; + o_radl<=(o_hcpt - o_hmin + OHRES) MOD OHRES; -- CYCLE 2 ----------------------------------------- -- Lines reordering @@ -2397,6 +2504,7 @@ BEGIN o_hs<=o_hsv(5); o_vs<=o_vsv(5); o_de<=o_dev(5); + o_vbl<=o_end(5); o_r<=x"00"; o_g<=x"00"; o_b<=x"00"; @@ -2451,4 +2559,3 @@ BEGIN ---------------------------------------------------------------------------- END ARCHITECTURE rtl; - diff --git a/sys/audio_out.v b/sys/audio_out.v index 545f3b9..0f748e0 100644 --- a/sys/audio_out.v +++ b/sys/audio_out.v @@ -1,7 +1,7 @@ module audio_out #( - parameter CLK_RATE = 50000000 + parameter CLK_RATE = 24576000 ) ( input reset, @@ -10,8 +10,24 @@ module audio_out //0 - 48KHz, 1 - 96KHz input sample_rate, - input [15:0] left_in, - input [15:0] right_in, + input [31:0] flt_rate, + input [39:0] cx, + input [7:0] cx0, + input [7:0] cx1, + input [7:0] cx2, + input [23:0] cy0, + input [23:0] cy1, + input [23:0] cy2, + + input [4:0] att, + input [1:0] mix, + + input is_signed, + input [15:0] core_l, + input [15:0] core_r, + + input [15:0] alsa_l, + input [15:0] alsa_r, // I2S output i2s_bclk, @@ -38,11 +54,11 @@ reg mclk_ce; always @(posedge clk) begin reg [31:0] cnt; - mclk_ce <= 0; + mclk_ce = 0; cnt = cnt + real_ce; if(cnt >= CLK_RATE) begin cnt = cnt - CLK_RATE; - mclk_ce <= 1; + mclk_ce = 1; end end @@ -56,19 +72,6 @@ always @(posedge clk) begin end end -reg lpf_ce; -always @(posedge clk) begin - integer div; - lpf_ce <= 0; - if(mclk_ce) begin - div <= div + 1; - if(div == FILTER_DIV) begin - div <= 0; - lpf_ce <= 1; - end - end -end - i2s i2s ( .reset(reset), @@ -111,47 +114,183 @@ sigma_delta_dac #(15) sd_r .DACout(dac_r) ); -wire [15:0] al, ar; -lpf_aud lpf_l -( - .CLK(clk), - .CE(lpf_ce), - .IDATA(left_in), - .ODATA(al) -); +reg sample_ce; +always @(posedge clk) begin + reg [8:0] div = 0; + reg [1:0] add = 0; -lpf_aud lpf_r -( - .CLK(clk), - .CE(lpf_ce), - .IDATA(right_in), - .ODATA(ar) -); + div <= div + add; + if(!div) begin + div <= 2'd1 << sample_rate; + add <= 2'd1 << sample_rate; + end -endmodule - -module lpf_aud -( - input CLK, - input CE, - input [15:0] IDATA, - output reg [15:0] ODATA -); - -reg [511:0] acc; -reg [20:0] sum; - -always @(*) begin - integer i; - sum = 0; - for (i = 0; i < 32; i = i+1) sum = sum + {{5{acc[(i*16)+15]}}, acc[i*16 +:16]}; + sample_ce <= !div; end -always @(posedge CLK) begin - if(CE) begin - acc <= {acc[495:0], IDATA}; - ODATA <= sum[20:5]; +reg flt_ce; +always @(posedge clk) begin + reg [31:0] cnt = 0; + + flt_ce = 0; + cnt = cnt + {flt_rate[30:0],1'b0}; + if(cnt >= CLK_RATE) begin + cnt = cnt - CLK_RATE; + flt_ce = 1; end end +reg [15:0] cl,cr; +always @(posedge clk) begin + reg [15:0] cl1,cl2; + reg [15:0] cr1,cr2; + + cl1 <= core_l; cl2 <= cl1; + if(cl2 == cl1) cl <= cl2; + + cr1 <= core_r; cr2 <= cr1; + if(cr2 == cr1) cr <= cr2; +end + +reg a_en1 = 0, a_en2 = 0; +always @(posedge clk, posedge reset) begin + reg [1:0] dly1 = 0; + reg [14:0] dly2 = 0; + + if(reset) begin + dly1 <= 0; + dly2 <= 0; + a_en1 <= 0; + a_en2 <= 0; + end + else begin + if(flt_ce) begin + if(~&dly1) dly1 <= dly1 + 1'd1; + else a_en1 <= 1; + end + + if(sample_ce) begin + if(!dly2[13+sample_rate]) dly2 <= dly2 + 1'd1; + else a_en2 <= 1; + end + end +end + +wire [15:0] acl, acr; +IIR_filter #(.use_params(0)) IIR_filter +( + .clk(clk), + .reset(reset), + + .ce(flt_ce & a_en1), + .sample_ce(sample_ce), + + .cx(cx), + .cx0(cx0), + .cx1(cx1), + .cx2(cx2), + .cy0(cy0), + .cy1(cy1), + .cy2(cy2), + + .input_l({~is_signed ^ cl[15], cl[14:0]}), + .input_r({~is_signed ^ cr[15], cr[14:0]}), + .output_l(acl), + .output_r(acr) +); + +wire [15:0] adl; +DC_blocker dcb_l +( + .clk(clk), + .ce(sample_ce), + .sample_rate(sample_rate), + .mute(~a_en2), + .din(acl), + .dout(adl) +); + +wire [15:0] adr; +DC_blocker dcb_r +( + .clk(clk), + .ce(sample_ce), + .sample_rate(sample_rate), + .mute(~a_en2), + .din(acr), + .dout(adr) +); + +wire [15:0] al, audio_l_pre; +aud_mix_top audmix_l +( + .clk(clk), + .ce(sample_ce), + .att(att), + .mix(mix), + + .core_audio(adl), + .pre_in(audio_r_pre), + .linux_audio(alsa_l), + + .pre_out(audio_l_pre), + .out(al) +); + +wire [15:0] ar, audio_r_pre; +aud_mix_top audmix_r +( + .clk(clk), + .ce(sample_ce), + .att(att), + .mix(mix), + + .core_audio(adr), + .pre_in(audio_l_pre), + .linux_audio(alsa_r), + + .pre_out(audio_r_pre), + .out(ar) +); + +endmodule + +module aud_mix_top +( + input clk, + input ce, + + input [4:0] att, + input [1:0] mix, + + input [15:0] core_audio, + input [15:0] linux_audio, + input [15:0] pre_in, + + output reg [15:0] pre_out = 0, + output reg [15:0] out = 0 +); + +reg signed [16:0] a1, a2, a3, a4; +always @(posedge clk) if (ce) begin + + a1 <= {core_audio[15],core_audio}; + a2 <= a1 + {linux_audio[15],linux_audio}; + + pre_out <= a2[16:1]; + + case(mix) + 0: a3 <= a2; + 1: a3 <= $signed(a2) - $signed(a2[16:3]) + $signed(pre_in[15:2]); + 2: a3 <= $signed(a2) - $signed(a2[16:2]) + $signed(pre_in[15:1]); + 3: a3 <= {a2[16],a2[16:1]} + {pre_in[15],pre_in}; + endcase + + if(att[4]) a4 <= 0; + else a4 <= a3 >>> att[3:0]; + + //clamping + out <= ^a4[16:15] ? {a4[16],{15{a4[15]}}} : a4[15:0]; +end + endmodule diff --git a/sys/build_id.tcl b/sys/build_id.tcl index bb2dc67..b43b9d9 100644 --- a/sys/build_id.tcl +++ b/sys/build_id.tcl @@ -1,73 +1,73 @@ - -# Build TimeStamp Verilog Module -# Jeff Wiencrot - 8/1/2011 -# Sorgelig - 02/11/2019 -proc generateBuildID_Verilog {} { - - # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) - set buildDate "`define BUILD_DATE \"[clock format [ clock seconds ] -format %y%m%d]\"" - - # Create a Verilog file for output - set outputFileName "build_id.v" - - set fileData "" - if { [file exists $outputFileName]} { - set outputFile [open $outputFileName "r"] - set fileData [read $outputFile] - close $outputFile - } - - if {$buildDate ne $fileData} { - set outputFile [open $outputFileName "w"] - puts -nonewline $outputFile $buildDate - close $outputFile - # Send confirmation message to the Messages window - post_message "Generated: [pwd]/$outputFileName: $buildDate" - } -} - -# Build CDF file -# Sorgelig - 17/2/2018 -proc generateCDF {revision device outpath} { - - set outputFileName "jtag.cdf" - set outputFile [open $outputFileName "w"] - - puts $outputFile "JedecChain;" - puts $outputFile " FileRevision(JESD32A);" - puts $outputFile " DefaultMfr(6E);" - puts $outputFile "" - puts $outputFile " P ActionCode(Ign)" - puts $outputFile " Device PartName(SOCVHPS) MfrSpec(OpMask(0));" - puts $outputFile " P ActionCode(Cfg)" - puts $outputFile " Device PartName($device) Path(\"$outpath/\") File(\"$revision.sof\") MfrSpec(OpMask(1));" - puts $outputFile "ChainEnd;" - puts $outputFile "" - puts $outputFile "AlteraBegin;" - puts $outputFile " ChainType(JTAG);" - puts $outputFile "AlteraEnd;" -} - -set project_name [lindex $quartus(args) 1] -set revision [lindex $quartus(args) 2] - -if {[project_exists $project_name]} { - if {[string equal "" $revision]} { - project_open $project_name -revision [get_current_revision $project_name] - } else { - project_open $project_name -revision $revision - } -} else { - post_message -type error "Project $project_name does not exist" - exit -} - -set device [get_global_assignment -name DEVICE] -set outpath [get_global_assignment -name PROJECT_OUTPUT_DIRECTORY] - -if [is_project_open] { - project_close -} - -generateBuildID_Verilog -generateCDF $revision $device $outpath + +# Build TimeStamp Verilog Module +# Jeff Wiencrot - 8/1/2011 +# Sorgelig - 02/11/2019 +proc generateBuildID_Verilog {} { + + # Get the timestamp (see: http://www.altera.com/support/examples/tcl/tcl-date-time-stamp.html) + set buildDate "`define BUILD_DATE \"[clock format [ clock seconds ] -format %y%m%d]\"" + + # Create a Verilog file for output + set outputFileName "build_id.v" + + set fileData "" + if { [file exists $outputFileName]} { + set outputFile [open $outputFileName "r"] + set fileData [read $outputFile] + close $outputFile + } + + if {$buildDate ne $fileData} { + set outputFile [open $outputFileName "w"] + puts -nonewline $outputFile $buildDate + close $outputFile + # Send confirmation message to the Messages window + post_message "Generated: [pwd]/$outputFileName: $buildDate" + } +} + +# Build CDF file +# Sorgelig - 17/2/2018 +proc generateCDF {revision device outpath} { + + set outputFileName "jtag.cdf" + set outputFile [open $outputFileName "w"] + + puts $outputFile "JedecChain;" + puts $outputFile " FileRevision(JESD32A);" + puts $outputFile " DefaultMfr(6E);" + puts $outputFile "" + puts $outputFile " P ActionCode(Ign)" + puts $outputFile " Device PartName(SOCVHPS) MfrSpec(OpMask(0));" + puts $outputFile " P ActionCode(Cfg)" + puts $outputFile " Device PartName($device) Path(\"$outpath/\") File(\"$revision.sof\") MfrSpec(OpMask(1));" + puts $outputFile "ChainEnd;" + puts $outputFile "" + puts $outputFile "AlteraBegin;" + puts $outputFile " ChainType(JTAG);" + puts $outputFile "AlteraEnd;" +} + +set project_name [lindex $quartus(args) 1] +set revision [lindex $quartus(args) 2] + +if {[project_exists $project_name]} { + if {[string equal "" $revision]} { + project_open $project_name -revision [get_current_revision $project_name] + } else { + project_open $project_name -revision $revision + } +} else { + post_message -type error "Project $project_name does not exist" + exit +} + +set device [get_global_assignment -name DEVICE] +set outpath [get_global_assignment -name PROJECT_OUTPUT_DIRECTORY] + +if [is_project_open] { + project_close +} + +generateBuildID_Verilog +generateCDF $revision $device $outpath diff --git a/sys/ddr_svc.sv b/sys/ddr_svc.sv new file mode 100644 index 0000000..ed24d4e --- /dev/null +++ b/sys/ddr_svc.sv @@ -0,0 +1,108 @@ +// +// Copyright (c) 2020 Alexey Melnikov +// +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ------------------------------------------ +// + +// 16-bit version + +module ddr_svc +( + input clk, + + input ram_waitrequest, + output [7:0] ram_burstcnt, + output [28:0] ram_addr, + input [63:0] ram_readdata, + input ram_read_ready, + output reg ram_read, + output [63:0] ram_writedata, + output [7:0] ram_byteenable, + output reg ram_write, + + output [7:0] ram_bcnt, + + input [31:3] ch0_addr, + input [7:0] ch0_burst, + output [63:0] ch0_data, + input ch0_req, + output ch0_ready, + + input [31:3] ch1_addr, + input [7:0] ch1_burst, + output [63:0] ch1_data, + input ch1_req, + output ch1_ready +); + +assign ram_burstcnt = ram_burst; +assign ram_byteenable = 8'hFF; +assign ram_addr = ram_address; +assign ram_writedata = 0; + +assign ch0_data = ram_q[0]; +assign ch1_data = ram_q[1]; +assign ch0_ready = ready[0]; +assign ch1_ready = ready[1]; + +reg [7:0] ram_burst; +reg [63:0] ram_q[2]; +reg [31:3] ram_address; +reg [1:0] ack = 0; +reg [1:0] ready; +reg state = 0; +reg ch = 0; + +always @(posedge clk) begin + ready <= 0; + + if(!ram_waitrequest) begin + ram_read <= 0; + ram_write <= 0; + + case(state) + 0: if(ch0_req != ack[0]) begin + ack[0] <= ch0_req; + ram_address <= ch0_addr; + ram_burst <= ch0_burst; + ram_read <= 1; + ch <= 0; + ram_bcnt <= 8'hFF; + state <= 1; + end + else if(ch1_req != ack[1]) begin + ack[1] <= ch1_req; + ram_address <= ch1_addr; + ram_burst <= ch1_burst; + ram_read <= 1; + ch <= 1; + ram_bcnt <= 8'hFF; + state <= 1; + end + 1: begin + if(ram_read_ready) begin + ram_bcnt <= ram_bcnt + 1'd1; + ram_q[ch] <= ram_readdata; + ready[ch] <= 1; + if ((ram_bcnt+2'd2) == ram_burst) state <= 0; + end + end + endcase + end +end + +endmodule diff --git a/sys/fbpal.sv b/sys/fbpal.sv deleted file mode 100644 index 30a7512..0000000 --- a/sys/fbpal.sv +++ /dev/null @@ -1,86 +0,0 @@ -//============================================================================ -// -// Framebuffer Palette support for MiSTer -// (c)2019 Sorgelig -// -// This program is free software; you can redistribute it and/or modify it -// under the terms of the GNU General Public License as published by the Free -// Software Foundation; either version 2 of the License, or (at your option) -// any later version. -// -// This program is distributed in the hope that it will be useful, but WITHOUT -// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -// more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -//============================================================================ - -module fbpal -( - input reset, - - input en_in, - output reg en_out, - - input ram_clk, - output reg [28:0] ram_address, - output reg [7:0] ram_burstcount, - input ram_waitrequest, - input [63:0] ram_readdata, - input ram_readdatavalid, - output reg ram_read, - - input [31:0] fb_address, - - input pal_en, - output reg [7:0] pal_a, - output reg [23:0] pal_d, - output reg pal_wr -); - -reg [31:0] base_addr; -always @(posedge ram_clk) base_addr <= fb_address - 4096; - -reg [6:0] buf_rptr = 0; -always @(posedge ram_clk) begin - reg [23:0] odd_d; - - if(~pal_a[0] & pal_wr) {pal_a[0], pal_d} <= {1'b1, odd_d}; - else pal_wr <= 0; - - if(~ram_waitrequest) ram_read <= 0; - - if(pal_en & ~reset) begin - if(ram_burstcount) begin - if(ram_readdatavalid) begin - ram_burstcount <= 0; - - odd_d <= ram_readdata[55:32]; - pal_d <= ram_readdata[23:0]; - pal_a <= {buf_rptr, 1'b0}; - pal_wr <= 1; - - en_out <= en_in; - buf_rptr <= buf_rptr + 1'd1; - end - end - else begin - if(~ram_waitrequest && en_out != en_in) begin - ram_address <= base_addr[31:3] + buf_rptr; - ram_burstcount <= 1; - ram_read <= 1; - end - end - end - else begin - en_out <= en_in; - buf_rptr <= 0; - ram_burstcount <= 0; - end -end - -endmodule diff --git a/sys/hdmi_config.sv b/sys/hdmi_config.sv index 775a560..4a0a13d 100644 --- a/sys/hdmi_config.sv +++ b/sys/hdmi_config.sv @@ -111,32 +111,32 @@ wire [15:0] init_data[82] = {8'h17, 8'b01100010}, // Aspect ratio 16:9 [1]=1, 4:3 [1]=0 - {8'h18, ypbpr ? 8'h88 : limited[0] ? 8'h8D : limited[1] ? 8'h8E : 8'h00}, // CSC Scaling Factors and Coefficients for RGB Full->Limited. - {8'h19, ypbpr ? 8'h2E : limited[0] ? 8'hBC : 8'hFE}, // Taken from table in ADV7513 Programming Guide. - {8'h1A, ypbpr ? 8'h18 : 8'h00}, // CSC Channel A. - {8'h1B, ypbpr ? 8'h93 : 8'h00}, - {8'h1C, ypbpr ? 8'h1F : 8'h00}, - {8'h1D, ypbpr ? 8'h3F : 8'h00}, - {8'h1E, ypbpr ? 8'h08 : 8'h01}, - {8'h1F, 8'h00}, + {8'h18, ypbpr ? 8'h86 : limited[0] ? 8'h8D : limited[1] ? 8'h8E : 8'h00}, // CSC Scaling Factors and Coefficients for RGB Full->Limited. + {8'h19, ypbpr ? 8'hDF : limited[0] ? 8'hBC : 8'hFE}, // Taken from table in ADV7513 Programming Guide. + {8'h1A, ypbpr ? 8'h1A : 8'h00}, // CSC Channel A. + {8'h1B, ypbpr ? 8'h3F : 8'h00}, + {8'h1C, ypbpr ? 8'h1E : 8'h00}, + {8'h1D, ypbpr ? 8'hE2 : 8'h00}, + {8'h1E, ypbpr ? 8'h07 : 8'h01}, + {8'h1F, ypbpr ? 8'hE7 : 8'h00}, - {8'h20, ypbpr ? 8'h03 : 8'h00}, // CSC Channel B. - {8'h21, ypbpr ? 8'h67 : 8'h00}, - {8'h22, ypbpr ? 8'h0B : limited[0] ? 8'h0D : 8'h0E}, - {8'h23, ypbpr ? 8'h71 : limited[0] ? 8'hBC : 8'hFE}, + {8'h20, ypbpr ? 8'h04 : 8'h00}, // CSC Channel B. + {8'h21, ypbpr ? 8'h1C : 8'h00}, + {8'h22, ypbpr ? 8'h08 : limited[0] ? 8'h0D : 8'h0E}, + {8'h23, ypbpr ? 8'h11 : limited[0] ? 8'hBC : 8'hFE}, {8'h24, ypbpr ? 8'h01 : 8'h00}, - {8'h25, ypbpr ? 8'h28 : 8'h00}, - {8'h26, ypbpr ? 8'h00 : 8'h01}, + {8'h25, ypbpr ? 8'h91 : 8'h00}, + {8'h26, ypbpr ? 8'h01 : 8'h01}, {8'h27, 8'h00}, - {8'h28, ypbpr ? 8'h1E : 8'h00}, // CSC Channel C. - {8'h29, ypbpr ? 8'h21 : 8'h00}, - {8'h2A, ypbpr ? 8'h19 : 8'h00}, - {8'h2B, ypbpr ? 8'hB2 : 8'h00}, - {8'h2C, ypbpr ? 8'h08 : limited[0] ? 8'h0D : 8'h0E}, - {8'h2D, ypbpr ? 8'h2D : limited[0] ? 8'hBC : 8'hFE}, - {8'h2E, ypbpr ? 8'h08 : 8'h01}, - {8'h2F, 8'h00}, + {8'h28, ypbpr ? 8'h1D : 8'h00}, // CSC Channel C. + {8'h29, ypbpr ? 8'hAE : 8'h00}, + {8'h2A, ypbpr ? 8'h1B : 8'h00}, + {8'h2B, ypbpr ? 8'h73 : 8'h00}, + {8'h2C, ypbpr ? 8'h06 : limited[0] ? 8'h0D : 8'h0E}, + {8'h2D, ypbpr ? 8'hDF : limited[0] ? 8'hBC : 8'hFE}, + {8'h2E, ypbpr ? 8'h07 : 8'h01}, + {8'h2F, ypbpr ? 8'hE7 : 8'h00}, {8'h3B, 8'b0000_0000}, // Pixel repetition [6:5] b00 AUTO. [4:3] b00 x1 mult of input clock. [2:1] b00 x1 pixel rep to send to HDMI Rx. diff --git a/sys/hps_io.v b/sys/hps_io.v index 442e857..9431c95 100644 --- a/sys/hps_io.v +++ b/sys/hps_io.v @@ -2,7 +2,7 @@ // hps_io.v // // Copyright (c) 2014 Till Harbaum -// Copyright (c) 2017-2019 Alexey Melnikov +// Copyright (c) 2017-2020 Alexey Melnikov // // This source file is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published @@ -18,14 +18,11 @@ // along with this program. If not, see . // /////////////////////////////////////////////////////////////////////// +// altera message_off 10665 // // Use buffer to access SD card. It's time-critical part. // -// for synchronous projects default value for PS2DIV is fine for any frequency of system clock. -// clk_ps2 = CLK_SYS/(PS2DIV*2) -// - // WIDE=1 for 16 bit file I/O // VDNUM 1-4 module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) @@ -36,12 +33,15 @@ module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) // parameter STRLEN and the actual length of conf_str have to match input [(8*STRLEN)-1:0] conf_str, + // buttons up to 32 output reg [31:0] joystick_0, output reg [31:0] joystick_1, output reg [31:0] joystick_2, output reg [31:0] joystick_3, output reg [31:0] joystick_4, output reg [31:0] joystick_5, + + // analog -127..+127, Y: [15:8], X: [7:0] output reg [15:0] joystick_analog_0, output reg [15:0] joystick_analog_1, output reg [15:0] joystick_analog_2, @@ -49,6 +49,22 @@ module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) output reg [15:0] joystick_analog_4, output reg [15:0] joystick_analog_5, + // paddle 0..255 + output reg [7:0] paddle_0, + output reg [7:0] paddle_1, + output reg [7:0] paddle_2, + output reg [7:0] paddle_3, + output reg [7:0] paddle_4, + output reg [7:0] paddle_5, + + // spinner [7:0] -128..+127, [8] - toggle with every update + output reg [8:0] spinner_0, + output reg [8:0] spinner_1, + output reg [8:0] spinner_2, + output reg [8:0] spinner_3, + output reg [8:0] spinner_4, + output reg [8:0] spinner_5, + output [1:0] buttons, output forced_scandoubler, output direct_video, @@ -58,6 +74,9 @@ module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) input status_set, input [15:0] status_menumask, + input info_req, + input [7:0] info, + //toggle to force notify of video mode change input new_vmode, @@ -86,10 +105,13 @@ module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) // ARM -> FPGA download output reg ioctl_download = 0, // signal indicating an active download - output reg [7:0] ioctl_index, // menu index used to upload the file + output reg [15:0] ioctl_index, // menu index used to upload the file output reg ioctl_wr, output reg [26:0] ioctl_addr, // in WIDE mode address will be incremented by 2 output reg [DW:0] ioctl_dout, + output reg ioctl_upload = 0, // signal indicating an active upload + input [DW:0] ioctl_din, + output reg ioctl_rd, output reg [31:0] ioctl_file_ext, input ioctl_wait, @@ -104,11 +126,8 @@ module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) output reg [32:0] TIMESTAMP, // UART flags - input [15:0] uart_mode, - - // CD interface - input [48:0] cd_in, - output reg [48:0] cd_out, + output reg [7:0] uart_mode, + output reg [31:0] uart_speed, // ps2 keyboard emulation output ps2_kbd_clk_out, @@ -133,24 +152,32 @@ module hps_io #(parameter STRLEN=0, PS2DIV=0, WIDE=0, VDNUM=1, PS2WE=0) output reg [24:0] ps2_mouse = 0, output reg [15:0] ps2_mouse_ext = 0, // 15:8 - reserved(additional buttons), 7:0 - wheel movements - inout [21:0] gamma_bus + inout [21:0] gamma_bus, + + // for core-specific extensions + inout [35:0] EXT_BUS ); +assign EXT_BUS[31:16] = HPS_BUS[31:16]; +assign EXT_BUS[35:33] = HPS_BUS[35:33]; + +localparam MAX_W = $clog2((512 > (STRLEN+1)) ? 512 : (STRLEN+1))-1; + localparam DW = (WIDE) ? 15 : 7; localparam AW = (WIDE) ? 7 : 8; localparam VD = VDNUM-1; -wire io_wait = ioctl_wait; -wire io_enable= |HPS_BUS[35:34]; wire io_strobe= HPS_BUS[33]; +wire io_enable= HPS_BUS[34]; +wire fp_enable= HPS_BUS[35]; wire io_wide = (WIDE) ? 1'b1 : 1'b0; wire [15:0] io_din = HPS_BUS[31:16]; reg [15:0] io_dout; -assign HPS_BUS[37] = io_wait; +assign HPS_BUS[37] = ioctl_wait; assign HPS_BUS[36] = clk_sys; assign HPS_BUS[32] = io_wide; -assign HPS_BUS[15:0] = io_dout; +assign HPS_BUS[15:0] = EXT_BUS[32] ? EXT_BUS[15:0] : fp_enable ? fp_dout : io_dout; reg [15:0] cfg; assign buttons = cfg[1:0]; @@ -184,6 +211,7 @@ video_calc video_calc ( .clk_100(HPS_BUS[43]), .clk_vid(HPS_BUS[42]), + .clk_sys(clk_sys), .ce_pix(HPS_BUS[41]), .de(HPS_BUS[40]), .hs(HPS_BUS[39]), @@ -208,18 +236,21 @@ reg [31:0] ps2_key_raw = 0; wire pressed = (ps2_key_raw[15:8] != 8'hf0); wire extended = (~pressed ? (ps2_key_raw[23:16] == 8'he0) : (ps2_key_raw[15:8] == 8'he0)); -reg [9:0] byte_cnt; +reg [MAX_W:0] byte_cnt; -always@(posedge clk_sys) begin +always@(posedge clk_sys) begin : uio_block reg [15:0] cmd; reg [2:0] b_wr; - reg [2:0] stick_idx; + reg [3:0] stick_idx; + reg [3:0] pdsp_idx; reg ps2skip = 0; reg [3:0] stflg = 0; reg [63:0] status_req; reg old_status_set = 0; - reg [7:0] cd_req = 0; - reg old_cd = 0; + reg old_info = 0; + reg [7:0] info_n = 0; + reg [15:0] tmp1; + reg [7:0] tmp2; old_status_set <= status_set; if(~old_status_set & status_set) begin @@ -227,9 +258,9 @@ always@(posedge clk_sys) begin status_req <= status_in; end - old_cd <= cd_in[48]; - if(old_cd ^ cd_in[48]) cd_req <= cd_req + 1'd1; - + old_info <= info_req; + if(~old_info & info_req) info_n <= info; + sd_buff_wr <= b_wr[0]; if(b_wr[2] && (~&sd_buff_addr)) sd_buff_addr <= sd_buff_addr + 1'b1; b_wr <= (b_wr<<1); @@ -248,62 +279,62 @@ always@(posedge clk_sys) begin end if(cmd == 'h22) RTC[64] <= ~RTC[64]; if(cmd == 'h24) TIMESTAMP[32] <= ~TIMESTAMP[32]; - if(cmd == 'h35) cd_out[48] <= ~cd_out[48]; cmd <= 0; byte_cnt <= 0; sd_ack <= 0; sd_ack_conf <= 0; io_dout <= 0; ps2skip <= 0; - end else begin - if(io_strobe) begin + img_mounted <= 0; + end + else if(io_strobe) begin - io_dout <= 0; - if(~&byte_cnt) byte_cnt <= byte_cnt + 1'd1; + io_dout <= 0; + if(~&byte_cnt) byte_cnt <= byte_cnt + 1'd1; - if(byte_cnt == 0) begin - cmd <= io_din; + if(byte_cnt == 0) begin + cmd <= io_din; - case(io_din) - 'h19: sd_ack_conf <= 1; - 'h17, - 'h18: sd_ack <= 1; - 'h29: io_dout <= {4'hA, stflg}; - 'h2B: io_dout <= 1; - 'h2F: io_dout <= 1; - 'h32: io_dout <= gamma_bus[21]; - 'h34: io_dout <= cd_req; - endcase + case(io_din) + 'h19: sd_ack_conf <= 1; + 'h17, + 'h18: sd_ack <= 1; + 'h29: io_dout <= {4'hA, stflg}; + 'h2B: io_dout <= 1; + 'h2F: io_dout <= 1; + 'h32: io_dout <= gamma_bus[21]; + 'h36: begin io_dout <= info_n; info_n <= 0; end + 'h39: io_dout <= 1; + endcase - sd_buff_addr <= 0; - img_mounted <= 0; - if(io_din == 5) ps2_key_raw <= 0; - end else begin + sd_buff_addr <= 0; + if(io_din == 5) ps2_key_raw <= 0; + end else begin - case(cmd) - // buttons and switches - 'h01: cfg <= io_din; - 'h02: if(byte_cnt==1) joystick_0[15:0] <= io_din; else joystick_0[31:16] <= io_din; - 'h03: if(byte_cnt==1) joystick_1[15:0] <= io_din; else joystick_1[31:16] <= io_din; - 'h10: if(byte_cnt==1) joystick_2[15:0] <= io_din; else joystick_2[31:16] <= io_din; - 'h11: if(byte_cnt==1) joystick_3[15:0] <= io_din; else joystick_3[31:16] <= io_din; - 'h12: if(byte_cnt==1) joystick_4[15:0] <= io_din; else joystick_4[31:16] <= io_din; - 'h13: if(byte_cnt==1) joystick_5[15:0] <= io_din; else joystick_5[31:16] <= io_din; + case(cmd) + // buttons and switches + 'h01: cfg <= io_din; + 'h02: if(byte_cnt==1) joystick_0[15:0] <= io_din; else joystick_0[31:16] <= io_din; + 'h03: if(byte_cnt==1) joystick_1[15:0] <= io_din; else joystick_1[31:16] <= io_din; + 'h10: if(byte_cnt==1) joystick_2[15:0] <= io_din; else joystick_2[31:16] <= io_din; + 'h11: if(byte_cnt==1) joystick_3[15:0] <= io_din; else joystick_3[31:16] <= io_din; + 'h12: if(byte_cnt==1) joystick_4[15:0] <= io_din; else joystick_4[31:16] <= io_din; + 'h13: if(byte_cnt==1) joystick_5[15:0] <= io_din; else joystick_5[31:16] <= io_din; - // store incoming ps2 mouse bytes - 'h04: begin + // store incoming ps2 mouse bytes + 'h04: begin if(PS2DIV) begin mouse_data <= io_din[7:0]; mouse_we <= 1; end if(&io_din[15:8]) ps2skip <= 1; - if(~&io_din[15:8] & ~ps2skip) begin - case(byte_cnt) + if(~&io_din[15:8] && ~ps2skip && !byte_cnt[MAX_W:2]) begin + case(byte_cnt[1:0]) 1: ps2_mouse[7:0] <= io_din[7:0]; 2: ps2_mouse[15:8] <= io_din[7:0]; 3: ps2_mouse[23:16] <= io_din[7:0]; endcase - case(byte_cnt) + case(byte_cnt[1:0]) 1: ps2_mouse_ext[7:0] <= {io_din[14], io_din[14:8]}; 2: ps2_mouse_ext[11:8] <= io_din[11:8]; 3: ps2_mouse_ext[15:12]<= io_din[11:8]; @@ -311,8 +342,8 @@ always@(posedge clk_sys) begin end end - // store incoming ps2 keyboard bytes - 'h05: begin + // store incoming ps2 keyboard bytes + 'h05: begin if(&io_din[15:8]) ps2skip <= 1; if(~&io_din[15:8] & ~ps2skip) ps2_key_raw[31:0] <= {ps2_key_raw[23:0], io_din[7:0]}; if(PS2DIV) begin @@ -321,130 +352,143 @@ always@(posedge clk_sys) begin end end - // reading config string, returning a byte from string - 'h14: if(byte_cnt < STRLEN + 1) io_dout[7:0] <= conf_str[(STRLEN - byte_cnt)<<3 +:8]; + // reading config string, returning a byte from string + 'h14: if(byte_cnt < STRLEN + 1) io_dout[7:0] <= conf_str[(STRLEN - byte_cnt)<<3 +:8]; - // reading sd card status - 'h16: case(byte_cnt) + // reading sd card status + 'h16: if(!byte_cnt[MAX_W:3]) begin + case(byte_cnt[2:0]) 1: io_dout <= sd_cmd; 2: io_dout <= sd_lba[15:0]; 3: io_dout <= sd_lba[31:16]; 4: io_dout <= sd_req_type; endcase + end - // send SD config IO -> FPGA - // flag that download begins - // sd card knows data is config if sd_dout_strobe is asserted - // with sd_ack still being inactive (low) - 'h19, - // send sector IO -> FPGA - // flag that download begins - 'h17: begin + // send SD config IO -> FPGA + // flag that download begins + // sd card knows data is config if sd_dout_strobe is asserted + // with sd_ack still being inactive (low) + 'h19, + // send sector IO -> FPGA + // flag that download begins + 'h17: begin sd_buff_dout <= io_din[DW:0]; b_wr <= 1; end - // reading sd card write data - 'h18: begin + // reading sd card write data + 'h18: begin if(~&sd_buff_addr) sd_buff_addr <= sd_buff_addr + 1'b1; io_dout <= sd_buff_din; end - // joystick analog - 'h1a: case(byte_cnt) - 1: stick_idx <= io_din[2:0]; // first byte is joystick index + // joystick analog + 'h1a: if(!byte_cnt[MAX_W:2]) begin + case(byte_cnt[1:0]) + 1: {pdsp_idx,stick_idx} <= io_din[7:0]; // first byte is joystick index 2: case(stick_idx) - 0: joystick_analog_0 <= io_din; - 1: joystick_analog_1 <= io_din; - 2: joystick_analog_2 <= io_din; - 3: joystick_analog_3 <= io_din; - 4: joystick_analog_4 <= io_din; - 5: joystick_analog_5 <= io_din; + 0: joystick_analog_0 <= io_din; + 1: joystick_analog_1 <= io_din; + 2: joystick_analog_2 <= io_din; + 3: joystick_analog_3 <= io_din; + 4: joystick_analog_4 <= io_din; + 5: joystick_analog_5 <= io_din; + 15: case(pdsp_idx) + 0: paddle_0 <= io_din[7:0]; + 1: paddle_1 <= io_din[7:0]; + 2: paddle_2 <= io_din[7:0]; + 3: paddle_3 <= io_din[7:0]; + 4: paddle_4 <= io_din[7:0]; + 5: paddle_5 <= io_din[7:0]; + 8: spinner_0 <= {~spinner_0[8],io_din[7:0]}; + 9: spinner_1 <= {~spinner_1[8],io_din[7:0]}; + 10: spinner_2 <= {~spinner_2[8],io_din[7:0]}; + 11: spinner_3 <= {~spinner_3[8],io_din[7:0]}; + 12: spinner_4 <= {~spinner_4[8],io_din[7:0]}; + 13: spinner_5 <= {~spinner_5[8],io_din[7:0]}; + endcase endcase endcase + end - // notify image selection - 'h1c: begin + // notify image selection + 'h1c: begin img_mounted <= io_din[VD:0] ? io_din[VD:0] : 1'b1; img_readonly <= io_din[7]; end - // send image info - 'h1d: if(byte_cnt<5) img_size[{byte_cnt-1'b1, 4'b0000} +:16] <= io_din; + // send image info + 'h1d: if(byte_cnt<5) img_size[{byte_cnt-1'b1, 4'b0000} +:16] <= io_din; - // status, 64bit version - 'h1e: case(byte_cnt) + // status, 64bit version + 'h1e: if(!byte_cnt[MAX_W:3]) begin + case(byte_cnt[2:0]) 1: status[15:00] <= io_din; 2: status[31:16] <= io_din; 3: status[47:32] <= io_din; 4: status[63:48] <= io_din; endcase + end - // reading keyboard LED status - 'h1f: io_dout <= {|PS2WE, 2'b01, ps2_kbd_led_status[2], ps2_kbd_led_use[2], ps2_kbd_led_status[1], ps2_kbd_led_use[1], ps2_kbd_led_status[0], ps2_kbd_led_use[0]}; + // reading keyboard LED status + 'h1f: io_dout <= {|PS2WE, 2'b01, ps2_kbd_led_status[2], ps2_kbd_led_use[2], ps2_kbd_led_status[1], ps2_kbd_led_use[1], ps2_kbd_led_status[0], ps2_kbd_led_use[0]}; - // reading ps2 keyboard/mouse control - 'h21: if(PS2DIV) begin - if(byte_cnt == 1) begin - io_dout <= kbd_data_host; - kbd_rd <= 1; - end - else - if(byte_cnt == 2) begin - io_dout <= mouse_data_host; - mouse_rd <= 1; - end + // reading ps2 keyboard/mouse control + 'h21: if(PS2DIV) begin + if(byte_cnt == 1) begin + io_dout <= kbd_data_host; + kbd_rd <= 1; end + else + if(byte_cnt == 2) begin + io_dout <= mouse_data_host; + mouse_rd <= 1; + end + end - //RTC - 'h22: RTC[(byte_cnt-6'd1)<<4 +:16] <= io_din; + //RTC + 'h22: RTC[(byte_cnt-6'd1)<<4 +:16] <= io_din; - //Video res. - 'h23: if(!byte_cnt[9:4]) io_dout <= vc_dout; + //Video res. + 'h23: if(!byte_cnt[MAX_W:4]) io_dout <= vc_dout; - //RTC - 'h24: TIMESTAMP[(byte_cnt-6'd1)<<4 +:16] <= io_din; + //RTC + 'h24: TIMESTAMP[(byte_cnt-6'd1)<<4 +:16] <= io_din; - //UART flags - 'h28: io_dout <= uart_mode; - - //status set - 'h29: case(byte_cnt) + //status set + 'h29: if(!byte_cnt[MAX_W:3]) begin + case(byte_cnt[2:0]) 1: io_dout <= status_req[15:00]; 2: io_dout <= status_req[31:16]; 3: io_dout <= status_req[47:32]; 4: io_dout <= status_req[63:48]; endcase - - //menu mask - 'h2E: if(byte_cnt == 1) io_dout <= status_menumask; - - //sdram size set - 'h31: if(byte_cnt == 1) sdram_sz <= io_din; + end - // Gamma - 'h32: gamma_en <= io_din[0]; - 'h33: begin - gamma_wr_addr <= {(byte_cnt[1:0]-1'b1),io_din[15:8]}; - {gamma_wr, gamma_value} <= {1'b1,io_din[7:0]}; - if (byte_cnt[1:0] == 3) byte_cnt <= 1; - end + //menu mask + 'h2E: if(byte_cnt == 1) io_dout <= status_menumask; + + //sdram size set + 'h31: if(byte_cnt == 1) sdram_sz <= io_din; - //CD get - 'h34: case(byte_cnt) - 1: io_dout <= cd_in[15:0]; - 2: io_dout <= cd_in[31:16]; - 3: io_dout <= cd_in[47:32]; + // Gamma + 'h32: gamma_en <= io_din[0]; + 'h33: begin + gamma_wr_addr <= {(byte_cnt[1:0]-1'b1),io_din[15:8]}; + {gamma_wr, gamma_value} <= {1'b1,io_din[7:0]}; + if (byte_cnt[1:0] == 3) byte_cnt <= 1; + end + + // UART + 'h3b: if(!byte_cnt[MAX_W:2]) begin + case(byte_cnt[1:0]) + 1: tmp2 <= io_din[7:0]; + 2: tmp1 <= io_din; + 3: {uart_speed, uart_mode} <= {io_din, tmp1, tmp2}; endcase - - //CD set - 'h35: case(byte_cnt) - 1: cd_out[15:0] <= io_din; - 2: cd_out[31:16] <= io_din; - 3: cd_out[47:32] <= io_din; - endcase - endcase - end + end + endcase end end end @@ -454,7 +498,7 @@ end generate if(PS2DIV) begin reg clk_ps2; - always @(negedge clk_sys) begin + always @(posedge clk_sys) begin integer cnt; cnt <= cnt + 1'd1; if(cnt == PS2DIV) begin @@ -519,22 +563,24 @@ endgenerate /////////////////////////////// DOWNLOADING /////////////////////////////// -localparam UIO_FILE_TX = 8'h53; -localparam UIO_FILE_TX_DAT = 8'h54; -localparam UIO_FILE_INDEX = 8'h55; -localparam UIO_FILE_INFO = 8'h56; +localparam FIO_FILE_TX = 8'h53; +localparam FIO_FILE_TX_DAT = 8'h54; +localparam FIO_FILE_INDEX = 8'h55; +localparam FIO_FILE_INFO = 8'h56; -always@(posedge clk_sys) begin +reg [15:0] fp_dout; +always@(posedge clk_sys) begin : fio_block reg [15:0] cmd; reg [2:0] cnt; reg has_cmd; reg [26:0] addr; reg wr; - + + ioctl_rd <= 0; ioctl_wr <= wr; wr <= 0; - if(~io_enable) has_cmd <= 0; + if(~fp_enable) has_cmd <= 0; else begin if(io_strobe) begin @@ -545,7 +591,7 @@ always@(posedge clk_sys) begin end else begin case(cmd) - UIO_FILE_INFO: + FIO_FILE_INFO: if(~cnt[1]) begin case(cnt) 0: ioctl_file_ext[31:16] <= io_din; @@ -554,29 +600,54 @@ always@(posedge clk_sys) begin cnt <= cnt + 1'd1; end - UIO_FILE_INDEX: + FIO_FILE_INDEX: begin - ioctl_index <= io_din[7:0]; + ioctl_index <= io_din[15:0]; end - UIO_FILE_TX: + FIO_FILE_TX: begin - if(io_din[7:0]) begin - addr <= 0; - ioctl_download <= 1; - end else begin - ioctl_addr <= addr; - ioctl_download <= 0; - end + cnt <= cnt + 1'd1; + case(cnt) + 0: if(io_din[7:0] == 8'hAA) begin + ioctl_addr <= 0; + ioctl_upload <= 1; + ioctl_rd <= 1; + end + else if(io_din[7:0]) begin + addr <= 0; + ioctl_download <= 1; + end + else begin + if(ioctl_download) ioctl_addr <= addr; + ioctl_download <= 0; + ioctl_upload <= 0; + end + + 1: begin + ioctl_addr[15:0] <= io_din; + addr[15:0] <= io_din; + end + + 2: begin + ioctl_addr[26:16] <= io_din[10:0]; + addr[26:16] <= io_din[10:0]; + end + endcase end - UIO_FILE_TX_DAT: - begin + FIO_FILE_TX_DAT: + if(ioctl_download) begin ioctl_addr <= addr; ioctl_dout <= io_din[DW:0]; wr <= 1; addr <= addr + (WIDE ? 2'd2 : 2'd1); end + else begin + ioctl_addr <= ioctl_addr + (WIDE ? 2'd2 : 2'd1); + fp_dout <= ioctl_din; + ioctl_rd <= 1; + end endcase end end @@ -633,7 +704,7 @@ always@(posedge clk_sys) begin tx_empty <= ((wptr == rptr) && (tx_state == 0)); - if(we) begin + if(we && !has_data) begin fifo[wptr] <= wdata; wptr <= wptr + 1'd1; end @@ -673,6 +744,8 @@ always@(posedge clk_sys) begin ps2_dat_out <= 1; has_data <= 1; rx_state <= 0; + rptr <= 0; + wptr <= 0; end endcase end else begin @@ -733,6 +806,8 @@ module video_calc ( input clk_100, input clk_vid, + input clk_sys, + input ce_pix, input de, input hs, @@ -745,22 +820,22 @@ module video_calc output reg [15:0] dout ); -always @(*) begin +always @(posedge clk_sys) begin case(par_num) - 1: dout = {|vid_int, vid_nres}; - 2: dout = vid_hcnt[15:0]; - 3: dout = vid_hcnt[31:16]; - 4: dout = vid_vcnt[15:0]; - 5: dout = vid_vcnt[31:16]; - 6: dout = vid_htime[15:0]; - 7: dout = vid_htime[31:16]; - 8: dout = vid_vtime[15:0]; - 9: dout = vid_vtime[31:16]; - 10: dout = vid_pix[15:0]; - 11: dout = vid_pix[31:16]; - 12: dout = vid_vtime_hdmi[15:0]; - 13: dout = vid_vtime_hdmi[31:16]; - default dout = 0; + 1: dout <= {|vid_int, vid_nres}; + 2: dout <= vid_hcnt[15:0]; + 3: dout <= vid_hcnt[31:16]; + 4: dout <= vid_vcnt[15:0]; + 5: dout <= vid_vcnt[31:16]; + 6: dout <= vid_htime[15:0]; + 7: dout <= vid_htime[31:16]; + 8: dout <= vid_vtime[15:0]; + 9: dout <= vid_vtime[31:16]; + 10: dout <= vid_pix[15:0]; + 11: dout <= vid_pix[31:16]; + 12: dout <= vid_vtime_hdmi[15:0]; + 13: dout <= vid_vtime_hdmi[31:16]; + default dout <= 0; endcase end @@ -861,92 +936,3 @@ always @(posedge clk_100) begin end endmodule - - -// -// Phase shift helper module for better 64MB/128MB modules support. -// -// Copyright (c) 2019 Alexey Melnikov -// - -module phase_shift #(parameter M32MB=0, M64MB=0, M128MB=0) -( - input reset, - - input clk, - input pll_locked, - - output reg phase_en, - output reg updn, - input phase_done, - - input [15:0] sdram_sz, - output reg ready -); - -localparam ph32 = ($signed(M32MB ) >= 0) ? M32MB : (0 - M32MB); -localparam ph64 = ($signed(M64MB ) >= 0) ? M64MB : (0 - M64MB); -localparam ph128 = ($signed(M128MB) >= 0) ? M128MB : (0 - M128MB); - -localparam up32 = ($signed(M32MB ) >= 0) ? 1'b1 : 1'b0; -localparam up64 = ($signed(M64MB ) >= 0) ? 1'b1 : 1'b0; -localparam up128 = ($signed(M128MB) >= 0) ? 1'b1 : 1'b0; - -always @(posedge clk, posedge reset) begin - reg [2:0] state = 0; - reg [7:0] cnt; - reg [8:0] ph; - - if(reset) begin - state <= 0; - ready <= 0; - end - else begin - case(state) - 0: begin - ready <= 0; - if(pll_locked) state <= state + 1'd1; - end - 1: if(sdram_sz[15]) begin - cnt <= 0; - if(sdram_sz[14]) ph <= sdram_sz[8:0]; - else begin - case(sdram_sz[1:0]) - 0: ph <= 0; - 1: ph <= {up32[0],ph32[7:0]}; - 2: ph <= {up64[0],ph64[7:0]}; - 3: ph <= {up128[0],ph128[7:0]}; - endcase - end - state <= state + 1'd1; - end - 2: if(ph[7:0]) begin - ph[7:0] <= ph[7:0] - 1'd1; - updn <= ph[8]; - state <= state + 1'd1; - end - else begin - state <= 6; - end - 3: begin - phase_en <= 1; - state <= state + 1'd1; - end - 4: if(~phase_done) begin - phase_en <= 0; - state <= state + 1'd1; - end - 5: if(phase_done) begin - cnt <= cnt + 1'd1; - if(cnt == ph[7:0]) state <= state + 1'd1; - else state <= 3; - end - 6: begin - ready <= 1; - if(!sdram_sz[15]) state <= 0; - end - endcase - end -end - -endmodule diff --git a/sys/i2c.v b/sys/i2c.v index 01076c6..d6d59d9 100644 --- a/sys/i2c.v +++ b/sys/i2c.v @@ -1,96 +1,96 @@ - -module i2c -( - input CLK, - - input START, - input READ, - input [6:0] I2C_ADDR, - input I2C_WLEN, // 0 - one byte, 1 - two bytes - input [7:0] I2C_WDATA1, - input [7:0] I2C_WDATA2, - output [7:0] I2C_RDATA, - output reg END = 1, - output reg ACK = 0, - - //I2C bus - output I2C_SCL, - inout I2C_SDA -); - - -// Clock Setting -parameter CLK_Freq = 50_000_000; // 50 MHz -parameter I2C_Freq = 400_000; // 400 KHz - -localparam I2C_FreqX2 = I2C_Freq*2; - -reg I2C_CLOCK; -reg [31:0] cnt; -wire [31:0] cnt_next = cnt + I2C_FreqX2; - -always @(posedge CLK) begin - cnt <= cnt_next; - if(cnt_next >= CLK_Freq) begin - cnt <= cnt_next - CLK_Freq; - I2C_CLOCK <= ~I2C_CLOCK; - end -end - -assign I2C_SCL = SCLK | I2C_CLOCK; -assign I2C_SDA = SDO[3] ? 1'bz : 1'b0; - -reg SCLK = 1; -reg [3:0] SDO = 4'b1111; -reg [0:7] rdata; - -assign I2C_RDATA = rdata; - -always @(posedge CLK) begin - reg old_clk; - reg old_st; - reg rd,len; - - reg [5:0] SD_COUNTER = 'b111111; - reg [0:31] SD; - - old_clk <= I2C_CLOCK; - old_st <= START; - - // delay to make sure SDA changed while SCL is stabilized at low - if(old_clk && ~I2C_CLOCK && ~SD_COUNTER[5]) SDO[0] <= SD[SD_COUNTER[4:0]]; - SDO[3:1] <= SDO[2:0]; - - if(~old_st && START) begin - SCLK <= 1; - SDO <= 4'b1111; - ACK <= 0; - END <= 0; - rd <= READ; - len <= I2C_WLEN; - if(READ) SD <= {2'b10, I2C_ADDR, 1'b1, 1'b1, 8'b11111111, 1'b0, 3'b011, 9'b111111111}; - else SD <= {2'b10, I2C_ADDR, 1'b0, 1'b1, I2C_WDATA1, 1'b1, I2C_WDATA2, 4'b1011}; - SD_COUNTER <= 0; - end else begin - if(~old_clk && I2C_CLOCK && ~&SD_COUNTER) begin - SD_COUNTER <= SD_COUNTER + 6'd1; - case(SD_COUNTER) - 01: SCLK <= 0; - 10: ACK <= ACK | I2C_SDA; - 19: if(~rd) begin - ACK <= ACK | I2C_SDA; - if(~len) SD_COUNTER <= 29; - end - 20: if(rd) SCLK <= 1; - 23: if(rd) END <= 1; - 28: if(~rd) ACK <= ACK | I2C_SDA; - 29: if(~rd) SCLK <= 1; - 32: if(~rd) END <= 1; - endcase - - if(SD_COUNTER >= 11 && SD_COUNTER <= 18) rdata[SD_COUNTER[4:0]-11] <= I2C_SDA; - end - end -end - -endmodule + +module i2c +( + input CLK, + + input START, + input READ, + input [6:0] I2C_ADDR, + input I2C_WLEN, // 0 - one byte, 1 - two bytes + input [7:0] I2C_WDATA1, + input [7:0] I2C_WDATA2, + output [7:0] I2C_RDATA, + output reg END = 1, + output reg ACK = 0, + + //I2C bus + output I2C_SCL, + inout I2C_SDA +); + + +// Clock Setting +parameter CLK_Freq = 50_000_000; // 50 MHz +parameter I2C_Freq = 400_000; // 400 KHz + +localparam I2C_FreqX2 = I2C_Freq*2; + +reg I2C_CLOCK; +reg [31:0] cnt; +wire [31:0] cnt_next = cnt + I2C_FreqX2; + +always @(posedge CLK) begin + cnt <= cnt_next; + if(cnt_next >= CLK_Freq) begin + cnt <= cnt_next - CLK_Freq; + I2C_CLOCK <= ~I2C_CLOCK; + end +end + +assign I2C_SCL = SCLK | I2C_CLOCK; +assign I2C_SDA = SDO[3] ? 1'bz : 1'b0; + +reg SCLK = 1; +reg [3:0] SDO = 4'b1111; +reg [0:7] rdata; + +assign I2C_RDATA = rdata; + +always @(posedge CLK) begin + reg old_clk; + reg old_st; + reg rd,len; + + reg [5:0] SD_COUNTER = 'b111111; + reg [0:31] SD; + + old_clk <= I2C_CLOCK; + old_st <= START; + + // delay to make sure SDA changed while SCL is stabilized at low + if(old_clk && ~I2C_CLOCK && ~SD_COUNTER[5]) SDO[0] <= SD[SD_COUNTER[4:0]]; + SDO[3:1] <= SDO[2:0]; + + if(~old_st && START) begin + SCLK <= 1; + SDO <= 4'b1111; + ACK <= 0; + END <= 0; + rd <= READ; + len <= I2C_WLEN; + if(READ) SD <= {2'b10, I2C_ADDR, 1'b1, 1'b1, 8'b11111111, 1'b0, 3'b011, 9'b111111111}; + else SD <= {2'b10, I2C_ADDR, 1'b0, 1'b1, I2C_WDATA1, 1'b1, I2C_WDATA2, 4'b1011}; + SD_COUNTER <= 0; + end else begin + if(~old_clk && I2C_CLOCK && ~&SD_COUNTER) begin + SD_COUNTER <= SD_COUNTER + 6'd1; + case(SD_COUNTER) + 01: SCLK <= 0; + 10: ACK <= ACK | I2C_SDA; + 19: if(~rd) begin + ACK <= ACK | I2C_SDA; + if(~len) SD_COUNTER <= 29; + end + 20: if(rd) SCLK <= 1; + 23: if(rd) END <= 1; + 28: if(~rd) ACK <= ACK | I2C_SDA; + 29: if(~rd) SCLK <= 1; + 32: if(~rd) END <= 1; + endcase + + if(SD_COUNTER >= 11 && SD_COUNTER <= 18) rdata[SD_COUNTER[4:0]-11] <= I2C_SDA; + end + end +end + +endmodule diff --git a/sys/iir_filter.v b/sys/iir_filter.v new file mode 100644 index 0000000..b8bcf4f --- /dev/null +++ b/sys/iir_filter.v @@ -0,0 +1,213 @@ + +// 3-tap IIR filter for 2 channels. +// Copyright (C) 2020 Sorgelig +// +// This program is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2 of the License, or (at your option) +// any later version. +// +// This program is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +// more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +// +// Can be converted to 2-tap (coeff_x2 = 0, coeff_y2 = 0) or 1-tap (coeff_x1,2 = 0, coeff_y1,2 = 0) +// +module IIR_filter +#( + parameter use_params = 1, // set to 1 to use following parameters, 0 for input port variables. + parameter stereo = 1, // 0 for mono (input_l) + + parameter coeff_x = 0.00000774701983513660, // Base gain value for X. Float. Range: 0.0 ... 0.999(9) + parameter coeff_x0 = 3, // Gain scale factor for X0. Integer. Range -7 ... +7 + parameter coeff_x1 = 3, // Gain scale factor for X1. Integer. Range -7 ... +7 + parameter coeff_x2 = 1, // Gain scale factor for X2. Integer. Range -7 ... +7 + parameter coeff_y0 = -2.96438150626551080000, // Coefficient for Y0. Float. Range -3.999(9) ... 3.999(9) + parameter coeff_y1 = 2.92939452735121100000, // Coefficient for Y1. Float. Range -3.999(9) ... 3.999(9) + parameter coeff_y2 = -0.96500747158831091000 // Coefficient for Y2. Float. Range -3.999(9) ... 3.999(9) +) +( + input clk, + input reset, + + input ce, // must be double of calculated rate for stereo! + input sample_ce, // desired output sample rate + + input [39:0] cx, + input [7:0] cx0, + input [7:0] cx1, + input [7:0] cx2, + input [23:0] cy0, + input [23:0] cy1, + input [23:0] cy2, + + input [15:0] input_l, input_r, // signed samples + output [15:0] output_l, output_r // signed samples +); + +localparam [39:0] pcoeff_x = coeff_x * 40'h8000000000; +localparam [31:0] pcoeff_y0 = coeff_y0 * 24'h200000; +localparam [31:0] pcoeff_y1 = coeff_y1 * 24'h200000; +localparam [31:0] pcoeff_y2 = coeff_y2 * 24'h200000; + +wire [39:0] vcoeff = use_params ? pcoeff_x : cx; +wire [23:0] vcoeff_y0 = use_params ? pcoeff_y0[23:0] : cy0; +wire [23:0] vcoeff_y1 = use_params ? pcoeff_y1[23:0] : cy1; +wire [23:0] vcoeff_y2 = use_params ? pcoeff_y2[23:0] : cy2; + +wire [59:0] inp_mul = $signed(inp) * $signed(vcoeff); + +wire [39:0] x = inp_mul[59:20]; +wire [39:0] y = x + tap0; + +wire [39:0] tap0; +iir_filter_tap iir_tap_0 +( + .clk(clk), + .reset(reset), + .ce(ce), + .ch(ch), + .cx(use_params ? coeff_x0[7:0] : cx0), + .cy(vcoeff_y0), + .x(x), + .y(y), + .z(tap1), + .tap(tap0) +); + +wire [39:0] tap1; +iir_filter_tap iir_tap_1 +( + .clk(clk), + .reset(reset), + .ce(ce), + .ch(ch), + .cx(use_params ? coeff_x1[7:0] : cx1), + .cy(vcoeff_y1), + .x(x), + .y(y), + .z(tap2), + .tap(tap1) +); + +wire [39:0] tap2; +iir_filter_tap iir_tap_2 +( + .clk(clk), + .reset(reset), + .ce(ce), + .ch(ch), + .cx(use_params ? coeff_x2[7:0] : cx2), + .cy(vcoeff_y2), + .x(x), + .y(y), + .z(0), + .tap(tap2) +); + +wire [15:0] y_clamp = (~y[39] & |y[38:35]) ? 16'h7FFF : (y[39] & ~&y[38:35]) ? 16'h8000 : y[35:20]; + +reg ch = 0; +reg [15:0] out_l, out_r, out_m; +reg [15:0] inp, inp_m; +always @(posedge clk) if (ce) begin + if(!stereo) begin + ch <= 0; + inp <= input_l; + out_l <= y_clamp; + out_r <= y_clamp; + end + else begin + ch <= ~ch; + if(ch) begin + out_m <= y_clamp; + inp <= inp_m; + end + else begin + out_l <= out_m; + out_r <= y_clamp; + inp <= input_l; + inp_m <= input_r; + end + end +end + +reg [31:0] out; +always @(posedge clk) if (sample_ce) out <= {out_l, out_r}; + +assign {output_l, output_r} = out; + +endmodule + +module iir_filter_tap +( + input clk, + input reset, + + input ce, + input ch, + + input [7:0] cx, + input [23:0] cy, + + input [39:0] x, + input [39:0] y, + input [39:0] z, + output [39:0] tap +); + +wire signed [60:0] y_mul = $signed(y[36:0]) * $signed(cy); + +function [39:0] x_mul; + input [39:0] x; +begin + x_mul = 0; + if(cx[0]) x_mul = x_mul + {{4{x[39]}}, x[39:4]}; + if(cx[1]) x_mul = x_mul + {{3{x[39]}}, x[39:3]}; + if(cx[2]) x_mul = x_mul + {{2{x[39]}}, x[39:2]}; + if(cx[7]) x_mul = ~x_mul; //cheap NEG +end +endfunction + +(* ramstyle = "logic" *) reg [39:0] intreg[2]; +always @(posedge clk, posedge reset) begin + if(reset) {intreg[0],intreg[1]} <= 80'd0; + else if(ce) intreg[ch] <= x_mul(x) - y_mul[60:21] + z; +end + +assign tap = intreg[ch]; + +endmodule + +// simplified IIR 1-tap. +module DC_blocker +( + input clk, + input ce, // 48/96 KHz + input mute, + + input sample_rate, + input [15:0] din, + output [15:0] dout +); + +wire [39:0] x = {din[15], din, 23'd0}; +wire [39:0] x0 = x - (sample_rate ? {{11{x[39]}}, x[39:11]} : {{10{x[39]}}, x[39:10]}); +wire [39:0] y1 = y - (sample_rate ? {{10{y[39]}}, y[39:10]} : {{09{y[39]}}, y[39:09]}); +wire [39:0] y0 = x0 - x1 + y1; + +reg [39:0] x1, y; +always @(posedge clk) if(ce) begin + x1 <= x0; + y <= ^y0[39:38] ? {{2{y0[39]}},{38{y0[38]}}} : y0; +end + +assign dout = mute ? 16'd0 : y[38:23]; + +endmodule diff --git a/sys/mt32pi.sv b/sys/mt32pi.sv new file mode 100644 index 0000000..c9cd44d --- /dev/null +++ b/sys/mt32pi.sv @@ -0,0 +1,279 @@ +// +// Communication module to MT32-pi (external MIDI emulator on RPi) +// (C) 2020 Sorgelig, Kitrinx +// +// https://github.com/dwhinham/mt32-pi +// + +module mt32pi +( + input CLK_AUDIO, + + input CLK_VIDEO, + input CE_PIXEL, + input VGA_VS, + input VGA_DE, + + input [6:0] USER_IN, + output [6:0] USER_OUT, + + input reset, + input midi_tx, + output midi_rx, + + output reg [15:0] mt32_i2s_r, + output reg [15:0] mt32_i2s_l, + + output reg mt32_available, + + input mt32_mode_req, + input [1:0] mt32_rom_req, + input [7:0] mt32_sf_req, + + output reg [7:0] mt32_mode, + output reg [7:0] mt32_rom, + output reg [7:0] mt32_sf, + output reg mt32_newmode, + + output reg mt32_lcd_en, + output reg mt32_lcd_pix, + output reg mt32_lcd_update +); + +// +// Pin | USB Name | Signal +// ----+----------+-------------- +// 0 | D+ | I/O I2C_SDA +// 1 | D- | O TX (midi out) +// 2 | TX- | I I2S_WS (1 == right) +// 3 | GND_d | I I2C_SCL +// 4 | RX+ | I I2S_BCLK +// 5 | RX- | I I2S_DAT +// 6 | TX+ | - none +// + +assign USER_OUT[0] = sda_out; +assign USER_OUT[1] = midi_tx; +assign USER_OUT[6:2] = '1; + + +// +// crossed/straight cable selection +// + +generate + genvar i; + for(i = 0; i<2; i++) begin : clk_rate + wire clk_in = i ? USER_IN[6] : USER_IN[4]; + reg [4:0] cnt; + always @(posedge CLK_AUDIO) begin : clkr + reg clk_sr, clk, old_clk; + reg [4:0] cnt_tmp; + + clk_sr <= clk_in; + if (clk_sr == clk_in) clk <= clk_sr; + + if(~&cnt_tmp) cnt_tmp <= cnt_tmp + 1'd1; + else cnt <= '1; + + old_clk <= clk; + if(~old_clk & clk) begin + cnt <= cnt_tmp; + cnt_tmp <= 0; + end + end + end + + reg crossed; + always @(posedge CLK_AUDIO) crossed <= (clk_rate[0].cnt <= clk_rate[1].cnt); +endgenerate + +wire i2s_ws = crossed ? USER_IN[2] : USER_IN[5]; +wire i2s_data = crossed ? USER_IN[5] : USER_IN[2]; +wire i2s_bclk = crossed ? USER_IN[4] : USER_IN[6]; +assign midi_rx = crossed ? USER_IN[6] : USER_IN[4]; + + +// +// i2s receiver +// + +always @(posedge CLK_AUDIO) begin : i2s_proc + reg [15:0] i2s_buf = 0; + reg [4:0] i2s_cnt = 0; + reg clk_sr; + reg i2s_clk = 0; + reg old_clk, old_ws; + reg i2s_next = 0; + + // Debounce clock + clk_sr <= i2s_bclk; + if (clk_sr == i2s_bclk) i2s_clk <= clk_sr; + + // Latch data and ws on rising edge + old_clk <= i2s_clk; + if (i2s_clk && ~old_clk) begin + + if (~i2s_cnt[4]) begin + i2s_cnt <= i2s_cnt + 1'd1; + i2s_buf[~i2s_cnt[3:0]] <= i2s_data; + end + + // Word Select will change 1 clock before the new word starts + old_ws <= i2s_ws; + if (old_ws != i2s_ws) i2s_next <= 1; + end + + if (i2s_next) begin + i2s_next <= 0; + i2s_cnt <= 0; + i2s_buf <= 0; + + if (i2s_ws) mt32_i2s_l <= i2s_buf; + else mt32_i2s_r <= i2s_buf; + end + + if (reset) begin + i2s_buf <= 0; + mt32_i2s_l <= 0; + mt32_i2s_r <= 0; + end +end + + +// +// i2c slave +// + +reg sda_out; +reg [7:0] lcd_data[1024]; +reg lcd_sz; + +reg reset_r = 0; +wire [7:0] mode_req = reset_r ? 8'hA0 : mt32_mode_req ? 8'hA2 : 8'hA1; +wire [7:0] rom_req = {6'd0, mt32_rom_req}; + +always @(posedge CLK_AUDIO) begin : i2c_slave + reg sda_sr, scl_sr; + reg old_sda, old_scl; + reg sda, scl; + reg [7:0] tmp; + reg [3:0] cnt = 0; + reg [10:0] bcnt = 0; + reg ack; + reg i2c_rw; + reg disp, dispdata; + reg [2:0] div; + + div <= div + 1'd1; + if(!div) begin + sda_sr <= USER_IN[0]; + if(sda_sr == USER_IN[0]) sda <= sda_sr; + old_sda <= sda; + + scl_sr <= USER_IN[3]; + if(scl_sr == USER_IN[3]) scl <= scl_sr; + old_scl <= scl; + + //start + if(old_scl & scl & old_sda & ~sda) begin + cnt <= 9; + bcnt <= 0; + ack <= 0; + i2c_rw <= 0; + disp <= 0; + dispdata <= 0; + end + + //stop + if(old_scl & scl & ~old_sda & sda) begin + cnt <= 0; + if(dispdata) begin + lcd_sz <= ~bcnt[9]; + mt32_lcd_update <= ~mt32_lcd_update; + end + end + + //data latch + if(~old_scl && scl && cnt) begin + tmp <= {tmp[6:0], sda}; + cnt <= cnt - 1'd1; + end + + if(!cnt) sda_out <= 1; + + //data set + if(old_scl && ~scl) begin + sda_out <= 1; + if(cnt == 1) begin + if(!bcnt) begin + if(tmp[7:1] == 'h45 || tmp[7:1] == 'h3c) begin + disp <= (tmp[7:1] == 'h3c); + sda_out <= 0; + mt32_available <= 1; + ack <= 1; + i2c_rw <= tmp[0]; + bcnt <= bcnt + 1'd1; + cnt <= 10; + end + else begin + // wrong address, stop + cnt <= 0; + end + end + else if(ack) begin + if(~i2c_rw) begin + if(disp) begin + if(bcnt == 1) dispdata <= (tmp[7:6] == 2'b01); + else if(dispdata) lcd_data[bcnt[9:0] - 2'd2] <= tmp; + end + else begin + if(bcnt == 1) mt32_mode <= tmp; + if(bcnt == 2) mt32_rom <= tmp; + if(bcnt == 3) mt32_sf <= tmp; + if(bcnt == 3) mt32_newmode <= ~mt32_newmode; + end + end + if(~&bcnt) bcnt <= bcnt + 1'd1; + sda_out <= 0; + cnt <= 10; + end + end + else if(i2c_rw && ack && cnt && ~disp) begin + if(bcnt == 1) sda_out <= mode_req[cnt[2:0] - 2'd2]; + if(bcnt == 2) sda_out <= rom_req[cnt[2:0] - 2'd2]; + if(bcnt == 3) sda_out <= mt32_sf_req[cnt[2:0] - 2'd2]; + if(bcnt == 3) reset_r <= 0; + end + end + end + + if(reset) begin + reset_r <= 1; + mt32_available <= 0; + end +end + +always @(posedge CLK_VIDEO) begin + reg old_de, old_vs; + reg [7:0] hcnt; + reg [6:0] vcnt; + reg [7:0] sh; + + if(CE_PIXEL) begin + old_de <= VGA_DE; + old_vs <= VGA_VS; + + if(~&hcnt) hcnt <= hcnt + 1'd1; + sh <= (sh << 1) | (~old_de & VGA_DE); + if(sh[7]) hcnt <= 0; + + if(old_de & ~VGA_DE & ~&vcnt) vcnt <= vcnt + 1'd1; + if(~old_vs & VGA_VS) vcnt <= 0; + + mt32_lcd_en <= mt32_available & ~hcnt[7] && (lcd_sz ? !vcnt[6] : !vcnt[6:5]); + mt32_lcd_pix <= lcd_data[{vcnt[5:3],hcnt[6:0]}][vcnt[2:0]]; + end +end + +endmodule diff --git a/sys/osd.v b/sys/osd.v index eee77d8..a4fbdde 100644 --- a/sys/osd.v +++ b/sys/osd.v @@ -38,7 +38,7 @@ reg osd_enable; reg info = 0; reg [8:0] infoh; reg [8:0] infow; -reg [11:0] infox; +reg [21:0] infox; reg [21:0] infoy; reg [21:0] osd_h; reg [21:0] osd_t; @@ -123,31 +123,39 @@ end reg [2:0] osd_de; reg osd_pixel; reg [21:0] v_cnt; - -reg v_cnt_half, v_cnt_single, v_cnt_double, v_cnt_triple; - -reg [21:0] v_osd_start_h, v_osd_start_s, v_osd_start_d, v_osd_start_t, v_osd_start_q; +reg v_cnt_h, v_cnt_1, v_cnt_2, v_cnt_3, v_cnt_4; +reg [21:0] v_osd_start_h, v_osd_start_1, v_osd_start_2, v_osd_start_3, v_osd_start_4, v_osd_start_5; +reg [21:0] v_info_start_h, v_info_start_1, v_info_start_2, v_info_start_3, v_info_start_4, v_info_start_5; wire [21:0] osd_h_hdr = (info || rot) ? osd_h : (osd_h + OSD_HDR); // pipeline the comparisons a bit always @(posedge clk_video) if(ce_pix) begin - v_cnt_half <= v_cnt < osd_t; - v_cnt_single <= v_cnt < 320; - v_cnt_double <= v_cnt < 640; - v_cnt_triple <= v_cnt < 960; + v_cnt_h <= v_cnt < osd_t; + v_cnt_1 <= v_cnt < 320; + v_cnt_2 <= v_cnt < 640; + v_cnt_3 <= v_cnt < 960; + v_cnt_4 <= v_cnt < 1280; - v_osd_start_h <= ((v_cnt-(osd_h_hdr>>1))>>1); - v_osd_start_s <= ((v_cnt-osd_h_hdr)>>1); - v_osd_start_d <= ((v_cnt-(osd_h_hdr<<1))>>1); - v_osd_start_t <= ((v_cnt-(osd_h_hdr + (osd_h_hdr<<1)))>>1); - v_osd_start_q <= ((v_cnt-(osd_h_hdr<<2))>>1); + v_osd_start_h <= (v_cnt-(osd_h_hdr>>1))>>1; + v_osd_start_1 <= (v_cnt-osd_h_hdr)>>1; + v_osd_start_2 <= (v_cnt-(osd_h_hdr<<1))>>1; + v_osd_start_3 <= (v_cnt-(osd_h_hdr + (osd_h_hdr<<1)))>>1; + v_osd_start_4 <= (v_cnt-(osd_h_hdr<<2))>>1; + v_osd_start_5 <= (v_cnt-(osd_h_hdr + (osd_h_hdr<<2)))>>1; + + v_info_start_h <= rot[0] ? infox : infoy; + v_info_start_1 <= rot[0] ? infox : infoy; + v_info_start_2 <= rot[0] ? (infox<<1) : (infoy<<1); + v_info_start_3 <= rot[0] ? (infox + (infox << 1)) : (infoy + (infoy << 1)); + v_info_start_4 <= rot[0] ? (infox << 2) : (infoy << 2); + v_info_start_5 <= rot[0] ? (infox + (infox << 2)) : (infoy + (infoy << 2)); end always @(posedge clk_video) begin reg deD; - reg [1:0] osd_div; - reg [1:0] multiscan; + reg [2:0] osd_div; + reg [2:0] multiscan; reg [7:0] osd_byte; reg [23:0] h_cnt; reg [21:0] dsp_width; @@ -199,26 +207,30 @@ always @(posedge clk_video) begin if(~osd_enable) osd_en <= 0; half <= 0; - if(v_cnt_half) begin + if(v_cnt_h) begin multiscan <= 0; - v_osd_start <= info ? (rot[0] ? infox : infoy) : v_osd_start_h; + v_osd_start <= info ? v_info_start_h : v_osd_start_h; half <= 1; end - else if(v_cnt_single | (rot[0] & v_cnt_double)) begin + else if(v_cnt_1 | (rot[0] & v_cnt_2)) begin multiscan <= 0; - v_osd_start <= info ? (rot[0] ? infox : infoy) : v_osd_start_s; + v_osd_start <= info ? v_info_start_1 : v_osd_start_1; end - else if(rot[0] ? v_cnt_triple : v_cnt_double) begin + else if(rot[0] ? v_cnt_3 : v_cnt_2) begin multiscan <= 1; - v_osd_start <= info ? (rot[0] ? (infox<<1) : (infoy<<1)) : v_osd_start_d; + v_osd_start <= info ? v_info_start_2 : v_osd_start_2; end - else if(v_cnt_triple | rot[0]) begin + else if(rot[0] ? v_cnt_4 : v_cnt_3) begin multiscan <= 2; - v_osd_start <= info ? (rot[0] ? (infox + (infox << 1)) : (infoy + (infoy << 1))) : v_osd_start_t; + v_osd_start <= info ? v_info_start_3 : v_osd_start_3; + end + else if(rot[0] | v_cnt_4) begin + multiscan <= 3; + v_osd_start <= info ? v_info_start_4 : v_osd_start_4; end else begin - multiscan <= 3; - v_osd_start <= info ? (rot[0] ? (infox<<2) : (infoy<<2)) : v_osd_start_q; + multiscan <= 4; + v_osd_start <= info ? v_info_start_5 : v_osd_start_5; end end end diff --git a/sys/pll.13.qip b/sys/pll.13.qip index a5cd7dc..a6a1dca 100644 --- a/sys/pll.13.qip +++ b/sys/pll.13.qip @@ -4,9 +4,13 @@ set_global_assignment -entity "pll" -library "pll" -name IP_TOOL_ENV "mwpim" set_global_assignment -library "pll" -name MISC_FILE [file join $::quartus(qip_path) "pll.cmp"] set_global_assignment -name SYNTHESIS_ONLY_QIP ON -set_global_assignment -library "pll" -name VERILOG_FILE [file join $::quartus(qip_path) "pll.v"] -set_global_assignment -library "pll" -name VERILOG_FILE [file join $::quartus(qip_path) "pll/pll_0002.v"] -set_global_assignment -library "pll" -name QIP_FILE [file join $::quartus(qip_path) "pll/pll_0002_q13.qip"] +set_global_assignment -library "pll" -name VERILOG_FILE rtl/pll.v +set_global_assignment -library "pll" -name VERILOG_FILE rtl/pll/pll_0002.v + +set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to "*pll_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_CHANNEL_SPACING "0.0 KHz" -to "*pll_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_AUTO_RESET ON -to "*pll_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_BANDWIDTH_PRESET AUTO -to "*pll_0002*|altera_pll:altera_pll_i*|*" set_global_assignment -entity "pll_0002" -library "pll" -name IP_TOOL_NAME "altera_pll" set_global_assignment -entity "pll_0002" -library "pll" -name IP_TOOL_VERSION "13.1" diff --git a/sys/pll_audio.13.qip b/sys/pll_audio.13.qip new file mode 100644 index 0000000..e987931 --- /dev/null +++ b/sys/pll_audio.13.qip @@ -0,0 +1,17 @@ +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TOOL_NAME "altera_pll" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TOOL_VERSION "13.1" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TOOL_ENV "mwpim" +set_global_assignment -library "pll_audio" -name MISC_FILE [file join $::quartus(qip_path) "pll_audio.cmp"] +set_global_assignment -name SYNTHESIS_ONLY_QIP ON + +set_global_assignment -library "pll_audio" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_audio.v"] +set_global_assignment -library "pll_audio" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_audio/pll_audio_0002.v"] + +set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_CHANNEL_SPACING "0.0 KHz" -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_AUTO_RESET ON -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_BANDWIDTH_PRESET AUTO -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" + +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_TOOL_NAME "altera_pll" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_TOOL_VERSION "13.1" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_TOOL_ENV "mwpim" diff --git a/sys/pll_audio.qip b/sys/pll_audio.qip new file mode 100644 index 0000000..abb013b --- /dev/null +++ b/sys/pll_audio.qip @@ -0,0 +1,337 @@ +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TOOL_NAME "altera_pll" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TOOL_VERSION "17.0" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TOOL_ENV "mwpim" +set_global_assignment -library "pll_audio" -name MISC_FILE [file join $::quartus(qip_path) "pll_audio.cmp"] +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_TARGETED_DEVICE_FAMILY "Cyclone V" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_GENERATED_DEVICE_FAMILY "{Cyclone V}" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_QSYS_MODE "UNKNOWN" +set_global_assignment -name SYNTHESIS_ONLY_QIP ON +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_NAME "cGxsX2F1ZGlv" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_DISPLAY_NAME "QWx0ZXJhIFBMTA==" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_AUTHOR "QWx0ZXJhIENvcnBvcmF0aW9u" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_VERSION "MTcuMA==" +set_global_assignment -entity "pll_audio" -library "pll_audio" -name IP_COMPONENT_DESCRIPTION "QWx0ZXJhIFBoYXNlLUxvY2tlZCBMb29wIChBTFRFUkFfUExMKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_NAME "cGxsX2F1ZGlvXzAwMDI=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_DISPLAY_NAME "QWx0ZXJhIFBMTA==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_REPORT_HIERARCHY "Off" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_INTERNAL "Off" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_AUTHOR "QWx0ZXJhIENvcnBvcmF0aW9u" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_VERSION "MTcuMA==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_DESCRIPTION "QWx0ZXJhIFBoYXNlLUxvY2tlZCBMb29wIChBTFRFUkFfUExMKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZGVidWdfcHJpbnRfb3V0cHV0::ZmFsc2U=::ZGVidWdfcHJpbnRfb3V0cHV0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZGVidWdfdXNlX3JiY190YWZfbWV0aG9k::ZmFsc2U=::ZGVidWdfdXNlX3JiY190YWZfbWV0aG9k" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZGV2aWNl::NUNFQkEyRjE3QTc=::ZGV2aWNl" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BsbF9tb2Rl::RnJhY3Rpb25hbC1OIFBMTA==::UExMIE1vZGU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZnJhY3Rpb25hbF92Y29fbXVsdGlwbGllcg==::dHJ1ZQ==::ZnJhY3Rpb25hbF92Y29fbXVsdGlwbGllcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3JlZmVyZW5jZV9jbG9ja19mcmVxdWVuY3k=::NTAuMA==::UmVmZXJlbmNlIENsb2NrIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cmVmZXJlbmNlX2Nsb2NrX2ZyZXF1ZW5jeQ==::NTAuMCBNSHo=::cmVmZXJlbmNlX2Nsb2NrX2ZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2NoYW5uZWxfc3BhY2luZw==::MC4w::Q2hhbm5lbCBTcGFjaW5n" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX29wZXJhdGlvbl9tb2Rl::ZGlyZWN0::T3BlcmF0aW9uIE1vZGU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2ZlZWRiYWNrX2Nsb2Nr::R2xvYmFsIENsb2Nr::RmVlZGJhY2sgQ2xvY2s=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2ZyYWN0aW9uYWxfY291dA==::MzI=::RnJhY3Rpb25hbCBjYXJyeSBvdXQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RzbV9vdXRfc2Vs::MXN0X29yZGVy::RFNNIE9yZGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3BlcmF0aW9uX21vZGU=::ZGlyZWN0::b3BlcmF0aW9uX21vZGU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3VzZV9sb2NrZWQ=::ZmFsc2U=::RW5hYmxlIGxvY2tlZCBvdXRwdXQgcG9ydA==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX2Fkdl9wYXJhbXM=::ZmFsc2U=::RW5hYmxlIHBoeXNpY2FsIG91dHB1dCBjbG9jayBwYXJhbWV0ZXJz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX251bWJlcl9vZl9jbG9ja3M=::MQ==::TnVtYmVyIE9mIENsb2Nrcw==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "bnVtYmVyX29mX2Nsb2Nrcw==::MQ==::bnVtYmVyX29mX2Nsb2Nrcw==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX211bHRpcGx5X2ZhY3Rvcg==::MQ==::TXVsdGlwbHkgRmFjdG9yIChNLUNvdW50ZXIp" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2ZyYWNfbXVsdGlwbHlfZmFjdG9y::MQ==::RnJhY3Rpb25hbCBNdWx0aXBseSBGYWN0b3IgKEsp" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3Jfbg==::MQ==::RGl2aWRlIEZhY3RvciAoTi1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjA=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kw::MjQuNTc2::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzA=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iw::OA==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjA=::MTUyODMyMTE2Mw==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMA==::MTc=::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MA==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzA=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDA=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUw::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kx::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Ix::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMQ==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MQ==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUx::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjI=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3ky::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzI=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iy::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjI=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMg==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Mg==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMg==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Mg==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzI=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDI=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUy::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjM=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kz::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzM=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3Iz::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjM=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMw==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Mw==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMw==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Mw==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzM=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDM=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUz::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjQ=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k0::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzQ=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I0::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjQ=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNA==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5NA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0NA==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzQ=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDQ=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU0::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjU=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k1::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzU=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I1::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjU=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNQ==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5NQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0NQ==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzU=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDU=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU1::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjY=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k2::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzY=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I2::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjY=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNg==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Ng==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNg==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Ng==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzY=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDY=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU2::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjc=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k3::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzc=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I3::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3Rvcjc=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yNw==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5Nw==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzNw==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0Nw==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzc=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDc=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU3::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjg=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k4::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzg=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I4::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3Rvcjg=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yOA==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5OA==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzOA==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0OA==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzg=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDg=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU4::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjk=::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3k5::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzk=::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3I5::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3Rvcjk=::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yOQ==::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5OQ==::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzOQ==::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0OQ==::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzk=::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDk=::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGU5::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEw::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMA==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEw::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMA==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEw::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTA=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTA=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTA=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTA=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEw::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEw::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMA==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEx::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMQ==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEx::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMQ==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEx::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTE=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTE=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTE=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTE=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEx::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEx::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMQ==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEy::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMg==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEy::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMg==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEy::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTI=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTI=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTI=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTI=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEy::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEy::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMg==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjEz::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxMw==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzEz::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxMw==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjEz::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTM=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTM=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTM=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTM=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzEz::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDEz::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxMw==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE0::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNA==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE0::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNA==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE0::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTQ=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTQ=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTQ=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTQ=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE0::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE0::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNA==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE1::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNQ==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE1::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNQ==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE1::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTU=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTU=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTU=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTU=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE1::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE1::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNQ==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE2::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNg==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE2::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNg==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE2::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTY=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTY=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTY=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTY=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE2::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE2::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNg==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Nhc2NhZGVfY291bnRlcjE3::ZmFsc2U=::TWFrZSB0aGlzIGEgY2FzY2FkZSBjb3VudGVy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX291dHB1dF9jbG9ja19mcmVxdWVuY3kxNw==::MTAwLjA=::RGVzaXJlZCBGcmVxdWVuY3k=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2RpdmlkZV9mYWN0b3JfYzE3::MQ==::RGl2aWRlIEZhY3RvciAoQy1Db3VudGVyKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9tdWx0aXBseV9mYWN0b3IxNw==::MQ==::QWN0dWFsIE11bHRpcGx5IEZhY3Rvcg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9mcmFjX211bHRpcGx5X2ZhY3RvcjE3::MQ==::QWN0dWFsIEZyYWN0aW9uYWwgTXVsdGlwbHkgRmFjdG9yIChLKQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9kaXZpZGVfZmFjdG9yMTc=::MQ==::QWN0dWFsIERpdmlkZSBGYWN0b3I=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9vdXRwdXRfY2xvY2tfZnJlcXVlbmN5MTc=::MCBNSHo=::QWN0dWFsIEZyZXF1ZW5jeQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BzX3VuaXRzMTc=::cHM=::UGhhc2UgU2hpZnQgdW5pdHM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0MTc=::MA==::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BoYXNlX3NoaWZ0X2RlZzE3::MC4w::UGhhc2UgU2hpZnQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2FjdHVhbF9waGFzZV9zaGlmdDE3::MA==::QWN0dWFsIFBoYXNlIFNoaWZ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2R1dHlfY3ljbGUxNw==::NTA=::RHV0eSBDeWNsZQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA=::MjQuNTc2MDAwIE1Ieg==::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTA=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQw::MCBwcw==::cGhhc2Vfc2hpZnQw" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTA=::NTA=::ZHV0eV9jeWNsZTA=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQx::MCBwcw==::cGhhc2Vfc2hpZnQx" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE=::NTA=::ZHV0eV9jeWNsZTE=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTI=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQy::MCBwcw==::cGhhc2Vfc2hpZnQy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTI=::NTA=::ZHV0eV9jeWNsZTI=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQz::MCBwcw==::cGhhc2Vfc2hpZnQz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTM=::NTA=::ZHV0eV9jeWNsZTM=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTQ=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ0::MCBwcw==::cGhhc2Vfc2hpZnQ0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTQ=::NTA=::ZHV0eV9jeWNsZTQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTU=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ1::MCBwcw==::cGhhc2Vfc2hpZnQ1" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTU=::NTA=::ZHV0eV9jeWNsZTU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTY=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTY=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ2::MCBwcw==::cGhhc2Vfc2hpZnQ2" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTY=::NTA=::ZHV0eV9jeWNsZTY=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTc=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTc=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ3::MCBwcw==::cGhhc2Vfc2hpZnQ3" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTc=::NTA=::ZHV0eV9jeWNsZTc=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTg=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTg=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ4::MCBwcw==::cGhhc2Vfc2hpZnQ4" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTg=::NTA=::ZHV0eV9jeWNsZTg=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTk=::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTk=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQ5::MCBwcw==::cGhhc2Vfc2hpZnQ5" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTk=::NTA=::ZHV0eV9jeWNsZTk=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEw::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEw" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMA==::MCBwcw==::cGhhc2Vfc2hpZnQxMA==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEw::NTA=::ZHV0eV9jeWNsZTEw" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEx::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEx" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMQ==::MCBwcw==::cGhhc2Vfc2hpZnQxMQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEx::NTA=::ZHV0eV9jeWNsZTEx" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEy::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMg==::MCBwcw==::cGhhc2Vfc2hpZnQxMg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEy::NTA=::ZHV0eV9jeWNsZTEy" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEz::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTEz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxMw==::MCBwcw==::cGhhc2Vfc2hpZnQxMw==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTEz::NTA=::ZHV0eV9jeWNsZTEz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE0::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNA==::MCBwcw==::cGhhc2Vfc2hpZnQxNA==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE0::NTA=::ZHV0eV9jeWNsZTE0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE1::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE1" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNQ==::MCBwcw==::cGhhc2Vfc2hpZnQxNQ==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE1::NTA=::ZHV0eV9jeWNsZTE1" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE2::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE2" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNg==::MCBwcw==::cGhhc2Vfc2hpZnQxNg==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE2::NTA=::ZHV0eV9jeWNsZTE2" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE3::MCBNSHo=::b3V0cHV0X2Nsb2NrX2ZyZXF1ZW5jeTE3" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGhhc2Vfc2hpZnQxNw==::MCBwcw==::cGhhc2Vfc2hpZnQxNw==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "ZHV0eV9jeWNsZTE3::NTA=::ZHV0eV9jeWNsZTE3" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BsbF9hdXRvX3Jlc2V0::T24=::UExMIEF1dG8gUmVzZXQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BsbF9iYW5kd2lkdGhfcHJlc2V0::QXV0bw==::UExMIEJhbmR3aWR0aCBQcmVzZXQ=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX3JlY29uZg==::ZmFsc2U=::RW5hYmxlIGR5bmFtaWMgcmVjb25maWd1cmF0aW9uIG9mIFBMTA==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX2Rwc19wb3J0cw==::ZmFsc2U=::RW5hYmxlIGFjY2VzcyB0byBkeW5hbWljIHBoYXNlIHNoaWZ0IHBvcnRz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuX3Bob3V0X3BvcnRz::ZmFsc2U=::RW5hYmxlIGFjY2VzcyB0byBQTEwgRFBBIG91dHB1dCBwb3J0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGxsX3R5cGU=::R2VuZXJhbA==::UExMIFRZUEU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "cGxsX3N1YnR5cGU=::R2VuZXJhbA==::UExMIFNVQlRZUEU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl9saXN0::TS1Db3VudGVyIEhpIERpdmlkZSxNLUNvdW50ZXIgTG93IERpdmlkZSxOLUNvdW50ZXIgSGkgRGl2aWRlLE4tQ291bnRlciBMb3cgRGl2aWRlLE0tQ291bnRlciBCeXBhc3MgRW5hYmxlLE4tQ291bnRlciBCeXBhc3MgRW5hYmxlLE0tQ291bnRlciBPZGQgRGl2aWRlIEVuYWJsZSxOLUNvdW50ZXIgT2RkIERpdmlkZSBFbmFibGUsQy1Db3VudGVyLTAgSGkgRGl2aWRlLEMtQ291bnRlci0wIExvdyBEaXZpZGUsQy1Db3VudGVyLTAgQ29hcnNlIFBoYXNlIFNoaWZ0LEMtQ291bnRlci0wIFZDTyBQaGFzZSBUYXAsQy1Db3VudGVyLTAgSW5wdXQgU291cmNlLEMtQ291bnRlci0wIEJ5cGFzcyBFbmFibGUsQy1Db3VudGVyLTAgT2RkIERpdmlkZSBFbmFibGUsVkNPIFBvc3QgRGl2aWRlIENvdW50ZXIgRW5hYmxlLENoYXJnZSBQdW1wIGN1cnJlbnQgKHVBKSxMb29wIEZpbHRlciBCYW5kd2lkdGggUmVzaXN0b3IgKE9obXMpICxQTEwgT3V0cHV0IFZDTyBGcmVxdWVuY3ksSy1GcmFjdGlvbmFsIERpdmlzaW9uIFZhbHVlIChEU00pLEZlZWRiYWNrIENsb2NrIFR5cGUsRmVlZGJhY2sgQ2xvY2sgTVVYIDEsRmVlZGJhY2sgQ2xvY2sgTVVYIDIsTSBDb3VudGVyIFNvdXJjZSBNVVgsUExMIEF1dG8gUmVzZXQ=::UGFyYW1ldGVyIE5hbWVz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3BhcmFtZXRlcl92YWx1ZXM=::NCw0LDI1NiwyNTYsZmFsc2UsdHJ1ZSxmYWxzZSxmYWxzZSw5LDgsMSwwLHBoX211eF9jbGssZmFsc2UsdHJ1ZSwyLDIwLDQwMDAsNDE3Ljc5MiBNSHosMTUyODMyMTE2Myxub25lLGdsYixtX2NudCxwaF9tdXhfY2xrLHRydWU=::UGFyYW1ldGVyIFZhbHVlcw==" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX21pZl9nZW5lcmF0ZQ==::ZmFsc2U=::R2VuZXJhdGUgTUlGIGZpbGU=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9taWZfZHBz::ZmFsc2U=::RW5hYmxlIER5bmFtaWMgUGhhc2UgU2hpZnQgZm9yIE1JRiBzdHJlYW1pbmc=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19jbnRy::QzA=::RFBTIENvdW50ZXIgU2VsZWN0aW9u" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19udW0=::MQ==::TnVtYmVyIG9mIER5bmFtaWMgUGhhc2UgU2hpZnRz" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2Rwc19kaXI=::UG9zaXRpdmU=::RHluYW1pYyBQaGFzZSBTaGlmdCBEaXJlY3Rpb24=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX3JlZmNsa19zd2l0Y2g=::ZmFsc2U=::Q3JlYXRlIGEgc2Vjb25kIGlucHV0IGNsayAncmVmY2xrMSc=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9jYXNjYWRlX291dA==::ZmFsc2U=::Q3JlYXRlIGEgJ2Nhc2NhZGVfb3V0JyBzaWduYWwgdG8gY29ubmVjdCB3aXRoIGEgZG93bnN0cmVhbSBQTEw=" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_COMPONENT_PARAMETER "Z3VpX2VuYWJsZV9jYXNjYWRlX2lu::ZmFsc2U=::Q3JlYXRlIGFuIGFkanBsbGluIG9yIGNjbGsgc2lnbmFsIHRvIGNvbm5lY3Qgd2l0aCBhbiB1cHN0cmVhbSBQTEw=" + +set_global_assignment -library "pll_audio" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_audio.v"] +set_global_assignment -library "pll_audio" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_audio/pll_audio_0002.v"] +set_global_assignment -library "pll_audio" -name QIP_FILE [file join $::quartus(qip_path) "pll_audio/pll_audio_0002.qip"] + +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_TOOL_NAME "altera_pll" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_TOOL_VERSION "17.0" +set_global_assignment -entity "pll_audio_0002" -library "pll_audio" -name IP_TOOL_ENV "mwpim" diff --git a/sys/pll_audio.v b/sys/pll_audio.v new file mode 100644 index 0000000..185a94c --- /dev/null +++ b/sys/pll_audio.v @@ -0,0 +1,252 @@ +// megafunction wizard: %Altera PLL v17.0% +// GENERATION: XML +// pll_audio.v + +// Generated using ACDS version 17.0 602 + +`timescale 1 ps / 1 ps +module pll_audio ( + input wire refclk, // refclk.clk + input wire rst, // reset.reset + output wire outclk_0 // outclk0.clk + ); + + pll_audio_0002 pll_audio_inst ( + .refclk (refclk), // refclk.clk + .rst (rst), // reset.reset + .outclk_0 (outclk_0), // outclk0.clk + .locked () // (terminated) + ); + +endmodule +// Retrieval info: +// +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// IPFS_FILES : pll_audio.vo +// RELATED_FILES: pll_audio.v, pll_audio_0002.v diff --git a/sys/pll_audio/pll_audio_0002.qip b/sys/pll_audio/pll_audio_0002.qip new file mode 100644 index 0000000..dadd4b8 --- /dev/null +++ b/sys/pll_audio/pll_audio_0002.qip @@ -0,0 +1,4 @@ +set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_CHANNEL_SPACING "0.0 KHz" -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_AUTO_RESET ON -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_BANDWIDTH_PRESET AUTO -to "*pll_audio_0002*|altera_pll:altera_pll_i*|*" diff --git a/sys/pll_audio/pll_audio_0002.v b/sys/pll_audio/pll_audio_0002.v new file mode 100644 index 0000000..7898914 --- /dev/null +++ b/sys/pll_audio/pll_audio_0002.v @@ -0,0 +1,87 @@ +`timescale 1ns/10ps +module pll_audio_0002( + + // interface 'refclk' + input wire refclk, + + // interface 'reset' + input wire rst, + + // interface 'outclk0' + output wire outclk_0, + + // interface 'locked' + output wire locked +); + + altera_pll #( + .fractional_vco_multiplier("true"), + .reference_clock_frequency("50.0 MHz"), + .operation_mode("direct"), + .number_of_clocks(1), + .output_clock_frequency0("24.576000 MHz"), + .phase_shift0("0 ps"), + .duty_cycle0(50), + .output_clock_frequency1("0 MHz"), + .phase_shift1("0 ps"), + .duty_cycle1(50), + .output_clock_frequency2("0 MHz"), + .phase_shift2("0 ps"), + .duty_cycle2(50), + .output_clock_frequency3("0 MHz"), + .phase_shift3("0 ps"), + .duty_cycle3(50), + .output_clock_frequency4("0 MHz"), + .phase_shift4("0 ps"), + .duty_cycle4(50), + .output_clock_frequency5("0 MHz"), + .phase_shift5("0 ps"), + .duty_cycle5(50), + .output_clock_frequency6("0 MHz"), + .phase_shift6("0 ps"), + .duty_cycle6(50), + .output_clock_frequency7("0 MHz"), + .phase_shift7("0 ps"), + .duty_cycle7(50), + .output_clock_frequency8("0 MHz"), + .phase_shift8("0 ps"), + .duty_cycle8(50), + .output_clock_frequency9("0 MHz"), + .phase_shift9("0 ps"), + .duty_cycle9(50), + .output_clock_frequency10("0 MHz"), + .phase_shift10("0 ps"), + .duty_cycle10(50), + .output_clock_frequency11("0 MHz"), + .phase_shift11("0 ps"), + .duty_cycle11(50), + .output_clock_frequency12("0 MHz"), + .phase_shift12("0 ps"), + .duty_cycle12(50), + .output_clock_frequency13("0 MHz"), + .phase_shift13("0 ps"), + .duty_cycle13(50), + .output_clock_frequency14("0 MHz"), + .phase_shift14("0 ps"), + .duty_cycle14(50), + .output_clock_frequency15("0 MHz"), + .phase_shift15("0 ps"), + .duty_cycle15(50), + .output_clock_frequency16("0 MHz"), + .phase_shift16("0 ps"), + .duty_cycle16(50), + .output_clock_frequency17("0 MHz"), + .phase_shift17("0 ps"), + .duty_cycle17(50), + .pll_type("General"), + .pll_subtype("General") + ) altera_pll_i ( + .rst (rst), + .outclk ({outclk_0}), + .locked (locked), + .fboutclk ( ), + .fbclk (1'b0), + .refclk (refclk) + ); +endmodule + diff --git a/sys/pll_cfg.v b/sys/pll_cfg.v index 2a2f078..0adc36f 100644 --- a/sys/pll_cfg.v +++ b/sys/pll_cfg.v @@ -1,86 +1,86 @@ -// megafunction wizard: %Altera PLL Reconfig v17.0% -// GENERATION: XML -// pll_cfg.v - -// Generated using ACDS version 17.0 598 - -`timescale 1 ps / 1 ps -module pll_cfg #( - parameter ENABLE_BYTEENABLE = 0, - parameter BYTEENABLE_WIDTH = 4, - parameter RECONFIG_ADDR_WIDTH = 6, - parameter RECONFIG_DATA_WIDTH = 32, - parameter reconf_width = 64, - parameter WAIT_FOR_LOCK = 1 - ) ( - input wire mgmt_clk, // mgmt_clk.clk - input wire mgmt_reset, // mgmt_reset.reset - output wire mgmt_waitrequest, // mgmt_avalon_slave.waitrequest - input wire mgmt_read, // .read - input wire mgmt_write, // .write - output wire [31:0] mgmt_readdata, // .readdata - input wire [5:0] mgmt_address, // .address - input wire [31:0] mgmt_writedata, // .writedata - output wire [63:0] reconfig_to_pll, // reconfig_to_pll.reconfig_to_pll - input wire [63:0] reconfig_from_pll // reconfig_from_pll.reconfig_from_pll - ); - - altera_pll_reconfig_top #( - .device_family ("Cyclone V"), - .ENABLE_MIF (0), - .MIF_FILE_NAME ("sys/pll_cfg.mif"), - .ENABLE_BYTEENABLE (ENABLE_BYTEENABLE), - .BYTEENABLE_WIDTH (BYTEENABLE_WIDTH), - .RECONFIG_ADDR_WIDTH (RECONFIG_ADDR_WIDTH), - .RECONFIG_DATA_WIDTH (RECONFIG_DATA_WIDTH), - .reconf_width (reconf_width), - .WAIT_FOR_LOCK (WAIT_FOR_LOCK) - ) pll_cfg_inst ( - .mgmt_clk (mgmt_clk), // mgmt_clk.clk - .mgmt_reset (mgmt_reset), // mgmt_reset.reset - .mgmt_waitrequest (mgmt_waitrequest), // mgmt_avalon_slave.waitrequest - .mgmt_read (mgmt_read), // .read - .mgmt_write (mgmt_write), // .write - .mgmt_readdata (mgmt_readdata), // .readdata - .mgmt_address (mgmt_address), // .address - .mgmt_writedata (mgmt_writedata), // .writedata - .reconfig_to_pll (reconfig_to_pll), // reconfig_to_pll.reconfig_to_pll - .reconfig_from_pll (reconfig_from_pll), // reconfig_from_pll.reconfig_from_pll - .mgmt_byteenable (4'b0000) // (terminated) - ); - -endmodule -// Retrieval info: -// -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// IPFS_FILES : pll_cfg.vo -// RELATED_FILES: pll_cfg.v, altera_pll_reconfig_top.v, altera_pll_reconfig_core.v, altera_std_synchronizer.v +// megafunction wizard: %Altera PLL Reconfig v17.0% +// GENERATION: XML +// pll_cfg.v + +// Generated using ACDS version 17.0 598 + +`timescale 1 ps / 1 ps +module pll_cfg #( + parameter ENABLE_BYTEENABLE = 0, + parameter BYTEENABLE_WIDTH = 4, + parameter RECONFIG_ADDR_WIDTH = 6, + parameter RECONFIG_DATA_WIDTH = 32, + parameter reconf_width = 64, + parameter WAIT_FOR_LOCK = 1 + ) ( + input wire mgmt_clk, // mgmt_clk.clk + input wire mgmt_reset, // mgmt_reset.reset + output wire mgmt_waitrequest, // mgmt_avalon_slave.waitrequest + input wire mgmt_read, // .read + input wire mgmt_write, // .write + output wire [31:0] mgmt_readdata, // .readdata + input wire [5:0] mgmt_address, // .address + input wire [31:0] mgmt_writedata, // .writedata + output wire [63:0] reconfig_to_pll, // reconfig_to_pll.reconfig_to_pll + input wire [63:0] reconfig_from_pll // reconfig_from_pll.reconfig_from_pll + ); + + altera_pll_reconfig_top #( + .device_family ("Cyclone V"), + .ENABLE_MIF (0), + .MIF_FILE_NAME ("sys/pll_cfg.mif"), + .ENABLE_BYTEENABLE (ENABLE_BYTEENABLE), + .BYTEENABLE_WIDTH (BYTEENABLE_WIDTH), + .RECONFIG_ADDR_WIDTH (RECONFIG_ADDR_WIDTH), + .RECONFIG_DATA_WIDTH (RECONFIG_DATA_WIDTH), + .reconf_width (reconf_width), + .WAIT_FOR_LOCK (WAIT_FOR_LOCK) + ) pll_cfg_inst ( + .mgmt_clk (mgmt_clk), // mgmt_clk.clk + .mgmt_reset (mgmt_reset), // mgmt_reset.reset + .mgmt_waitrequest (mgmt_waitrequest), // mgmt_avalon_slave.waitrequest + .mgmt_read (mgmt_read), // .read + .mgmt_write (mgmt_write), // .write + .mgmt_readdata (mgmt_readdata), // .readdata + .mgmt_address (mgmt_address), // .address + .mgmt_writedata (mgmt_writedata), // .writedata + .reconfig_to_pll (reconfig_to_pll), // reconfig_to_pll.reconfig_to_pll + .reconfig_from_pll (reconfig_from_pll), // reconfig_from_pll.reconfig_from_pll + .mgmt_byteenable (4'b0000) // (terminated) + ); + +endmodule +// Retrieval info: +// +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// IPFS_FILES : pll_cfg.vo +// RELATED_FILES: pll_cfg.v, altera_pll_reconfig_top.v, altera_pll_reconfig_core.v, altera_std_synchronizer.v diff --git a/sys/pll_cfg/altera_pll_reconfig_core.v b/sys/pll_cfg/altera_pll_reconfig_core.v index d06a746..4bc1fbb 100644 --- a/sys/pll_cfg/altera_pll_reconfig_core.v +++ b/sys/pll_cfg/altera_pll_reconfig_core.v @@ -11,2174 +11,2174 @@ // agreement for further details. -`timescale 1ps/1ps - -module altera_pll_reconfig_core -#( - parameter reconf_width = 64, - parameter device_family = "Stratix V", - // MIF Streaming parameters - parameter RECONFIG_ADDR_WIDTH = 6, - parameter RECONFIG_DATA_WIDTH = 32, - parameter ROM_ADDR_WIDTH = 9, - parameter ROM_DATA_WIDTH = 32, - parameter ROM_NUM_WORDS = 512 -) ( - - //input - input wire mgmt_clk, - input wire mgmt_reset, - - - //conduits - output wire [reconf_width-1:0] reconfig_to_pll, - input wire [reconf_width-1:0] reconfig_from_pll, - - // user data (avalon-MM slave interface) - output wire [31:0] mgmt_readdata, - output wire mgmt_waitrequest, - input wire [5:0] mgmt_address, - input wire mgmt_read, - input wire mgmt_write, - input wire [31:0] mgmt_writedata, - - //other - output wire mif_start_out, - output reg [ROM_ADDR_WIDTH-1:0] mif_base_addr -); - localparam mode_WR = 1'b0; - localparam mode_POLL = 1'b1; - localparam MODE_REG = 6'b000000; - localparam STATUS_REG = 6'b000001; - localparam START_REG = 6'b000010; - localparam N_REG = 6'b000011; - localparam M_REG = 6'b000100; - localparam C_COUNTERS_REG = 6'b000101; - localparam DPS_REG = 6'b000110; - localparam DSM_REG = 6'b000111; - localparam BWCTRL_REG = 6'b001000; - localparam CP_CURRENT_REG = 6'b001001; - localparam ANY_DPRIO = 6'b100000; - localparam CNT_BASE = 5'b001010; - localparam VCO_REG = 6'b011100; - localparam MIF_REG = 6'b011111; - - //C Counters - localparam number_of_counters = 5'd18; - localparam CNT_0 = 1'd0, CNT_1 = 5'd1, CNT_2 = 5'd2, - CNT_3 = 5'd3, CNT_4 = 5'd4, CNT_5 = 5'd5, - CNT_6 = 5'd6, CNT_7 = 5'd7, CNT_8 = 5'd8, - CNT_9 = 5'd9, CNT_10 = 5'd10, CNT_11 = 5'd11, - CNT_12 = 5'd12, CNT_13 = 5'd13, CNT_14 = 5'd14, - CNT_15 = 5'd15, CNT_16 = 5'd16, CNT_17 = 5'd17; - //C counter addresses - localparam C_CNT_0_DIV_ADDR = 5'h00; - localparam C_CNT_0_DIV_ADDR_DPRIO_1 = 5'h11; - localparam C_CNT_0_3_BYPASS_EN_ADDR = 5'h15; - localparam C_CNT_0_3_ODD_DIV_EN_ADDR = 5'h17; - localparam C_CNT_4_17_BYPASS_EN_ADDR = 5'h14; - localparam C_CNT_4_17_ODD_DIV_EN_ADDR = 5'h16; - //N counter addresses - localparam N_CNT_DIV_ADDR = 5'h13; - localparam N_CNT_BYPASS_EN_ADDR = 5'h15; - localparam N_CNT_ODD_DIV_EN_ADDR = 5'h17; - //M counter addresses - localparam M_CNT_DIV_ADDR = 5'h12; - localparam M_CNT_BYPASS_EN_ADDR = 5'h15; - localparam M_CNT_ODD_DIV_EN_ADDR = 5'h17; - - //DSM address - localparam DSM_K_FRACTIONAL_DIVISION_ADDR_0 = 5'h18; - localparam DSM_K_FRACTIONAL_DIVISION_ADDR_1 = 5'h19; - localparam DSM_K_READY_ADDR = 5'h17; - localparam DSM_K_DITHER_ADDR = 5'h17; - localparam DSM_OUT_SEL_ADDR = 6'h30; - - //Other DSM params - localparam DSM_K_READY_BIT_INDEX = 4'd11; - //BWCTRL address - //Bit 0-3 of addr - localparam BWCTRL_ADDR = 6'h30; - //CP_CURRENT address - //Bit 0-2 of addr - localparam CP_CURRENT_ADDR = 6'h31; - - // VCODIV address - localparam VCO_ADDR = 5'h17; - - localparam DPRIO_IDLE = 3'd0, ONE = 3'd1, TWO = 3'd2, THREE = 3'd3, FOUR = 3'd4, - FIVE = 3'd5, SIX = 3'd6, SEVEN = 3'd7, EIGHT = 4'd8, NINE = 4'd9, TEN = 4'd10, - ELEVEN = 4'd11, TWELVE = 4'd12, THIRTEEN = 4'd13, FOURTEEN = 4'd14, DPRIO_DONE = 4'd15; - localparam IDLE = 2'b00, WAIT_ON_LOCK = 2'b01, LOCKED = 2'b10; - - wire clk; - wire reset; - wire gnd; - - wire [5: 0] slave_address; - wire slave_read; - wire slave_write; - wire [31: 0] slave_writedata; - - reg [31: 0] slave_readdata_d; - reg [31: 0] slave_readdata_q; - wire slave_waitrequest; - reg slave_mode; - - assign clk = mgmt_clk; - - assign slave_address = mgmt_address; - assign slave_read = mgmt_read; - assign slave_write = mgmt_write; - assign slave_writedata = mgmt_writedata; - - reg read_waitrequest; - // Outputs - assign mgmt_readdata = slave_readdata_q; - assign mgmt_waitrequest = slave_waitrequest | read_waitrequest; //Read waitrequest asserted in polling mode - - //internal signals - wire locked_orig; - wire locked; - - wire pll_start; - wire pll_start_valid; - reg status_read; - wire read_slave_mode_asserted; - - wire pll_start_asserted; - - reg [1:0] current_state; - reg [1:0] next_state; - - reg status;//0=busy, 1=ready - //user_mode_init user_mode_init_inst (clk, reset, dprio_mdio_dis, ser_shift_load); - //declaring the init wires. These will have 0 on them for 64 clk cycles - wire [ 5:0] init_dprio_address; - wire init_dprio_read; - wire [ 1:0] init_dprio_byteen; - wire init_dprio_write; - wire [15:0] init_dprio_writedata; - - wire init_atpgmode; - wire init_mdio_dis; - wire init_scanen; - wire init_ser_shift_load; - wire dprio_init_done; - - //DPRIO output signals after initialization is done - wire dprio_clk; - reg avmm_dprio_write; - reg avmm_dprio_read; - reg [5:0] avmm_dprio_address; - reg [15:0] avmm_dprio_writedata; - reg [1:0] avmm_dprio_byteen; - wire avmm_atpgmode; - wire avmm_mdio_dis; - wire avmm_scanen; - - //Final output wires that are muxed between the init and avmm wires. - wire dprio_init_reset; - wire [5:0] dprio_address /*synthesis keep*/; - wire dprio_read/*synthesis keep*/; - wire [1:0] dprio_byteen/*synthesis keep*/; - wire dprio_write/*synthesis keep*/; - wire [15:0] dprio_writedata/*synthesis keep*/; - wire dprio_mdio_dis/*synthesis keep*/; - wire dprio_ser_shift_load/*synthesis keep*/; - wire dprio_atpgmode/*synthesis keep*/; - wire dprio_scanen/*synthesis keep*/; - - - //other PLL signals for dyn ph shift - wire phase_done/*synthesis keep*/; - wire phase_en/*synthesis keep*/; - wire up_dn/*synthesis keep*/; - wire [4:0] cnt_sel; - - //DPRIO input signals - wire [15:0] dprio_readdata; - - //internal logic signals - //storage registers for user sent data - reg dprio_temp_read_1; - reg dprio_temp_read_2; - reg dprio_start; - reg mif_start_assert; - reg dps_start_assert; - wire usr_valid_changes; - reg [3:0] dprio_cur_state; - reg [3:0] dprio_next_state; - reg [15:0] dprio_temp_m_n_c_readdata_1_d; - reg [15:0] dprio_temp_m_n_c_readdata_2_d; - reg [15:0] dprio_temp_m_n_c_readdata_1_q; - reg [15:0] dprio_temp_m_n_c_readdata_2_q; - reg dprio_write_done; - //C counters signals - reg [7:0] usr_c_cnt_lo; - reg [7:0] usr_c_cnt_hi; - reg usr_c_cnt_bypass_en; - reg usr_c_cnt_odd_duty_div_en; - reg [7:0] temp_c_cnt_lo [0:17]; - reg [7:0] temp_c_cnt_hi [0:17]; - reg temp_c_cnt_bypass_en [0:17]; - reg temp_c_cnt_odd_duty_div_en [0:17]; - reg any_c_cnt_changed; - reg all_c_cnt_done_q; - reg all_c_cnt_done_d; - reg [17:0] c_cnt_changed; - reg [17:0] c_cnt_done_d; - reg [17:0] c_cnt_done_q; - //N counter signals - reg [7:0] usr_n_cnt_lo; - reg [7:0] usr_n_cnt_hi; - reg usr_n_cnt_bypass_en; - reg usr_n_cnt_odd_duty_div_en; - reg n_cnt_changed; - reg n_cnt_done_d; - reg n_cnt_done_q; - //M counter signals - reg [7:0] usr_m_cnt_lo; - reg [7:0] usr_m_cnt_hi; - reg usr_m_cnt_bypass_en; - reg usr_m_cnt_odd_duty_div_en; - reg m_cnt_changed; - reg m_cnt_done_d; - reg m_cnt_done_q; - //dyn phase regs - reg [15:0] usr_num_shifts; - reg [4:0] usr_cnt_sel /*synthesis preserve*/; - reg usr_up_dn; - reg dps_changed; - wire dps_changed_valid; - wire dps_done; - - //DSM Signals - reg [31:0] usr_k_value; - reg dsm_k_changed; - reg dsm_k_done_d; - reg dsm_k_done_q; - reg dsm_k_ready_false_done_d; - //BW signals - reg [3:0] usr_bwctrl_value; - reg bwctrl_changed; - reg bwctrl_done_d; - reg bwctrl_done_q; - //CP signals - reg [2:0] usr_cp_current_value; - reg cp_current_changed; - reg cp_current_done_d; - reg cp_current_done_q; - //VCO signals - reg usr_vco_value; - reg vco_changed; - reg vco_done_d; - reg vco_done_q; - //Manual DPRIO signals - reg manual_dprio_done_q; - reg manual_dprio_done_d; - reg manual_dprio_changed; - reg [5:0] usr_dprio_address; - reg [15:0] usr_dprio_writedata_0; - reg usr_r_w; - //keeping track of which operation happened last - reg [5:0] operation_address; - // Address wires for all C_counter DPRIO registers - // These are outputs of LUTS, changing depending - // on whether PLL_0 or PLL_1 being used - - - //Fitter will tell if FPLL1 is being used - wire fpll_1; - - // other - reg mif_reg_asserted; - // MAIN FSM - - // Synchronize locked signal - altera_std_synchronizer #( - .depth(3) - ) altera_std_synchronizer_inst ( - .clk(mgmt_clk), - .reset_n(~mgmt_reset), - .din(locked_orig), - .dout(locked) - ); - - always @(posedge clk) - begin - if (reset) - begin - dprio_cur_state <= DPRIO_IDLE; - current_state <= IDLE; - end - else - begin - current_state <= next_state; - dprio_cur_state <= dprio_next_state; - end - end - - always @(*) - begin - case(current_state) - IDLE: - begin - if (pll_start & !slave_waitrequest & usr_valid_changes) - next_state = WAIT_ON_LOCK; - else - next_state = IDLE; - end - WAIT_ON_LOCK: - begin - if (locked & dps_done & dprio_write_done) // received locked high from PLL - begin - if (slave_mode==mode_WR) //if the mode is waitrequest, then - // goto IDLE state directly - next_state = IDLE; - else - next_state = LOCKED; //otherwise go the locked state - end - else - next_state = WAIT_ON_LOCK; - end - - LOCKED: - begin - if (status_read) // stay in LOCKED until user reads status - next_state = IDLE; - else - next_state = LOCKED; - end - - default: next_state = 2'bxx; - - endcase - end - - - // ask the pll to start reconfig - assign pll_start = (pll_start_asserted & (current_state==IDLE)) ; - assign pll_start_valid = (pll_start & (next_state==WAIT_ON_LOCK)) ; - - - - // WRITE OPERATIONS - assign pll_start_asserted = slave_write & (slave_address == START_REG); - assign mif_start_out = pll_start & mif_reg_asserted; - - //reading the mode register to determine what mode the slave will operate - //in. - always @(posedge clk) - begin - if (reset) - slave_mode <= mode_WR; - else if (slave_write & (slave_address == MODE_REG) & !slave_waitrequest) - slave_mode <= slave_writedata[0]; - end - - //record which values user wants to change. - - //reading in the actual values that need to be reconfigged and sending - //them to the PLL - always @(posedge clk) - begin - if (reset) - begin - //reset all regs here - //BW signals reset - usr_bwctrl_value <= 0; - bwctrl_changed <= 0; - bwctrl_done_q <= 0; - //CP signals reset - usr_cp_current_value <= 0; - cp_current_changed <= 0; - cp_current_done_q <= 0; - //VCO signals reset - usr_vco_value <= 0; - vco_changed <= 0; - vco_done_q <= 0; - //DSM signals reset - usr_k_value <= 0; - dsm_k_changed <= 0; - dsm_k_done_q <= 0; - //N counter signals reset - usr_n_cnt_lo <= 0; - usr_n_cnt_hi <= 0; - usr_n_cnt_bypass_en <= 0; - usr_n_cnt_odd_duty_div_en <= 0; - n_cnt_changed <= 0; - n_cnt_done_q <= 0; - //M counter signals reset - usr_m_cnt_lo <= 0; - usr_m_cnt_hi <= 0; - usr_m_cnt_bypass_en <= 0; - usr_m_cnt_odd_duty_div_en <= 0; - m_cnt_changed <= 0; - m_cnt_done_q <= 0; - //C counter signals reset - usr_c_cnt_lo <= 0; - usr_c_cnt_hi <= 0; - usr_c_cnt_bypass_en <= 0; - usr_c_cnt_odd_duty_div_en <= 0; - any_c_cnt_changed <= 0; - all_c_cnt_done_q <= 0; - c_cnt_done_q <= 0; - //generic signals - dprio_start <= 0; - mif_start_assert <= 0; - dps_start_assert <= 0; - dprio_temp_m_n_c_readdata_1_q <= 0; - dprio_temp_m_n_c_readdata_2_q <= 0; - c_cnt_done_q <= 0; - //DPS signals - usr_up_dn <= 0; - usr_cnt_sel <= 0; - usr_num_shifts <= 0; - dps_changed <= 0; - //manual DPRIO signals - manual_dprio_changed <= 0; - usr_dprio_address <= 0; - usr_dprio_writedata_0 <= 0; - usr_r_w <= 0; - operation_address <= 0; - mif_reg_asserted <= 0; - mif_base_addr <= 0; - end - else - begin - if (dprio_temp_read_1) - begin - dprio_temp_m_n_c_readdata_1_q <= dprio_temp_m_n_c_readdata_1_d; - end - if (dprio_temp_read_2) - begin - dprio_temp_m_n_c_readdata_2_q <= dprio_temp_m_n_c_readdata_2_d; - end - if ((dps_done)) dps_changed <= 0; - if (dsm_k_done_d) dsm_k_done_q <= dsm_k_done_d; - if (n_cnt_done_d) n_cnt_done_q <= n_cnt_done_d; - if (m_cnt_done_d) m_cnt_done_q <= m_cnt_done_d; - if (all_c_cnt_done_d) all_c_cnt_done_q <= all_c_cnt_done_d; - if (c_cnt_done_d != 0) c_cnt_done_q <= c_cnt_done_q | c_cnt_done_d; - if (bwctrl_done_d) bwctrl_done_q <= bwctrl_done_d; - if (cp_current_done_d) cp_current_done_q <= cp_current_done_d; - if (vco_done_d) vco_done_q <= vco_done_d; - if (manual_dprio_done_d) manual_dprio_done_q <= manual_dprio_done_d; - - if (mif_start_out == 1'b1) - mif_start_assert <= 0; // Signaled MIF block to start, so deassert on next cycle - - if (dps_done != 1'b1) - dps_start_assert <= 0; // DPS has started, so dessert its start signal on next cycle - - if (dprio_next_state == ONE) - dprio_start <= 0; - if (dprio_write_done) - begin - bwctrl_done_q <= 0; - cp_current_done_q <= 0; - vco_done_q <= 0; - dsm_k_done_q <= 0; - dsm_k_done_q <= 0; - n_cnt_done_q <= 0; - m_cnt_done_q <= 0; - all_c_cnt_done_q <= 0; - c_cnt_done_q <= 0; - dsm_k_changed <= 0; - n_cnt_changed <= 0; - m_cnt_changed <= 0; - any_c_cnt_changed <= 0; - bwctrl_changed <= 0; - cp_current_changed <= 0; - vco_changed <= 0; - manual_dprio_changed <= 0; - manual_dprio_done_q <= 0; - if (dps_changed | dps_changed_valid | !dps_done ) - begin - usr_cnt_sel <= usr_cnt_sel; - end - else - begin - usr_cnt_sel <= 0; - end - mif_reg_asserted <= 0; - end - else - begin - dsm_k_changed <= dsm_k_changed; - n_cnt_changed <= n_cnt_changed; - m_cnt_changed <= m_cnt_changed; - any_c_cnt_changed <= any_c_cnt_changed; - manual_dprio_changed <= manual_dprio_changed; - mif_reg_asserted <= mif_reg_asserted; - usr_cnt_sel <= usr_cnt_sel; - end - - - if(slave_write & !slave_waitrequest) - begin - case(slave_address) - //read in the values here from the user and act on them - DSM_REG: - begin - operation_address <= DSM_REG; - usr_k_value <= slave_writedata[31:0]; - dsm_k_changed <= 1'b1; - dsm_k_done_q <= 0; - dprio_start <= 1'b1; - end - N_REG: - begin - operation_address <= N_REG; - usr_n_cnt_lo <= slave_writedata[7:0]; - usr_n_cnt_hi <= slave_writedata[15:8]; - usr_n_cnt_bypass_en <= slave_writedata[16]; - usr_n_cnt_odd_duty_div_en <= slave_writedata[17]; - n_cnt_changed <= 1'b1; - n_cnt_done_q <= 0; - dprio_start <= 1'b1; - end - M_REG: - begin - operation_address <= M_REG; - usr_m_cnt_lo <= slave_writedata[7:0]; - usr_m_cnt_hi <= slave_writedata[15:8]; - usr_m_cnt_bypass_en <= slave_writedata[16]; - usr_m_cnt_odd_duty_div_en <= slave_writedata[17]; - m_cnt_changed <= 1'b1; - m_cnt_done_q <= 0; - dprio_start <= 1'b1; - end - DPS_REG: - begin - operation_address <= DPS_REG; - usr_num_shifts <= slave_writedata[15:0]; - usr_cnt_sel <= slave_writedata[20:16]; - usr_up_dn <= slave_writedata[21]; - dps_changed <= 1; - dps_start_assert <= 1; - end - C_COUNTERS_REG: - begin - operation_address <= C_COUNTERS_REG; - usr_c_cnt_lo <= slave_writedata[7:0]; - usr_c_cnt_hi <= slave_writedata[15:8]; - usr_c_cnt_bypass_en <= slave_writedata[16]; - usr_c_cnt_odd_duty_div_en <= slave_writedata[17]; - usr_cnt_sel <= slave_writedata[22:18]; - any_c_cnt_changed <= 1'b1; - all_c_cnt_done_q <= 0; - dprio_start <= 1'b1; - end - BWCTRL_REG: - begin - usr_bwctrl_value <= slave_writedata[3:0]; - bwctrl_changed <= 1'b1; - bwctrl_done_q <= 0; - dprio_start <= 1'b1; - operation_address <= BWCTRL_REG; - end - CP_CURRENT_REG: - begin - usr_cp_current_value <= slave_writedata[2:0]; - cp_current_changed <= 1'b1; - cp_current_done_q <= 0; - dprio_start <= 1'b1; - operation_address <= CP_CURRENT_REG; - end - VCO_REG: - begin - usr_vco_value <= slave_writedata[0]; - vco_changed <= 1'b1; - vco_done_q <= 0; - dprio_start <= 1'b1; - operation_address <= VCO_REG; - end - ANY_DPRIO: - begin - operation_address <= ANY_DPRIO; - manual_dprio_changed <= 1'b1; - usr_dprio_address <= slave_writedata[5:0]; - usr_dprio_writedata_0 <= slave_writedata[21:6]; - usr_r_w <= slave_writedata[22]; - manual_dprio_done_q <= 0; - dprio_start <= 1'b1; - end - MIF_REG: - begin - mif_reg_asserted <= 1'b1; - mif_base_addr <= slave_writedata[ROM_ADDR_WIDTH-1:0]; - mif_start_assert <= 1'b1; - end - endcase - end - end - end - //C Counter assigning values to the 2-d array of values for each C counter - - reg [4:0] j; - always @(posedge clk) - begin - - if (reset) - begin - c_cnt_changed[17:0] <= 0; - for (j = 0; j < number_of_counters; j = j + 1'b1) - begin : c_cnt_reset - temp_c_cnt_bypass_en[j] <= 0; - temp_c_cnt_odd_duty_div_en[j] <= 0; - temp_c_cnt_lo[j][7:0] <= 0; - temp_c_cnt_hi[j][7:0] <= 0; - end - end - else - begin - if (dprio_write_done) - begin - c_cnt_changed <= 0; - end - if (any_c_cnt_changed && (operation_address == C_COUNTERS_REG)) - begin - case (cnt_sel) - CNT_0: - begin - temp_c_cnt_lo [0] <= usr_c_cnt_lo; - temp_c_cnt_hi [0] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [0] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [0] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [0] <= 1'b1; - end - CNT_1: - begin - temp_c_cnt_lo [1] <= usr_c_cnt_lo; - temp_c_cnt_hi [1] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [1] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [1] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [1] <= 1'b1; - end - CNT_2: - begin - temp_c_cnt_lo [2] <= usr_c_cnt_lo; - temp_c_cnt_hi [2] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [2] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [2] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [2] <= 1'b1; - end - CNT_3: - begin - temp_c_cnt_lo [3] <= usr_c_cnt_lo; - temp_c_cnt_hi [3] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [3] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [3] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [3] <= 1'b1; - end - CNT_4: - begin - temp_c_cnt_lo [4] <= usr_c_cnt_lo; - temp_c_cnt_hi [4] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [4] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [4] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [4] <= 1'b1; - end - CNT_5: - begin - temp_c_cnt_lo [5] <= usr_c_cnt_lo; - temp_c_cnt_hi [5] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [5] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [5] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [5] <= 1'b1; - end - CNT_6: - begin - temp_c_cnt_lo [6] <= usr_c_cnt_lo; - temp_c_cnt_hi [6] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [6] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [6] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [6] <= 1'b1; - end - CNT_7: - begin - temp_c_cnt_lo [7] <= usr_c_cnt_lo; - temp_c_cnt_hi [7] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [7] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [7] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [7] <= 1'b1; - end - CNT_8: - begin - temp_c_cnt_lo [8] <= usr_c_cnt_lo; - temp_c_cnt_hi [8] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [8] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [8] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [8] <= 1'b1; - end - CNT_9: - begin - temp_c_cnt_lo [9] <= usr_c_cnt_lo; - temp_c_cnt_hi [9] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [9] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [9] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [9] <= 1'b1; - end - CNT_10: - begin - temp_c_cnt_lo [10] <= usr_c_cnt_lo; - temp_c_cnt_hi [10] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [10] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [10] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [10] <= 1'b1; - end - CNT_11: - begin - temp_c_cnt_lo [11] <= usr_c_cnt_lo; - temp_c_cnt_hi [11] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [11] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [11] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [11] <= 1'b1; - end - CNT_12: - begin - temp_c_cnt_lo [12] <= usr_c_cnt_lo; - temp_c_cnt_hi [12] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [12] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [12] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [12] <= 1'b1; - end - CNT_13: - begin - temp_c_cnt_lo [13] <= usr_c_cnt_lo; - temp_c_cnt_hi [13] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [13] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [13] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [13] <= 1'b1; - end - CNT_14: - begin - temp_c_cnt_lo [14] <= usr_c_cnt_lo; - temp_c_cnt_hi [14] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [14] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [14] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [14] <= 1'b1; - end - CNT_15: - begin - temp_c_cnt_lo [15] <= usr_c_cnt_lo; - temp_c_cnt_hi [15] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [15] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [15] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [15] <= 1'b1; - end - CNT_16: - begin - temp_c_cnt_lo [16] <= usr_c_cnt_lo; - temp_c_cnt_hi [16] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [16] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [16] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [16] <= 1'b1; - end - CNT_17: - begin - temp_c_cnt_lo [17] <= usr_c_cnt_lo; - temp_c_cnt_hi [17] <= usr_c_cnt_hi; - temp_c_cnt_bypass_en [17] <= usr_c_cnt_bypass_en; - temp_c_cnt_odd_duty_div_en [17] <= usr_c_cnt_odd_duty_div_en; - c_cnt_changed [17] <= 1'b1; - end - endcase - - end - end - end - - - //logic to handle which writes the user indicated and wants to start. - assign usr_valid_changes =dsm_k_changed| any_c_cnt_changed |n_cnt_changed | m_cnt_changed | dps_changed_valid |manual_dprio_changed |cp_current_changed|bwctrl_changed|vco_changed; - - - //start the reconfig operations by writing to the DPRIO - reg break_loop; - reg [4:0] i; - always @(*) - begin - dprio_temp_read_1 = 0; - dprio_temp_read_2 = 0; - dprio_temp_m_n_c_readdata_1_d = 0; - dprio_temp_m_n_c_readdata_2_d = 0; - break_loop = 0; - dprio_next_state = DPRIO_IDLE; - avmm_dprio_write = 0; - avmm_dprio_read = 0; - avmm_dprio_address = 0; - avmm_dprio_writedata = 0; - avmm_dprio_byteen = 0; - dprio_write_done = 1; - manual_dprio_done_d = 0; - n_cnt_done_d = 0; - dsm_k_done_d = 0; - dsm_k_ready_false_done_d = 0; - m_cnt_done_d = 0; - c_cnt_done_d[17:0] = 0; - all_c_cnt_done_d = 0; - bwctrl_done_d = 0; - cp_current_done_d = 0; - vco_done_d = 0; - i = 0; - - // Deassert dprio_write_done so it doesn't reset mif_reg_asserted (toggled writes) - if (dprio_start | mif_start_assert) - dprio_write_done = 0; - - if (current_state == WAIT_ON_LOCK) - begin - case (dprio_cur_state) - ONE: - begin - if (n_cnt_changed & !n_cnt_done_q) - begin - dprio_write_done = 0; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - dprio_next_state = TWO; - avmm_dprio_address = N_CNT_DIV_ADDR; - avmm_dprio_writedata[7:0] = usr_n_cnt_lo; - avmm_dprio_writedata[15:8] = usr_n_cnt_hi; - end - else if (m_cnt_changed & !m_cnt_done_q) - begin - dprio_write_done = 0; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - dprio_next_state = TWO; - avmm_dprio_address = M_CNT_DIV_ADDR; - avmm_dprio_writedata[7:0] = usr_m_cnt_lo; - avmm_dprio_writedata[15:8] = usr_m_cnt_hi; - end - else if (any_c_cnt_changed & !all_c_cnt_done_q) - begin - - for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) - begin : c_cnt_write_hilo - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - dprio_write_done = 0; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - dprio_next_state = TWO; - if (fpll_1) avmm_dprio_address = C_CNT_0_DIV_ADDR + C_CNT_0_DIV_ADDR_DPRIO_1 - i; - else avmm_dprio_address = C_CNT_0_DIV_ADDR + i; - avmm_dprio_writedata[7:0] = temp_c_cnt_lo[i]; - avmm_dprio_writedata[15:8] = temp_c_cnt_hi[i]; - //To break from the loop, since only one counter - //is addressed at a time - break_loop = 1'b1; - end - end - end - else if (dsm_k_changed & !dsm_k_done_q) - begin - dprio_write_done = 0; - avmm_dprio_write = 0; - dprio_next_state = TWO; - end - else if (bwctrl_changed & !bwctrl_done_q) - begin - dprio_write_done = 0; - avmm_dprio_write = 0; - dprio_next_state = TWO; - end - else if (cp_current_changed & !cp_current_done_q) - begin - dprio_write_done = 0; - avmm_dprio_write = 0; - dprio_next_state = TWO; - end - else if (vco_changed & !vco_done_q) - begin - dprio_write_done = 0; - avmm_dprio_write = 0; - dprio_next_state = TWO; - end - else if (manual_dprio_changed & !manual_dprio_done_q) - begin - dprio_write_done = 0; - avmm_dprio_byteen = 2'b11; - dprio_next_state = TWO; - avmm_dprio_write = usr_r_w; - avmm_dprio_address = usr_dprio_address; - avmm_dprio_writedata[15:0] = usr_dprio_writedata_0; - end - else dprio_next_state = DPRIO_IDLE; - end - - TWO: - begin - //handle reading the two setting bits on n_cnt, then - //writing them back while preserving other bits. - //Issue two consecutive reads then wait; readLatency=3 - dprio_write_done = 0; - dprio_next_state = THREE; - avmm_dprio_byteen = 2'b11; - avmm_dprio_read = 1'b1; - if (n_cnt_changed & !n_cnt_done_q) - begin - avmm_dprio_address = N_CNT_BYPASS_EN_ADDR; - end - else if (m_cnt_changed & !m_cnt_done_q) - begin - avmm_dprio_address = M_CNT_BYPASS_EN_ADDR; - end - - else if (any_c_cnt_changed & !all_c_cnt_done_q) - begin - for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) - begin : c_cnt_read_bypass - if (fpll_1) - begin - if (i > 13) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; - break_loop = 1'b1; - end - end - end - else - begin - if (i < 4) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; - break_loop = 1'b1; - end - end - end - end - end - //reading the K ready 16 bit word. Need to write 0 to it - //afterwards to indicate that K has not been done writing - else if (dsm_k_changed & !dsm_k_done_q) - begin - avmm_dprio_address = DSM_K_READY_ADDR; - dprio_next_state = FOUR; - end - else if (bwctrl_changed & !bwctrl_done_q) - begin - avmm_dprio_address = BWCTRL_ADDR; - dprio_next_state = FOUR; - end - else if (cp_current_changed & !cp_current_done_q) - begin - avmm_dprio_address = CP_CURRENT_ADDR; - dprio_next_state = FOUR; - end - else if (vco_changed & !vco_done_q) - begin - avmm_dprio_address = VCO_ADDR; - dprio_next_state = FOUR; - end - else if (manual_dprio_changed & !manual_dprio_done_q) - begin - avmm_dprio_read = ~usr_r_w; - avmm_dprio_address = usr_dprio_address; - dprio_next_state = DPRIO_DONE; - end - else dprio_next_state = DPRIO_IDLE; - end - THREE: - begin - dprio_write_done = 0; - avmm_dprio_byteen = 2'b11; - avmm_dprio_read = 1'b1; - dprio_next_state = FOUR; - if (n_cnt_changed & !n_cnt_done_q) - begin - avmm_dprio_address = N_CNT_ODD_DIV_EN_ADDR; - end - else if (m_cnt_changed & !m_cnt_done_q) - begin - avmm_dprio_address = M_CNT_ODD_DIV_EN_ADDR; - end - else if (any_c_cnt_changed & !all_c_cnt_done_q) - begin - for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) - begin : c_cnt_read_odd_div - if (fpll_1) - begin - if (i > 13) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; - break_loop = 1'b1; - end - end - end - else - begin - if (i < 4) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; - break_loop = 1'b1; - end - end - end - end - end - else dprio_next_state = DPRIO_IDLE; - end - FOUR: - begin - dprio_temp_read_1 = 1'b1; - dprio_write_done = 0; - if (vco_changed|cp_current_changed|bwctrl_changed|dsm_k_changed|n_cnt_changed|m_cnt_changed|any_c_cnt_changed) - begin - dprio_temp_m_n_c_readdata_1_d = dprio_readdata; - dprio_next_state = FIVE; - end - else dprio_next_state = DPRIO_IDLE; - end - FIVE: - begin - dprio_write_done = 0; - dprio_temp_read_2 = 1'b1; - if (vco_changed|cp_current_changed|bwctrl_changed|dsm_k_changed|n_cnt_changed|m_cnt_changed|any_c_cnt_changed) - begin - //this is where DSM ready value comes. - //Need to store in a register to be used later - dprio_temp_m_n_c_readdata_2_d = dprio_readdata; - dprio_next_state = SIX; - end - else dprio_next_state = DPRIO_IDLE; - end - SIX: - begin - dprio_write_done = 0; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - dprio_next_state = SEVEN; - avmm_dprio_writedata = dprio_temp_m_n_c_readdata_1_q; - if (n_cnt_changed & !n_cnt_done_q) - begin - avmm_dprio_address = N_CNT_BYPASS_EN_ADDR; - avmm_dprio_writedata[5] = usr_n_cnt_bypass_en; - end - else if (m_cnt_changed & !m_cnt_done_q) - begin - avmm_dprio_address = M_CNT_BYPASS_EN_ADDR; - avmm_dprio_writedata[4] = usr_m_cnt_bypass_en; - end - else if (any_c_cnt_changed & !all_c_cnt_done_q) - begin - for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) - begin : c_cnt_write_bypass - if (fpll_1) - begin - if (i > 13) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; - avmm_dprio_writedata[i-14] = temp_c_cnt_bypass_en[i]; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; - avmm_dprio_writedata[i] = temp_c_cnt_bypass_en[i]; - break_loop = 1'b1; - end - end - end - else - begin - if (i < 4) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; - avmm_dprio_writedata[3-i] = temp_c_cnt_bypass_en[i]; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; - avmm_dprio_writedata[17-i] = temp_c_cnt_bypass_en[i]; - break_loop = 1'b1; - end - end - end - end - end - else if (dsm_k_changed & !dsm_k_done_q) - begin - avmm_dprio_write = 0; - end - else if (bwctrl_changed & !bwctrl_done_q) - begin - avmm_dprio_write = 0; - end - else if (cp_current_changed & !cp_current_done_q) - begin - avmm_dprio_write = 0; - end - else if (vco_changed & !vco_done_q) - begin - avmm_dprio_write = 0; - end - else dprio_next_state = DPRIO_IDLE; - end - SEVEN: - begin - dprio_write_done = 0; - dprio_next_state = EIGHT; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - avmm_dprio_writedata = dprio_temp_m_n_c_readdata_2_q; - if (n_cnt_changed & !n_cnt_done_q) - begin - avmm_dprio_address = N_CNT_ODD_DIV_EN_ADDR; - avmm_dprio_writedata[5] = usr_n_cnt_odd_duty_div_en; - n_cnt_done_d = 1'b1; - end - else if (m_cnt_changed & !m_cnt_done_q) - begin - avmm_dprio_address = M_CNT_ODD_DIV_EN_ADDR; - avmm_dprio_writedata[4] = usr_m_cnt_odd_duty_div_en; - m_cnt_done_d = 1'b1; - end - - else if (any_c_cnt_changed & !all_c_cnt_done_q) - begin - for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) - begin : c_cnt_write_odd_div - if (fpll_1) - begin - if (i > 13) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; - avmm_dprio_writedata[i-14] = temp_c_cnt_odd_duty_div_en[i]; - c_cnt_done_d[i] = 1'b1; - //have to OR the signals to prevent - //overwriting of previous dones - c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; - avmm_dprio_writedata[i] = temp_c_cnt_odd_duty_div_en[i]; - c_cnt_done_d[i] = 1'b1; - c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; - break_loop = 1'b1; - end - end - end - else - begin - if (i < 4) - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; - avmm_dprio_writedata[3-i] = temp_c_cnt_odd_duty_div_en[i]; - c_cnt_done_d[i] = 1'b1; - //have to OR the signals to prevent - //overwriting of previous dones - c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; - break_loop = 1'b1; - end - end - else - begin - if (c_cnt_changed[i] & !c_cnt_done_q[i]) - begin - avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; - avmm_dprio_writedata[17-i] = temp_c_cnt_odd_duty_div_en[i]; - c_cnt_done_d[i] = 1'b1; - c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; - break_loop = 1'b1; - end - end - end - end - end - else if (dsm_k_changed & !dsm_k_done_q) - begin - avmm_dprio_address = DSM_K_READY_ADDR; - avmm_dprio_writedata[DSM_K_READY_BIT_INDEX] = 1'b0; - dsm_k_ready_false_done_d = 1'b1; - end - else if (bwctrl_changed & !bwctrl_done_q) - begin - avmm_dprio_address = BWCTRL_ADDR; - avmm_dprio_writedata[3:0] = usr_bwctrl_value; - bwctrl_done_d = 1'b1; - end - else if (cp_current_changed & !cp_current_done_q) - begin - avmm_dprio_address = CP_CURRENT_ADDR; - avmm_dprio_writedata[2:0] = usr_cp_current_value; - cp_current_done_d = 1'b1; - end - else if (vco_changed & !vco_done_q) - begin - avmm_dprio_address = VCO_ADDR; - avmm_dprio_writedata[8] = usr_vco_value; - vco_done_d = 1'b1; - end - - - //if all C_cnt that were changed are done, then assert all_c_cnt_done - if (c_cnt_done_d == c_cnt_changed) - all_c_cnt_done_d = 1'b1; - if (n_cnt_changed & n_cnt_done_d) - dprio_next_state = DPRIO_DONE; - if (any_c_cnt_changed & !all_c_cnt_done_d & !all_c_cnt_done_q) - dprio_next_state = ONE; - else if (m_cnt_changed & !m_cnt_done_d & !m_cnt_done_q) - dprio_next_state = ONE; - else if (dsm_k_changed & !dsm_k_ready_false_done_d) - dprio_next_state = TWO; - else if (dsm_k_changed & !dsm_k_done_q) - dprio_next_state = EIGHT; - else if (bwctrl_changed & !bwctrl_done_d) - dprio_next_state = TWO; - else if (cp_current_changed & !cp_current_done_d) - dprio_next_state = TWO; - else if (vco_changed & !vco_done_d) - dprio_next_state = TWO; - else - begin - dprio_next_state = DPRIO_DONE; - dprio_write_done = 1'b1; - end - end - //finish the rest of the DSM reads/writes - //writing k value, writing k_ready to 1. - EIGHT: - begin - dprio_write_done = 0; - dprio_next_state = NINE; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - if (dsm_k_changed & !dsm_k_done_q) - begin - avmm_dprio_address = DSM_K_FRACTIONAL_DIVISION_ADDR_0; - avmm_dprio_writedata[15:0] = usr_k_value[15:0]; - end - end - NINE: - begin - dprio_write_done = 0; - dprio_next_state = TEN; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - if (dsm_k_changed & !dsm_k_done_q) - begin - avmm_dprio_address = DSM_K_FRACTIONAL_DIVISION_ADDR_1; - avmm_dprio_writedata[15:0] = usr_k_value[31:16]; - end - end - TEN: - begin - dprio_write_done = 0; - dprio_next_state = ONE; - avmm_dprio_write = 1'b1; - avmm_dprio_byteen = 2'b11; - if (dsm_k_changed & !dsm_k_done_q) - begin - avmm_dprio_address = DSM_K_READY_ADDR; - //already have the readdata for DSM_K_READY_ADDR since we read it - //earlier. Just reuse here - avmm_dprio_writedata = dprio_temp_m_n_c_readdata_2_q; - avmm_dprio_writedata[DSM_K_READY_BIT_INDEX] = 1'b1; - dsm_k_done_d = 1'b1; - end - end - DPRIO_DONE: - begin - dprio_write_done = 1'b1; - if (dprio_start) dprio_next_state = DPRIO_IDLE; - else dprio_next_state = DPRIO_DONE; - end - DPRIO_IDLE: - begin - if (dprio_start) dprio_next_state = ONE; - else dprio_next_state = DPRIO_IDLE; - end - default: dprio_next_state = 4'bxxxx; - endcase - end - - end - - - //assert the waitreq signal according to the state of the slave - assign slave_waitrequest = (slave_mode==mode_WR) ? ((locked === 1'b1) ? (((current_state==WAIT_ON_LOCK) & !dprio_write_done) | !dps_done |reset|!dprio_init_done) : 1'b1) : 1'b0; - - // Read operations - always @(*) - begin - status = 0; - if (slave_mode == mode_POLL) - //asserting status to 1 if the slave is done. - status = (current_state == LOCKED); - end - //************************************************************// - //************************************************************// - //******************** READ STATE MACHINE ********************// - //************************************************************// - //************************************************************// - reg [1:0] current_read_state; - reg [1:0] next_read_state; - reg [5:0] slave_address_int_d; - reg [5:0] slave_address_int_q; - reg dprio_read_1; - reg [5:0] dprio_address_1; - reg [1:0] dprio_byteen_1; - reg [4:0] usr_cnt_sel_1; - localparam READ = 2'b00, READ_WAIT = 2'b01, READ_IDLE = 2'b10, READ_POST_WAIT = 2'b11; - - always @(*) - begin - if(next_read_state == READ_IDLE) - begin - read_waitrequest <= 1'b0; - end - else - begin - read_waitrequest <= 1'b1; - end - end - - always @(posedge clk) - begin - if (reset) - begin - current_read_state <= READ_IDLE; - slave_address_int_q <= 0; - slave_readdata_q <= 0; - end - else - begin - current_read_state <= next_read_state; - slave_address_int_q <= slave_address_int_d; - slave_readdata_q <= slave_readdata_d; - end - end - always @(*) - begin - dprio_read_1 = 0; - dprio_address_1 = 0; - dprio_byteen_1 = 0; - slave_address_int_d = 0; - slave_readdata_d = 0; - status_read = 0; - usr_cnt_sel_1 = 0; - case(current_read_state) - READ_IDLE: - begin - slave_address_int_d = 0; - next_read_state = READ_IDLE; - if ((current_state != WAIT_ON_LOCK) && slave_read) - begin - slave_address_int_d = slave_address; - if ((slave_address >= CNT_BASE) && (slave_address < CNT_BASE+18)) - begin - next_read_state = READ_WAIT; - dprio_byteen_1 = 2'b11; - dprio_read_1 = 1'b1; - usr_cnt_sel_1 = (slave_address[4:0] - CNT_BASE); - if (fpll_1) dprio_address_1 = C_CNT_0_DIV_ADDR + C_CNT_0_DIV_ADDR_DPRIO_1 - cnt_sel; - else dprio_address_1 = C_CNT_0_DIV_ADDR + cnt_sel; - end - else - begin - case (slave_address) - MODE_REG: - begin - next_read_state = READ_WAIT; - slave_readdata_d = slave_mode; - end - STATUS_REG: - begin - next_read_state = READ_WAIT; - status_read = 1'b1; - slave_readdata_d = status; - end - N_REG: - begin - dprio_byteen_1 = 2'b11; - dprio_read_1 = 1'b1; - dprio_address_1 = N_CNT_DIV_ADDR; - next_read_state = READ_WAIT; - end - M_REG: - begin - dprio_byteen_1 = 2'b11; - dprio_read_1 = 1'b1; - dprio_address_1 = M_CNT_DIV_ADDR; - next_read_state = READ_WAIT; - end - BWCTRL_REG: - begin - dprio_byteen_1 = 2'b11; - dprio_read_1 = 1'b1; - dprio_address_1 = BWCTRL_ADDR; - next_read_state = READ_WAIT; - end - CP_CURRENT_REG: - begin - dprio_byteen_1 = 2'b11; - dprio_read_1 = 1'b1; - dprio_address_1 = CP_CURRENT_ADDR; - next_read_state = READ_WAIT; - end - VCO_REG: - begin - dprio_byteen_1 = 2'b11; - dprio_read_1 = 1'b1; - dprio_address_1 = VCO_ADDR; - next_read_state = READ_WAIT; - end - ANY_DPRIO: - begin - dprio_byteen_1 = 2'b11; - dprio_read_1 = ~slave_writedata[22]; - dprio_address_1 = slave_writedata[5:0]; - next_read_state = READ_WAIT; - end - default : next_read_state = READ_IDLE; - endcase - end - end - else - next_read_state = READ_IDLE; - end - READ_WAIT: - begin - next_read_state = READ; - slave_address_int_d = slave_address_int_q; - case (slave_address_int_q) - MODE_REG: - begin - slave_readdata_d = slave_readdata_q; - end - STATUS_REG: - begin - slave_readdata_d = slave_readdata_q; - end - endcase - end - READ: - begin - next_read_state = READ_POST_WAIT; - slave_address_int_d = slave_address_int_q; - slave_readdata_d = dprio_readdata; - case (slave_address_int_q) - MODE_REG: - begin - slave_readdata_d = slave_readdata_q; - end - STATUS_REG: - begin - slave_readdata_d = slave_readdata_q; - end - BWCTRL_REG: - begin - slave_readdata_d = dprio_readdata[3:0]; - end - CP_CURRENT_REG: - begin - slave_readdata_d = dprio_readdata[2:0]; - end - VCO_REG: - begin - slave_readdata_d = dprio_readdata[8]; - end - ANY_DPRIO: - begin - slave_readdata_d = dprio_readdata; - end - endcase - end - READ_POST_WAIT: - begin - next_read_state = READ_IDLE; - end - default: next_read_state = 2'bxx; - endcase - end - - - dyn_phase_shift dyn_phase_shift_inst ( - .clk(clk), - .reset(reset), - .phase_done(phase_done), - .pll_start_valid(pll_start_valid), - .dps_changed(dps_changed), - .dps_changed_valid(dps_changed_valid), - .dprio_write_done(dprio_write_done), - .usr_num_shifts(usr_num_shifts), - .usr_cnt_sel(usr_cnt_sel|usr_cnt_sel_1), - .usr_up_dn(usr_up_dn), - .locked(locked), - .dps_done(dps_done), - .phase_en(phase_en), - .up_dn(up_dn), - .cnt_sel(cnt_sel)); - defparam dyn_phase_shift_inst.device_family = device_family; - - assign dprio_clk = clk; - self_reset self_reset_inst (mgmt_reset, clk, reset, dprio_init_reset); - - dprio_mux dprio_mux_inst ( - .init_dprio_address(init_dprio_address), - .init_dprio_read(init_dprio_read), - .init_dprio_byteen(init_dprio_byteen), - .init_dprio_write(init_dprio_write), - .init_dprio_writedata(init_dprio_writedata), - - - .init_atpgmode(init_atpgmode), - .init_mdio_dis(init_mdio_dis), - .init_scanen(init_scanen), - .init_ser_shift_load(init_ser_shift_load), - .dprio_init_done(dprio_init_done), - - // Inputs from avmm master - .avmm_dprio_address(avmm_dprio_address | dprio_address_1), - .avmm_dprio_read(avmm_dprio_read | dprio_read_1), - .avmm_dprio_byteen(avmm_dprio_byteen | dprio_byteen_1), - .avmm_dprio_write(avmm_dprio_write), - .avmm_dprio_writedata(avmm_dprio_writedata), - - .avmm_atpgmode(avmm_atpgmode), - .avmm_mdio_dis(avmm_mdio_dis), - .avmm_scanen(avmm_scanen), - - // Outputs to fpll - .dprio_address(dprio_address), - .dprio_read(dprio_read), - .dprio_byteen(dprio_byteen), - .dprio_write(dprio_write), - .dprio_writedata(dprio_writedata), - - .atpgmode(dprio_atpgmode), - .mdio_dis(dprio_mdio_dis), - .scanen(dprio_scanen), - .ser_shift_load(dprio_ser_shift_load) - ); - - - fpll_dprio_init fpll_dprio_init_inst ( - .clk(clk), - .reset_n(~reset), - .locked(locked), - - //outputs - .dprio_address(init_dprio_address), - .dprio_read(init_dprio_read), - .dprio_byteen(init_dprio_byteen), - .dprio_write(init_dprio_write), - .dprio_writedata(init_dprio_writedata), - - .atpgmode(init_atpgmode), - .mdio_dis(init_mdio_dis), - .scanen(init_scanen), - .ser_shift_load(init_ser_shift_load), - .dprio_init_done(dprio_init_done)); - - //address luts, to be reconfigged by the Fitter - //FPLL_1 or 0 address lut - generic_lcell_comb lcell_fpll_0_1 ( - .dataa(1'b0), - .combout (fpll_1)); - defparam lcell_fpll_0_1.lut_mask = 64'hAAAAAAAAAAAAAAAA; - defparam lcell_fpll_0_1.dont_touch = "on"; - defparam lcell_fpll_0_1.family = device_family; - - - wire dprio_read_combout; - generic_lcell_comb lcell_dprio_read ( - .dataa(fpll_1), - .datab(dprio_read), - .datac(1'b0), - .datad(1'b0), - .datae(1'b0), - .dataf(1'b0), - .combout (dprio_read_combout)); - defparam lcell_dprio_read.lut_mask = 64'hCCCCCCCCCCCCCCCC; - defparam lcell_dprio_read.dont_touch = "on"; - defparam lcell_dprio_read.family = device_family; - - - - - - //assign reconfig_to_pll signals - assign reconfig_to_pll[0] = dprio_clk; - assign reconfig_to_pll[1] = ~dprio_init_reset; - assign reconfig_to_pll[2] = dprio_write; - assign reconfig_to_pll[3] = dprio_read_combout; - assign reconfig_to_pll[9:4] = dprio_address; - assign reconfig_to_pll[25:10] = dprio_writedata; - assign reconfig_to_pll[27:26] = dprio_byteen; - assign reconfig_to_pll[28] = dprio_ser_shift_load; - assign reconfig_to_pll[29] = dprio_mdio_dis; - assign reconfig_to_pll[30] = phase_en; - assign reconfig_to_pll[31] = up_dn; - assign reconfig_to_pll[36:32] = cnt_sel; - assign reconfig_to_pll[37] = dprio_scanen; - assign reconfig_to_pll[38] = dprio_atpgmode; - //assign reconfig_to_pll[40:37] = clken; - assign reconfig_to_pll[63:39] = 0; - - //assign reconfig_from_pll signals - assign dprio_readdata = reconfig_from_pll [15:0]; - assign locked_orig = reconfig_from_pll [16]; - assign phase_done = reconfig_from_pll [17]; - -endmodule -module self_reset (input wire mgmt_reset, input wire clk, output wire reset, output wire init_reset); - - localparam RESET_COUNTER_VALUE = 3'd2; - localparam INITIAL_WAIT_VALUE = 9'd340; - reg [9:0]counter; - reg local_reset; - reg usr_mode_init_wait; - initial - begin - local_reset = 1'b1; - counter = 0; - usr_mode_init_wait = 0; - end - - always @(posedge clk) - begin - if (mgmt_reset) - begin - counter <= 0; - end - else - begin - if (!usr_mode_init_wait) - begin - if (counter == INITIAL_WAIT_VALUE) - begin - local_reset <= 0; - usr_mode_init_wait <= 1'b1; - counter <= 0; - end - else - begin - counter <= counter + 1'b1; - end - end - else - begin - if (counter == RESET_COUNTER_VALUE) - local_reset <= 0; - else - counter <= counter + 1'b1; - end - end - end - assign reset = mgmt_reset | local_reset; - assign init_reset = local_reset; -endmodule - -module dprio_mux ( - // Inputs from init block - input [ 5:0] init_dprio_address, - input init_dprio_read, - input [ 1:0] init_dprio_byteen, - input init_dprio_write, - input [15:0] init_dprio_writedata, - - input init_atpgmode, - input init_mdio_dis, - input init_scanen, - input init_ser_shift_load, - input dprio_init_done, - - // Inputs from avmm master - input [ 5:0] avmm_dprio_address, - input avmm_dprio_read, - input [ 1:0] avmm_dprio_byteen, - input avmm_dprio_write, - input [15:0] avmm_dprio_writedata, - - input avmm_atpgmode, - input avmm_mdio_dis, - input avmm_scanen, - input avmm_ser_shift_load, - - // Outputs to fpll - output [ 5:0] dprio_address, - output dprio_read, - output [ 1:0] dprio_byteen, - output dprio_write, - output [15:0] dprio_writedata, - - output atpgmode, - output mdio_dis, - output scanen, - output ser_shift_load -); - - assign dprio_address = dprio_init_done ? avmm_dprio_address : init_dprio_address; - assign dprio_read = dprio_init_done ? avmm_dprio_read : init_dprio_read; - assign dprio_byteen = dprio_init_done ? avmm_dprio_byteen : init_dprio_byteen; - assign dprio_write = dprio_init_done ? avmm_dprio_write : init_dprio_write; - assign dprio_writedata = dprio_init_done ? avmm_dprio_writedata : init_dprio_writedata; - - assign atpgmode = init_atpgmode; - assign scanen = init_scanen; - assign mdio_dis = init_mdio_dis; - assign ser_shift_load = init_ser_shift_load ; -endmodule -module fpll_dprio_init ( - input clk, - input reset_n, - input locked, - - output [ 5:0] dprio_address, - output dprio_read, - output [ 1:0] dprio_byteen, - output dprio_write, - output [15:0] dprio_writedata, - - output reg atpgmode, - output reg mdio_dis, - output reg scanen, - output reg ser_shift_load, - output reg dprio_init_done -); - - reg [1:0] rst_n = 2'b00; - reg [6:0] count = 7'd0; - reg init_done_forever; - - // Internal versions of control signals - wire int_mdio_dis; - wire int_ser_shift_load; - wire int_dprio_init_done; - wire int_atpgmode/*synthesis keep*/; - wire int_scanen/*synthesis keep*/; - - - assign dprio_address = count[6] ? 5'b0 : count[5:0] ; - assign dprio_byteen = 2'b11; // always enabled - assign dprio_write = ~count[6] & reset_n ; // write for first 64 cycles - assign dprio_read = 1'b0; - assign dprio_writedata = 16'd0; - - assign int_ser_shift_load = count[6] ? |count[2:1] : 1'b1; - assign int_mdio_dis = count[6] ? ~count[2] : 1'b1; - assign int_dprio_init_done = ~init_done_forever ? (count[6] ? &count[2:0] : 1'b0) - : 1'b1; - assign int_atpgmode = 0; - assign int_scanen = 0; - - initial begin - count = 7'd0; - init_done_forever = 0; - mdio_dis = 1'b1; - ser_shift_load = 1'b1; - dprio_init_done = 1'b0; - scanen = 1'b0; - atpgmode = 1'b0; - end - - // reset synch. - always @(posedge clk or negedge reset_n) - if(!reset_n) rst_n <= 2'b00; - else rst_n <= {rst_n[0],1'b1}; - - // counter - always @(posedge clk) - begin - if (!rst_n[1]) - init_done_forever <= 1'b0; - else - begin - if (count[6] && &count[1:0]) - init_done_forever <= 1'b1; - end - end - always @(posedge clk or negedge rst_n[1]) - begin - if(!rst_n[1]) - begin - count <= 7'd0; - end - else if(~int_dprio_init_done) - begin - count <= count + 7'd1; - end - else - begin - count <= count; - end - end - - // outputs - always @(posedge clk) begin - mdio_dis <= int_mdio_dis; - ser_shift_load <= int_ser_shift_load; - dprio_init_done <= int_dprio_init_done; - atpgmode <= int_atpgmode; - scanen <= int_scanen; - end - -endmodule -module dyn_phase_shift -#( - parameter device_family = "Stratix V" -) ( - - input wire clk, - input wire reset, - input wire phase_done, - input wire pll_start_valid, - input wire dps_changed, - input wire dprio_write_done, - input wire [15:0] usr_num_shifts, - input wire [4:0] usr_cnt_sel, - input wire usr_up_dn, - input wire locked, - - //output - output wire dps_done, - output reg phase_en, - output wire up_dn, - output wire dps_changed_valid, - output wire [4:0] cnt_sel); - - - - reg first_phase_shift_d; - reg first_phase_shift_q; - reg [15:0] phase_en_counter; - reg [3:0] dps_current_state; - reg [3:0] dps_next_state; - localparam DPS_START = 4'd0, DPS_WAIT_PHASE_DONE = 4'd1, DPS_DONE = 4'd2, DPS_WAIT_PHASE_EN = 4'd3, DPS_WAIT_DPRIO_WRITING = 4'd4, DPS_CHANGED = 4'd5; - localparam PHASE_EN_WAIT_COUNTER = 5'd1; - - reg [15:0] shifts_done_counter; - reg phase_done_final; - wire gnd /*synthesis keep*/; - - //fsm - //always block controlling the state regs - always @(posedge clk) - begin - if (reset) - begin - dps_current_state <= DPS_DONE; - end - else - begin - dps_current_state <= dps_next_state; - end - end - //the combinational part. assigning the next state - //this turns on the phase_done_final signal when phase_done does this: - //_____ ______ - // |______| - always @(*) - begin - phase_done_final = 0; - first_phase_shift_d = 0; - phase_en = 0; - dps_next_state = DPS_DONE; - case (dps_current_state) - DPS_START: - begin - phase_en = 1'b1; - dps_next_state = DPS_WAIT_PHASE_EN; - end - DPS_WAIT_PHASE_EN: - begin - phase_en = 1'b1; - if (first_phase_shift_q) - begin - first_phase_shift_d = 1'b1; - dps_next_state = DPS_WAIT_PHASE_EN; - end - else - begin - if (phase_en_counter == PHASE_EN_WAIT_COUNTER) - dps_next_state = DPS_WAIT_PHASE_DONE; - else dps_next_state = DPS_WAIT_PHASE_EN; - end - end - DPS_WAIT_PHASE_DONE: - begin - if (!phase_done | !locked) - begin - dps_next_state = DPS_WAIT_PHASE_DONE; - end - else - begin - if ((usr_num_shifts != shifts_done_counter) & (usr_num_shifts != 0)) - begin - dps_next_state = DPS_START; - phase_done_final = 1'b1; - end - else - begin - dps_next_state = DPS_DONE; - end - - end - end - DPS_DONE: - begin - phase_done_final = 0; - if (dps_changed) - dps_next_state = DPS_CHANGED; - else dps_next_state = DPS_DONE; - - end - DPS_CHANGED: - begin - if (pll_start_valid) - dps_next_state = DPS_WAIT_DPRIO_WRITING; - else - dps_next_state = DPS_CHANGED; - end - DPS_WAIT_DPRIO_WRITING: - begin - if (dprio_write_done) - dps_next_state = DPS_START; - else - dps_next_state = DPS_WAIT_DPRIO_WRITING; - end - - default: dps_next_state = 4'bxxxx; - endcase - - - end - - always @(posedge clk) - begin - - - if (dps_current_state == DPS_WAIT_PHASE_DONE) - phase_en_counter <= 0; - else if (dps_current_state == DPS_WAIT_PHASE_EN) - phase_en_counter <= phase_en_counter + 1'b1; - - if (reset) - begin - phase_en_counter <= 0; - shifts_done_counter <= 1'b1; - first_phase_shift_q <= 1; - end - else - begin - if (first_phase_shift_d) - first_phase_shift_q <= 0; - if (dps_done) - begin - shifts_done_counter <= 1'b1; - end - else - begin - if (phase_done_final & (dps_next_state!= DPS_DONE)) - shifts_done_counter <= shifts_done_counter + 1'b1; - else - shifts_done_counter <= shifts_done_counter; - end - end - end - - assign dps_changed_valid = (dps_current_state == DPS_CHANGED); - assign dps_done =(dps_current_state == DPS_DONE) | (dps_current_state == DPS_CHANGED); - assign up_dn = usr_up_dn; - assign gnd = 1'b0; - - //cnt select luts (5) - generic_lcell_comb lcell_cnt_sel_0 ( - .dataa(usr_cnt_sel[0]), - .datab(usr_cnt_sel[1]), - .datac(usr_cnt_sel[2]), - .datad(usr_cnt_sel[3]), - .datae(usr_cnt_sel[4]), - .dataf(gnd), - .combout (cnt_sel[0])); - defparam lcell_cnt_sel_0.lut_mask = 64'hAAAAAAAAAAAAAAAA; - defparam lcell_cnt_sel_0.dont_touch = "on"; - defparam lcell_cnt_sel_0.family = device_family; - generic_lcell_comb lcell_cnt_sel_1 ( - .dataa(usr_cnt_sel[0]), - .datab(usr_cnt_sel[1]), - .datac(usr_cnt_sel[2]), - .datad(usr_cnt_sel[3]), - .datae(usr_cnt_sel[4]), - .dataf(gnd), - .combout (cnt_sel[1])); - defparam lcell_cnt_sel_1.lut_mask = 64'hCCCCCCCCCCCCCCCC; - defparam lcell_cnt_sel_1.dont_touch = "on"; - defparam lcell_cnt_sel_1.family = device_family; - generic_lcell_comb lcell_cnt_sel_2 ( - .dataa(usr_cnt_sel[0]), - .datab(usr_cnt_sel[1]), - .datac(usr_cnt_sel[2]), - .datad(usr_cnt_sel[3]), - .datae(usr_cnt_sel[4]), - .dataf(gnd), - .combout (cnt_sel[2])); - defparam lcell_cnt_sel_2.lut_mask = 64'hF0F0F0F0F0F0F0F0; - defparam lcell_cnt_sel_2.dont_touch = "on"; - defparam lcell_cnt_sel_2.family = device_family; - generic_lcell_comb lcell_cnt_sel_3 ( - .dataa(usr_cnt_sel[0]), - .datab(usr_cnt_sel[1]), - .datac(usr_cnt_sel[2]), - .datad(usr_cnt_sel[3]), - .datae(usr_cnt_sel[4]), - .dataf(gnd), - .combout (cnt_sel[3])); - defparam lcell_cnt_sel_3.lut_mask = 64'hFF00FF00FF00FF00; - defparam lcell_cnt_sel_3.dont_touch = "on"; - defparam lcell_cnt_sel_3.family = device_family; - generic_lcell_comb lcell_cnt_sel_4 ( - .dataa(usr_cnt_sel[0]), - .datab(usr_cnt_sel[1]), - .datac(usr_cnt_sel[2]), - .datad(usr_cnt_sel[3]), - .datae(usr_cnt_sel[4]), - .dataf(gnd), - .combout (cnt_sel[4])); - defparam lcell_cnt_sel_4.lut_mask = 64'hFFFF0000FFFF0000; - defparam lcell_cnt_sel_4.dont_touch = "on"; - defparam lcell_cnt_sel_4.family = device_family; - - -endmodule - -module generic_lcell_comb -#( - //parameter - parameter family = "Stratix V", - parameter lut_mask = 64'hAAAAAAAAAAAAAAAA, - parameter dont_touch = "on" -) ( - - input dataa, - input datab, - input datac, - input datad, - input datae, - input dataf, - - output combout -); - - generate - if (family == "Stratix V") - begin - stratixv_lcell_comb lcell_inst ( - .dataa(dataa), - .datab(datab), - .datac(datac), - .datad(datad), - .datae(datae), - .dataf(dataf), - .combout (combout)); - defparam lcell_inst.lut_mask = lut_mask; - defparam lcell_inst.dont_touch = dont_touch; - end - else if (family == "Arria V") - begin - arriav_lcell_comb lcell_inst ( - .dataa(dataa), - .datab(datab), - .datac(datac), - .datad(datad), - .datae(datae), - .dataf(dataf), - .combout (combout)); - defparam lcell_inst.lut_mask = lut_mask; - defparam lcell_inst.dont_touch = dont_touch; - end - else if (family == "Arria V GZ") - begin - arriavgz_lcell_comb lcell_inst ( - .dataa(dataa), - .datab(datab), - .datac(datac), - .datad(datad), - .datae(datae), - .dataf(dataf), - .combout (combout)); - defparam lcell_inst.lut_mask = lut_mask; - defparam lcell_inst.dont_touch = dont_touch; - end - else if (family == "Cyclone V") - begin - cyclonev_lcell_comb lcell_inst ( - .dataa(dataa), - .datab(datab), - .datac(datac), - .datad(datad), - .datae(datae), - .dataf(dataf), - .combout (combout)); - defparam lcell_inst.lut_mask = lut_mask; - defparam lcell_inst.dont_touch = dont_touch; - end - endgenerate -endmodule +`timescale 1ps/1ps + +module altera_pll_reconfig_core +#( + parameter reconf_width = 64, + parameter device_family = "Stratix V", + // MIF Streaming parameters + parameter RECONFIG_ADDR_WIDTH = 6, + parameter RECONFIG_DATA_WIDTH = 32, + parameter ROM_ADDR_WIDTH = 9, + parameter ROM_DATA_WIDTH = 32, + parameter ROM_NUM_WORDS = 512 +) ( + + //input + input wire mgmt_clk, + input wire mgmt_reset, + + + //conduits + output wire [reconf_width-1:0] reconfig_to_pll, + input wire [reconf_width-1:0] reconfig_from_pll, + + // user data (avalon-MM slave interface) + output wire [31:0] mgmt_readdata, + output wire mgmt_waitrequest, + input wire [5:0] mgmt_address, + input wire mgmt_read, + input wire mgmt_write, + input wire [31:0] mgmt_writedata, + + //other + output wire mif_start_out, + output reg [ROM_ADDR_WIDTH-1:0] mif_base_addr +); + localparam mode_WR = 1'b0; + localparam mode_POLL = 1'b1; + localparam MODE_REG = 6'b000000; + localparam STATUS_REG = 6'b000001; + localparam START_REG = 6'b000010; + localparam N_REG = 6'b000011; + localparam M_REG = 6'b000100; + localparam C_COUNTERS_REG = 6'b000101; + localparam DPS_REG = 6'b000110; + localparam DSM_REG = 6'b000111; + localparam BWCTRL_REG = 6'b001000; + localparam CP_CURRENT_REG = 6'b001001; + localparam ANY_DPRIO = 6'b100000; + localparam CNT_BASE = 5'b001010; + localparam VCO_REG = 6'b011100; + localparam MIF_REG = 6'b011111; + + //C Counters + localparam number_of_counters = 5'd18; + localparam CNT_0 = 1'd0, CNT_1 = 5'd1, CNT_2 = 5'd2, + CNT_3 = 5'd3, CNT_4 = 5'd4, CNT_5 = 5'd5, + CNT_6 = 5'd6, CNT_7 = 5'd7, CNT_8 = 5'd8, + CNT_9 = 5'd9, CNT_10 = 5'd10, CNT_11 = 5'd11, + CNT_12 = 5'd12, CNT_13 = 5'd13, CNT_14 = 5'd14, + CNT_15 = 5'd15, CNT_16 = 5'd16, CNT_17 = 5'd17; + //C counter addresses + localparam C_CNT_0_DIV_ADDR = 5'h00; + localparam C_CNT_0_DIV_ADDR_DPRIO_1 = 5'h11; + localparam C_CNT_0_3_BYPASS_EN_ADDR = 5'h15; + localparam C_CNT_0_3_ODD_DIV_EN_ADDR = 5'h17; + localparam C_CNT_4_17_BYPASS_EN_ADDR = 5'h14; + localparam C_CNT_4_17_ODD_DIV_EN_ADDR = 5'h16; + //N counter addresses + localparam N_CNT_DIV_ADDR = 5'h13; + localparam N_CNT_BYPASS_EN_ADDR = 5'h15; + localparam N_CNT_ODD_DIV_EN_ADDR = 5'h17; + //M counter addresses + localparam M_CNT_DIV_ADDR = 5'h12; + localparam M_CNT_BYPASS_EN_ADDR = 5'h15; + localparam M_CNT_ODD_DIV_EN_ADDR = 5'h17; + + //DSM address + localparam DSM_K_FRACTIONAL_DIVISION_ADDR_0 = 5'h18; + localparam DSM_K_FRACTIONAL_DIVISION_ADDR_1 = 5'h19; + localparam DSM_K_READY_ADDR = 5'h17; + localparam DSM_K_DITHER_ADDR = 5'h17; + localparam DSM_OUT_SEL_ADDR = 6'h30; + + //Other DSM params + localparam DSM_K_READY_BIT_INDEX = 4'd11; + //BWCTRL address + //Bit 0-3 of addr + localparam BWCTRL_ADDR = 6'h30; + //CP_CURRENT address + //Bit 0-2 of addr + localparam CP_CURRENT_ADDR = 6'h31; + + // VCODIV address + localparam VCO_ADDR = 5'h17; + + localparam DPRIO_IDLE = 3'd0, ONE = 3'd1, TWO = 3'd2, THREE = 3'd3, FOUR = 3'd4, + FIVE = 3'd5, SIX = 3'd6, SEVEN = 3'd7, EIGHT = 4'd8, NINE = 4'd9, TEN = 4'd10, + ELEVEN = 4'd11, TWELVE = 4'd12, THIRTEEN = 4'd13, FOURTEEN = 4'd14, DPRIO_DONE = 4'd15; + localparam IDLE = 2'b00, WAIT_ON_LOCK = 2'b01, LOCKED = 2'b10; + + wire clk; + wire reset; + wire gnd; + + wire [5: 0] slave_address; + wire slave_read; + wire slave_write; + wire [31: 0] slave_writedata; + + reg [31: 0] slave_readdata_d; + reg [31: 0] slave_readdata_q; + wire slave_waitrequest; + reg slave_mode; + + assign clk = mgmt_clk; + + assign slave_address = mgmt_address; + assign slave_read = mgmt_read; + assign slave_write = mgmt_write; + assign slave_writedata = mgmt_writedata; + + reg read_waitrequest; + // Outputs + assign mgmt_readdata = slave_readdata_q; + assign mgmt_waitrequest = slave_waitrequest | read_waitrequest; //Read waitrequest asserted in polling mode + + //internal signals + wire locked_orig; + wire locked; + + wire pll_start; + wire pll_start_valid; + reg status_read; + wire read_slave_mode_asserted; + + wire pll_start_asserted; + + reg [1:0] current_state; + reg [1:0] next_state; + + reg status;//0=busy, 1=ready + //user_mode_init user_mode_init_inst (clk, reset, dprio_mdio_dis, ser_shift_load); + //declaring the init wires. These will have 0 on them for 64 clk cycles + wire [ 5:0] init_dprio_address; + wire init_dprio_read; + wire [ 1:0] init_dprio_byteen; + wire init_dprio_write; + wire [15:0] init_dprio_writedata; + + wire init_atpgmode; + wire init_mdio_dis; + wire init_scanen; + wire init_ser_shift_load; + wire dprio_init_done; + + //DPRIO output signals after initialization is done + wire dprio_clk; + reg avmm_dprio_write; + reg avmm_dprio_read; + reg [5:0] avmm_dprio_address; + reg [15:0] avmm_dprio_writedata; + reg [1:0] avmm_dprio_byteen; + wire avmm_atpgmode; + wire avmm_mdio_dis; + wire avmm_scanen; + + //Final output wires that are muxed between the init and avmm wires. + wire dprio_init_reset; + wire [5:0] dprio_address /*synthesis keep*/; + wire dprio_read/*synthesis keep*/; + wire [1:0] dprio_byteen/*synthesis keep*/; + wire dprio_write/*synthesis keep*/; + wire [15:0] dprio_writedata/*synthesis keep*/; + wire dprio_mdio_dis/*synthesis keep*/; + wire dprio_ser_shift_load/*synthesis keep*/; + wire dprio_atpgmode/*synthesis keep*/; + wire dprio_scanen/*synthesis keep*/; + + + //other PLL signals for dyn ph shift + wire phase_done/*synthesis keep*/; + wire phase_en/*synthesis keep*/; + wire up_dn/*synthesis keep*/; + wire [4:0] cnt_sel; + + //DPRIO input signals + wire [15:0] dprio_readdata; + + //internal logic signals + //storage registers for user sent data + reg dprio_temp_read_1; + reg dprio_temp_read_2; + reg dprio_start; + reg mif_start_assert; + reg dps_start_assert; + wire usr_valid_changes; + reg [3:0] dprio_cur_state; + reg [3:0] dprio_next_state; + reg [15:0] dprio_temp_m_n_c_readdata_1_d; + reg [15:0] dprio_temp_m_n_c_readdata_2_d; + reg [15:0] dprio_temp_m_n_c_readdata_1_q; + reg [15:0] dprio_temp_m_n_c_readdata_2_q; + reg dprio_write_done; + //C counters signals + reg [7:0] usr_c_cnt_lo; + reg [7:0] usr_c_cnt_hi; + reg usr_c_cnt_bypass_en; + reg usr_c_cnt_odd_duty_div_en; + reg [7:0] temp_c_cnt_lo [0:17]; + reg [7:0] temp_c_cnt_hi [0:17]; + reg temp_c_cnt_bypass_en [0:17]; + reg temp_c_cnt_odd_duty_div_en [0:17]; + reg any_c_cnt_changed; + reg all_c_cnt_done_q; + reg all_c_cnt_done_d; + reg [17:0] c_cnt_changed; + reg [17:0] c_cnt_done_d; + reg [17:0] c_cnt_done_q; + //N counter signals + reg [7:0] usr_n_cnt_lo; + reg [7:0] usr_n_cnt_hi; + reg usr_n_cnt_bypass_en; + reg usr_n_cnt_odd_duty_div_en; + reg n_cnt_changed; + reg n_cnt_done_d; + reg n_cnt_done_q; + //M counter signals + reg [7:0] usr_m_cnt_lo; + reg [7:0] usr_m_cnt_hi; + reg usr_m_cnt_bypass_en; + reg usr_m_cnt_odd_duty_div_en; + reg m_cnt_changed; + reg m_cnt_done_d; + reg m_cnt_done_q; + //dyn phase regs + reg [15:0] usr_num_shifts; + reg [4:0] usr_cnt_sel /*synthesis preserve*/; + reg usr_up_dn; + reg dps_changed; + wire dps_changed_valid; + wire dps_done; + + //DSM Signals + reg [31:0] usr_k_value; + reg dsm_k_changed; + reg dsm_k_done_d; + reg dsm_k_done_q; + reg dsm_k_ready_false_done_d; + //BW signals + reg [3:0] usr_bwctrl_value; + reg bwctrl_changed; + reg bwctrl_done_d; + reg bwctrl_done_q; + //CP signals + reg [2:0] usr_cp_current_value; + reg cp_current_changed; + reg cp_current_done_d; + reg cp_current_done_q; + //VCO signals + reg usr_vco_value; + reg vco_changed; + reg vco_done_d; + reg vco_done_q; + //Manual DPRIO signals + reg manual_dprio_done_q; + reg manual_dprio_done_d; + reg manual_dprio_changed; + reg [5:0] usr_dprio_address; + reg [15:0] usr_dprio_writedata_0; + reg usr_r_w; + //keeping track of which operation happened last + reg [5:0] operation_address; + // Address wires for all C_counter DPRIO registers + // These are outputs of LUTS, changing depending + // on whether PLL_0 or PLL_1 being used + + + //Fitter will tell if FPLL1 is being used + wire fpll_1; + + // other + reg mif_reg_asserted; + // MAIN FSM + + // Synchronize locked signal + altera_std_synchronizer #( + .depth(3) + ) altera_std_synchronizer_inst ( + .clk(mgmt_clk), + .reset_n(~mgmt_reset), + .din(locked_orig), + .dout(locked) + ); + + always @(posedge clk) + begin + if (reset) + begin + dprio_cur_state <= DPRIO_IDLE; + current_state <= IDLE; + end + else + begin + current_state <= next_state; + dprio_cur_state <= dprio_next_state; + end + end + + always @(*) + begin + case(current_state) + IDLE: + begin + if (pll_start & !slave_waitrequest & usr_valid_changes) + next_state = WAIT_ON_LOCK; + else + next_state = IDLE; + end + WAIT_ON_LOCK: + begin + if (locked & dps_done & dprio_write_done) // received locked high from PLL + begin + if (slave_mode==mode_WR) //if the mode is waitrequest, then + // goto IDLE state directly + next_state = IDLE; + else + next_state = LOCKED; //otherwise go the locked state + end + else + next_state = WAIT_ON_LOCK; + end + + LOCKED: + begin + if (status_read) // stay in LOCKED until user reads status + next_state = IDLE; + else + next_state = LOCKED; + end + + default: next_state = 2'bxx; + + endcase + end + + + // ask the pll to start reconfig + assign pll_start = (pll_start_asserted & (current_state==IDLE)) ; + assign pll_start_valid = (pll_start & (next_state==WAIT_ON_LOCK)) ; + + + + // WRITE OPERATIONS + assign pll_start_asserted = slave_write & (slave_address == START_REG); + assign mif_start_out = pll_start & mif_reg_asserted; + + //reading the mode register to determine what mode the slave will operate + //in. + always @(posedge clk) + begin + if (reset) + slave_mode <= mode_WR; + else if (slave_write & (slave_address == MODE_REG) & !slave_waitrequest) + slave_mode <= slave_writedata[0]; + end + + //record which values user wants to change. + + //reading in the actual values that need to be reconfigged and sending + //them to the PLL + always @(posedge clk) + begin + if (reset) + begin + //reset all regs here + //BW signals reset + usr_bwctrl_value <= 0; + bwctrl_changed <= 0; + bwctrl_done_q <= 0; + //CP signals reset + usr_cp_current_value <= 0; + cp_current_changed <= 0; + cp_current_done_q <= 0; + //VCO signals reset + usr_vco_value <= 0; + vco_changed <= 0; + vco_done_q <= 0; + //DSM signals reset + usr_k_value <= 0; + dsm_k_changed <= 0; + dsm_k_done_q <= 0; + //N counter signals reset + usr_n_cnt_lo <= 0; + usr_n_cnt_hi <= 0; + usr_n_cnt_bypass_en <= 0; + usr_n_cnt_odd_duty_div_en <= 0; + n_cnt_changed <= 0; + n_cnt_done_q <= 0; + //M counter signals reset + usr_m_cnt_lo <= 0; + usr_m_cnt_hi <= 0; + usr_m_cnt_bypass_en <= 0; + usr_m_cnt_odd_duty_div_en <= 0; + m_cnt_changed <= 0; + m_cnt_done_q <= 0; + //C counter signals reset + usr_c_cnt_lo <= 0; + usr_c_cnt_hi <= 0; + usr_c_cnt_bypass_en <= 0; + usr_c_cnt_odd_duty_div_en <= 0; + any_c_cnt_changed <= 0; + all_c_cnt_done_q <= 0; + c_cnt_done_q <= 0; + //generic signals + dprio_start <= 0; + mif_start_assert <= 0; + dps_start_assert <= 0; + dprio_temp_m_n_c_readdata_1_q <= 0; + dprio_temp_m_n_c_readdata_2_q <= 0; + c_cnt_done_q <= 0; + //DPS signals + usr_up_dn <= 0; + usr_cnt_sel <= 0; + usr_num_shifts <= 0; + dps_changed <= 0; + //manual DPRIO signals + manual_dprio_changed <= 0; + usr_dprio_address <= 0; + usr_dprio_writedata_0 <= 0; + usr_r_w <= 0; + operation_address <= 0; + mif_reg_asserted <= 0; + mif_base_addr <= 0; + end + else + begin + if (dprio_temp_read_1) + begin + dprio_temp_m_n_c_readdata_1_q <= dprio_temp_m_n_c_readdata_1_d; + end + if (dprio_temp_read_2) + begin + dprio_temp_m_n_c_readdata_2_q <= dprio_temp_m_n_c_readdata_2_d; + end + if ((dps_done)) dps_changed <= 0; + if (dsm_k_done_d) dsm_k_done_q <= dsm_k_done_d; + if (n_cnt_done_d) n_cnt_done_q <= n_cnt_done_d; + if (m_cnt_done_d) m_cnt_done_q <= m_cnt_done_d; + if (all_c_cnt_done_d) all_c_cnt_done_q <= all_c_cnt_done_d; + if (c_cnt_done_d != 0) c_cnt_done_q <= c_cnt_done_q | c_cnt_done_d; + if (bwctrl_done_d) bwctrl_done_q <= bwctrl_done_d; + if (cp_current_done_d) cp_current_done_q <= cp_current_done_d; + if (vco_done_d) vco_done_q <= vco_done_d; + if (manual_dprio_done_d) manual_dprio_done_q <= manual_dprio_done_d; + + if (mif_start_out == 1'b1) + mif_start_assert <= 0; // Signaled MIF block to start, so deassert on next cycle + + if (dps_done != 1'b1) + dps_start_assert <= 0; // DPS has started, so dessert its start signal on next cycle + + if (dprio_next_state == ONE) + dprio_start <= 0; + if (dprio_write_done) + begin + bwctrl_done_q <= 0; + cp_current_done_q <= 0; + vco_done_q <= 0; + dsm_k_done_q <= 0; + dsm_k_done_q <= 0; + n_cnt_done_q <= 0; + m_cnt_done_q <= 0; + all_c_cnt_done_q <= 0; + c_cnt_done_q <= 0; + dsm_k_changed <= 0; + n_cnt_changed <= 0; + m_cnt_changed <= 0; + any_c_cnt_changed <= 0; + bwctrl_changed <= 0; + cp_current_changed <= 0; + vco_changed <= 0; + manual_dprio_changed <= 0; + manual_dprio_done_q <= 0; + if (dps_changed | dps_changed_valid | !dps_done ) + begin + usr_cnt_sel <= usr_cnt_sel; + end + else + begin + usr_cnt_sel <= 0; + end + mif_reg_asserted <= 0; + end + else + begin + dsm_k_changed <= dsm_k_changed; + n_cnt_changed <= n_cnt_changed; + m_cnt_changed <= m_cnt_changed; + any_c_cnt_changed <= any_c_cnt_changed; + manual_dprio_changed <= manual_dprio_changed; + mif_reg_asserted <= mif_reg_asserted; + usr_cnt_sel <= usr_cnt_sel; + end + + + if(slave_write & !slave_waitrequest) + begin + case(slave_address) + //read in the values here from the user and act on them + DSM_REG: + begin + operation_address <= DSM_REG; + usr_k_value <= slave_writedata[31:0]; + dsm_k_changed <= 1'b1; + dsm_k_done_q <= 0; + dprio_start <= 1'b1; + end + N_REG: + begin + operation_address <= N_REG; + usr_n_cnt_lo <= slave_writedata[7:0]; + usr_n_cnt_hi <= slave_writedata[15:8]; + usr_n_cnt_bypass_en <= slave_writedata[16]; + usr_n_cnt_odd_duty_div_en <= slave_writedata[17]; + n_cnt_changed <= 1'b1; + n_cnt_done_q <= 0; + dprio_start <= 1'b1; + end + M_REG: + begin + operation_address <= M_REG; + usr_m_cnt_lo <= slave_writedata[7:0]; + usr_m_cnt_hi <= slave_writedata[15:8]; + usr_m_cnt_bypass_en <= slave_writedata[16]; + usr_m_cnt_odd_duty_div_en <= slave_writedata[17]; + m_cnt_changed <= 1'b1; + m_cnt_done_q <= 0; + dprio_start <= 1'b1; + end + DPS_REG: + begin + operation_address <= DPS_REG; + usr_num_shifts <= slave_writedata[15:0]; + usr_cnt_sel <= slave_writedata[20:16]; + usr_up_dn <= slave_writedata[21]; + dps_changed <= 1; + dps_start_assert <= 1; + end + C_COUNTERS_REG: + begin + operation_address <= C_COUNTERS_REG; + usr_c_cnt_lo <= slave_writedata[7:0]; + usr_c_cnt_hi <= slave_writedata[15:8]; + usr_c_cnt_bypass_en <= slave_writedata[16]; + usr_c_cnt_odd_duty_div_en <= slave_writedata[17]; + usr_cnt_sel <= slave_writedata[22:18]; + any_c_cnt_changed <= 1'b1; + all_c_cnt_done_q <= 0; + dprio_start <= 1'b1; + end + BWCTRL_REG: + begin + usr_bwctrl_value <= slave_writedata[3:0]; + bwctrl_changed <= 1'b1; + bwctrl_done_q <= 0; + dprio_start <= 1'b1; + operation_address <= BWCTRL_REG; + end + CP_CURRENT_REG: + begin + usr_cp_current_value <= slave_writedata[2:0]; + cp_current_changed <= 1'b1; + cp_current_done_q <= 0; + dprio_start <= 1'b1; + operation_address <= CP_CURRENT_REG; + end + VCO_REG: + begin + usr_vco_value <= slave_writedata[0]; + vco_changed <= 1'b1; + vco_done_q <= 0; + dprio_start <= 1'b1; + operation_address <= VCO_REG; + end + ANY_DPRIO: + begin + operation_address <= ANY_DPRIO; + manual_dprio_changed <= 1'b1; + usr_dprio_address <= slave_writedata[5:0]; + usr_dprio_writedata_0 <= slave_writedata[21:6]; + usr_r_w <= slave_writedata[22]; + manual_dprio_done_q <= 0; + dprio_start <= 1'b1; + end + MIF_REG: + begin + mif_reg_asserted <= 1'b1; + mif_base_addr <= slave_writedata[ROM_ADDR_WIDTH-1:0]; + mif_start_assert <= 1'b1; + end + endcase + end + end + end + //C Counter assigning values to the 2-d array of values for each C counter + + reg [4:0] j; + always @(posedge clk) + begin + + if (reset) + begin + c_cnt_changed[17:0] <= 0; + for (j = 0; j < number_of_counters; j = j + 1'b1) + begin : c_cnt_reset + temp_c_cnt_bypass_en[j] <= 0; + temp_c_cnt_odd_duty_div_en[j] <= 0; + temp_c_cnt_lo[j][7:0] <= 0; + temp_c_cnt_hi[j][7:0] <= 0; + end + end + else + begin + if (dprio_write_done) + begin + c_cnt_changed <= 0; + end + if (any_c_cnt_changed && (operation_address == C_COUNTERS_REG)) + begin + case (cnt_sel) + CNT_0: + begin + temp_c_cnt_lo [0] <= usr_c_cnt_lo; + temp_c_cnt_hi [0] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [0] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [0] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [0] <= 1'b1; + end + CNT_1: + begin + temp_c_cnt_lo [1] <= usr_c_cnt_lo; + temp_c_cnt_hi [1] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [1] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [1] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [1] <= 1'b1; + end + CNT_2: + begin + temp_c_cnt_lo [2] <= usr_c_cnt_lo; + temp_c_cnt_hi [2] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [2] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [2] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [2] <= 1'b1; + end + CNT_3: + begin + temp_c_cnt_lo [3] <= usr_c_cnt_lo; + temp_c_cnt_hi [3] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [3] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [3] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [3] <= 1'b1; + end + CNT_4: + begin + temp_c_cnt_lo [4] <= usr_c_cnt_lo; + temp_c_cnt_hi [4] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [4] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [4] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [4] <= 1'b1; + end + CNT_5: + begin + temp_c_cnt_lo [5] <= usr_c_cnt_lo; + temp_c_cnt_hi [5] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [5] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [5] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [5] <= 1'b1; + end + CNT_6: + begin + temp_c_cnt_lo [6] <= usr_c_cnt_lo; + temp_c_cnt_hi [6] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [6] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [6] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [6] <= 1'b1; + end + CNT_7: + begin + temp_c_cnt_lo [7] <= usr_c_cnt_lo; + temp_c_cnt_hi [7] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [7] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [7] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [7] <= 1'b1; + end + CNT_8: + begin + temp_c_cnt_lo [8] <= usr_c_cnt_lo; + temp_c_cnt_hi [8] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [8] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [8] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [8] <= 1'b1; + end + CNT_9: + begin + temp_c_cnt_lo [9] <= usr_c_cnt_lo; + temp_c_cnt_hi [9] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [9] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [9] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [9] <= 1'b1; + end + CNT_10: + begin + temp_c_cnt_lo [10] <= usr_c_cnt_lo; + temp_c_cnt_hi [10] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [10] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [10] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [10] <= 1'b1; + end + CNT_11: + begin + temp_c_cnt_lo [11] <= usr_c_cnt_lo; + temp_c_cnt_hi [11] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [11] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [11] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [11] <= 1'b1; + end + CNT_12: + begin + temp_c_cnt_lo [12] <= usr_c_cnt_lo; + temp_c_cnt_hi [12] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [12] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [12] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [12] <= 1'b1; + end + CNT_13: + begin + temp_c_cnt_lo [13] <= usr_c_cnt_lo; + temp_c_cnt_hi [13] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [13] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [13] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [13] <= 1'b1; + end + CNT_14: + begin + temp_c_cnt_lo [14] <= usr_c_cnt_lo; + temp_c_cnt_hi [14] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [14] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [14] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [14] <= 1'b1; + end + CNT_15: + begin + temp_c_cnt_lo [15] <= usr_c_cnt_lo; + temp_c_cnt_hi [15] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [15] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [15] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [15] <= 1'b1; + end + CNT_16: + begin + temp_c_cnt_lo [16] <= usr_c_cnt_lo; + temp_c_cnt_hi [16] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [16] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [16] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [16] <= 1'b1; + end + CNT_17: + begin + temp_c_cnt_lo [17] <= usr_c_cnt_lo; + temp_c_cnt_hi [17] <= usr_c_cnt_hi; + temp_c_cnt_bypass_en [17] <= usr_c_cnt_bypass_en; + temp_c_cnt_odd_duty_div_en [17] <= usr_c_cnt_odd_duty_div_en; + c_cnt_changed [17] <= 1'b1; + end + endcase + + end + end + end + + + //logic to handle which writes the user indicated and wants to start. + assign usr_valid_changes =dsm_k_changed| any_c_cnt_changed |n_cnt_changed | m_cnt_changed | dps_changed_valid |manual_dprio_changed |cp_current_changed|bwctrl_changed|vco_changed; + + + //start the reconfig operations by writing to the DPRIO + reg break_loop; + reg [4:0] i; + always @(*) + begin + dprio_temp_read_1 = 0; + dprio_temp_read_2 = 0; + dprio_temp_m_n_c_readdata_1_d = 0; + dprio_temp_m_n_c_readdata_2_d = 0; + break_loop = 0; + dprio_next_state = DPRIO_IDLE; + avmm_dprio_write = 0; + avmm_dprio_read = 0; + avmm_dprio_address = 0; + avmm_dprio_writedata = 0; + avmm_dprio_byteen = 0; + dprio_write_done = 1; + manual_dprio_done_d = 0; + n_cnt_done_d = 0; + dsm_k_done_d = 0; + dsm_k_ready_false_done_d = 0; + m_cnt_done_d = 0; + c_cnt_done_d[17:0] = 0; + all_c_cnt_done_d = 0; + bwctrl_done_d = 0; + cp_current_done_d = 0; + vco_done_d = 0; + i = 0; + + // Deassert dprio_write_done so it doesn't reset mif_reg_asserted (toggled writes) + if (dprio_start | mif_start_assert) + dprio_write_done = 0; + + if (current_state == WAIT_ON_LOCK) + begin + case (dprio_cur_state) + ONE: + begin + if (n_cnt_changed & !n_cnt_done_q) + begin + dprio_write_done = 0; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + dprio_next_state = TWO; + avmm_dprio_address = N_CNT_DIV_ADDR; + avmm_dprio_writedata[7:0] = usr_n_cnt_lo; + avmm_dprio_writedata[15:8] = usr_n_cnt_hi; + end + else if (m_cnt_changed & !m_cnt_done_q) + begin + dprio_write_done = 0; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + dprio_next_state = TWO; + avmm_dprio_address = M_CNT_DIV_ADDR; + avmm_dprio_writedata[7:0] = usr_m_cnt_lo; + avmm_dprio_writedata[15:8] = usr_m_cnt_hi; + end + else if (any_c_cnt_changed & !all_c_cnt_done_q) + begin + + for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) + begin : c_cnt_write_hilo + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + dprio_write_done = 0; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + dprio_next_state = TWO; + if (fpll_1) avmm_dprio_address = C_CNT_0_DIV_ADDR + C_CNT_0_DIV_ADDR_DPRIO_1 - i; + else avmm_dprio_address = C_CNT_0_DIV_ADDR + i; + avmm_dprio_writedata[7:0] = temp_c_cnt_lo[i]; + avmm_dprio_writedata[15:8] = temp_c_cnt_hi[i]; + //To break from the loop, since only one counter + //is addressed at a time + break_loop = 1'b1; + end + end + end + else if (dsm_k_changed & !dsm_k_done_q) + begin + dprio_write_done = 0; + avmm_dprio_write = 0; + dprio_next_state = TWO; + end + else if (bwctrl_changed & !bwctrl_done_q) + begin + dprio_write_done = 0; + avmm_dprio_write = 0; + dprio_next_state = TWO; + end + else if (cp_current_changed & !cp_current_done_q) + begin + dprio_write_done = 0; + avmm_dprio_write = 0; + dprio_next_state = TWO; + end + else if (vco_changed & !vco_done_q) + begin + dprio_write_done = 0; + avmm_dprio_write = 0; + dprio_next_state = TWO; + end + else if (manual_dprio_changed & !manual_dprio_done_q) + begin + dprio_write_done = 0; + avmm_dprio_byteen = 2'b11; + dprio_next_state = TWO; + avmm_dprio_write = usr_r_w; + avmm_dprio_address = usr_dprio_address; + avmm_dprio_writedata[15:0] = usr_dprio_writedata_0; + end + else dprio_next_state = DPRIO_IDLE; + end + + TWO: + begin + //handle reading the two setting bits on n_cnt, then + //writing them back while preserving other bits. + //Issue two consecutive reads then wait; readLatency=3 + dprio_write_done = 0; + dprio_next_state = THREE; + avmm_dprio_byteen = 2'b11; + avmm_dprio_read = 1'b1; + if (n_cnt_changed & !n_cnt_done_q) + begin + avmm_dprio_address = N_CNT_BYPASS_EN_ADDR; + end + else if (m_cnt_changed & !m_cnt_done_q) + begin + avmm_dprio_address = M_CNT_BYPASS_EN_ADDR; + end + + else if (any_c_cnt_changed & !all_c_cnt_done_q) + begin + for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) + begin : c_cnt_read_bypass + if (fpll_1) + begin + if (i > 13) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; + break_loop = 1'b1; + end + end + end + else + begin + if (i < 4) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; + break_loop = 1'b1; + end + end + end + end + end + //reading the K ready 16 bit word. Need to write 0 to it + //afterwards to indicate that K has not been done writing + else if (dsm_k_changed & !dsm_k_done_q) + begin + avmm_dprio_address = DSM_K_READY_ADDR; + dprio_next_state = FOUR; + end + else if (bwctrl_changed & !bwctrl_done_q) + begin + avmm_dprio_address = BWCTRL_ADDR; + dprio_next_state = FOUR; + end + else if (cp_current_changed & !cp_current_done_q) + begin + avmm_dprio_address = CP_CURRENT_ADDR; + dprio_next_state = FOUR; + end + else if (vco_changed & !vco_done_q) + begin + avmm_dprio_address = VCO_ADDR; + dprio_next_state = FOUR; + end + else if (manual_dprio_changed & !manual_dprio_done_q) + begin + avmm_dprio_read = ~usr_r_w; + avmm_dprio_address = usr_dprio_address; + dprio_next_state = DPRIO_DONE; + end + else dprio_next_state = DPRIO_IDLE; + end + THREE: + begin + dprio_write_done = 0; + avmm_dprio_byteen = 2'b11; + avmm_dprio_read = 1'b1; + dprio_next_state = FOUR; + if (n_cnt_changed & !n_cnt_done_q) + begin + avmm_dprio_address = N_CNT_ODD_DIV_EN_ADDR; + end + else if (m_cnt_changed & !m_cnt_done_q) + begin + avmm_dprio_address = M_CNT_ODD_DIV_EN_ADDR; + end + else if (any_c_cnt_changed & !all_c_cnt_done_q) + begin + for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) + begin : c_cnt_read_odd_div + if (fpll_1) + begin + if (i > 13) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; + break_loop = 1'b1; + end + end + end + else + begin + if (i < 4) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; + break_loop = 1'b1; + end + end + end + end + end + else dprio_next_state = DPRIO_IDLE; + end + FOUR: + begin + dprio_temp_read_1 = 1'b1; + dprio_write_done = 0; + if (vco_changed|cp_current_changed|bwctrl_changed|dsm_k_changed|n_cnt_changed|m_cnt_changed|any_c_cnt_changed) + begin + dprio_temp_m_n_c_readdata_1_d = dprio_readdata; + dprio_next_state = FIVE; + end + else dprio_next_state = DPRIO_IDLE; + end + FIVE: + begin + dprio_write_done = 0; + dprio_temp_read_2 = 1'b1; + if (vco_changed|cp_current_changed|bwctrl_changed|dsm_k_changed|n_cnt_changed|m_cnt_changed|any_c_cnt_changed) + begin + //this is where DSM ready value comes. + //Need to store in a register to be used later + dprio_temp_m_n_c_readdata_2_d = dprio_readdata; + dprio_next_state = SIX; + end + else dprio_next_state = DPRIO_IDLE; + end + SIX: + begin + dprio_write_done = 0; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + dprio_next_state = SEVEN; + avmm_dprio_writedata = dprio_temp_m_n_c_readdata_1_q; + if (n_cnt_changed & !n_cnt_done_q) + begin + avmm_dprio_address = N_CNT_BYPASS_EN_ADDR; + avmm_dprio_writedata[5] = usr_n_cnt_bypass_en; + end + else if (m_cnt_changed & !m_cnt_done_q) + begin + avmm_dprio_address = M_CNT_BYPASS_EN_ADDR; + avmm_dprio_writedata[4] = usr_m_cnt_bypass_en; + end + else if (any_c_cnt_changed & !all_c_cnt_done_q) + begin + for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) + begin : c_cnt_write_bypass + if (fpll_1) + begin + if (i > 13) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; + avmm_dprio_writedata[i-14] = temp_c_cnt_bypass_en[i]; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; + avmm_dprio_writedata[i] = temp_c_cnt_bypass_en[i]; + break_loop = 1'b1; + end + end + end + else + begin + if (i < 4) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_BYPASS_EN_ADDR; + avmm_dprio_writedata[3-i] = temp_c_cnt_bypass_en[i]; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_BYPASS_EN_ADDR; + avmm_dprio_writedata[17-i] = temp_c_cnt_bypass_en[i]; + break_loop = 1'b1; + end + end + end + end + end + else if (dsm_k_changed & !dsm_k_done_q) + begin + avmm_dprio_write = 0; + end + else if (bwctrl_changed & !bwctrl_done_q) + begin + avmm_dprio_write = 0; + end + else if (cp_current_changed & !cp_current_done_q) + begin + avmm_dprio_write = 0; + end + else if (vco_changed & !vco_done_q) + begin + avmm_dprio_write = 0; + end + else dprio_next_state = DPRIO_IDLE; + end + SEVEN: + begin + dprio_write_done = 0; + dprio_next_state = EIGHT; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + avmm_dprio_writedata = dprio_temp_m_n_c_readdata_2_q; + if (n_cnt_changed & !n_cnt_done_q) + begin + avmm_dprio_address = N_CNT_ODD_DIV_EN_ADDR; + avmm_dprio_writedata[5] = usr_n_cnt_odd_duty_div_en; + n_cnt_done_d = 1'b1; + end + else if (m_cnt_changed & !m_cnt_done_q) + begin + avmm_dprio_address = M_CNT_ODD_DIV_EN_ADDR; + avmm_dprio_writedata[4] = usr_m_cnt_odd_duty_div_en; + m_cnt_done_d = 1'b1; + end + + else if (any_c_cnt_changed & !all_c_cnt_done_q) + begin + for (i = 0; (i < number_of_counters) & !break_loop; i = i + 1'b1) + begin : c_cnt_write_odd_div + if (fpll_1) + begin + if (i > 13) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; + avmm_dprio_writedata[i-14] = temp_c_cnt_odd_duty_div_en[i]; + c_cnt_done_d[i] = 1'b1; + //have to OR the signals to prevent + //overwriting of previous dones + c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; + avmm_dprio_writedata[i] = temp_c_cnt_odd_duty_div_en[i]; + c_cnt_done_d[i] = 1'b1; + c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; + break_loop = 1'b1; + end + end + end + else + begin + if (i < 4) + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_0_3_ODD_DIV_EN_ADDR; + avmm_dprio_writedata[3-i] = temp_c_cnt_odd_duty_div_en[i]; + c_cnt_done_d[i] = 1'b1; + //have to OR the signals to prevent + //overwriting of previous dones + c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; + break_loop = 1'b1; + end + end + else + begin + if (c_cnt_changed[i] & !c_cnt_done_q[i]) + begin + avmm_dprio_address = C_CNT_4_17_ODD_DIV_EN_ADDR; + avmm_dprio_writedata[17-i] = temp_c_cnt_odd_duty_div_en[i]; + c_cnt_done_d[i] = 1'b1; + c_cnt_done_d = c_cnt_done_d | c_cnt_done_q; + break_loop = 1'b1; + end + end + end + end + end + else if (dsm_k_changed & !dsm_k_done_q) + begin + avmm_dprio_address = DSM_K_READY_ADDR; + avmm_dprio_writedata[DSM_K_READY_BIT_INDEX] = 1'b0; + dsm_k_ready_false_done_d = 1'b1; + end + else if (bwctrl_changed & !bwctrl_done_q) + begin + avmm_dprio_address = BWCTRL_ADDR; + avmm_dprio_writedata[3:0] = usr_bwctrl_value; + bwctrl_done_d = 1'b1; + end + else if (cp_current_changed & !cp_current_done_q) + begin + avmm_dprio_address = CP_CURRENT_ADDR; + avmm_dprio_writedata[2:0] = usr_cp_current_value; + cp_current_done_d = 1'b1; + end + else if (vco_changed & !vco_done_q) + begin + avmm_dprio_address = VCO_ADDR; + avmm_dprio_writedata[8] = usr_vco_value; + vco_done_d = 1'b1; + end + + + //if all C_cnt that were changed are done, then assert all_c_cnt_done + if (c_cnt_done_d == c_cnt_changed) + all_c_cnt_done_d = 1'b1; + if (n_cnt_changed & n_cnt_done_d) + dprio_next_state = DPRIO_DONE; + if (any_c_cnt_changed & !all_c_cnt_done_d & !all_c_cnt_done_q) + dprio_next_state = ONE; + else if (m_cnt_changed & !m_cnt_done_d & !m_cnt_done_q) + dprio_next_state = ONE; + else if (dsm_k_changed & !dsm_k_ready_false_done_d) + dprio_next_state = TWO; + else if (dsm_k_changed & !dsm_k_done_q) + dprio_next_state = EIGHT; + else if (bwctrl_changed & !bwctrl_done_d) + dprio_next_state = TWO; + else if (cp_current_changed & !cp_current_done_d) + dprio_next_state = TWO; + else if (vco_changed & !vco_done_d) + dprio_next_state = TWO; + else + begin + dprio_next_state = DPRIO_DONE; + dprio_write_done = 1'b1; + end + end + //finish the rest of the DSM reads/writes + //writing k value, writing k_ready to 1. + EIGHT: + begin + dprio_write_done = 0; + dprio_next_state = NINE; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + if (dsm_k_changed & !dsm_k_done_q) + begin + avmm_dprio_address = DSM_K_FRACTIONAL_DIVISION_ADDR_0; + avmm_dprio_writedata[15:0] = usr_k_value[15:0]; + end + end + NINE: + begin + dprio_write_done = 0; + dprio_next_state = TEN; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + if (dsm_k_changed & !dsm_k_done_q) + begin + avmm_dprio_address = DSM_K_FRACTIONAL_DIVISION_ADDR_1; + avmm_dprio_writedata[15:0] = usr_k_value[31:16]; + end + end + TEN: + begin + dprio_write_done = 0; + dprio_next_state = ONE; + avmm_dprio_write = 1'b1; + avmm_dprio_byteen = 2'b11; + if (dsm_k_changed & !dsm_k_done_q) + begin + avmm_dprio_address = DSM_K_READY_ADDR; + //already have the readdata for DSM_K_READY_ADDR since we read it + //earlier. Just reuse here + avmm_dprio_writedata = dprio_temp_m_n_c_readdata_2_q; + avmm_dprio_writedata[DSM_K_READY_BIT_INDEX] = 1'b1; + dsm_k_done_d = 1'b1; + end + end + DPRIO_DONE: + begin + dprio_write_done = 1'b1; + if (dprio_start) dprio_next_state = DPRIO_IDLE; + else dprio_next_state = DPRIO_DONE; + end + DPRIO_IDLE: + begin + if (dprio_start) dprio_next_state = ONE; + else dprio_next_state = DPRIO_IDLE; + end + default: dprio_next_state = 4'bxxxx; + endcase + end + + end + + + //assert the waitreq signal according to the state of the slave + assign slave_waitrequest = (slave_mode==mode_WR) ? ((locked === 1'b1) ? (((current_state==WAIT_ON_LOCK) & !dprio_write_done) | !dps_done |reset|!dprio_init_done) : 1'b1) : 1'b0; + + // Read operations + always @(*) + begin + status = 0; + if (slave_mode == mode_POLL) + //asserting status to 1 if the slave is done. + status = (current_state == LOCKED); + end + //************************************************************// + //************************************************************// + //******************** READ STATE MACHINE ********************// + //************************************************************// + //************************************************************// + reg [1:0] current_read_state; + reg [1:0] next_read_state; + reg [5:0] slave_address_int_d; + reg [5:0] slave_address_int_q; + reg dprio_read_1; + reg [5:0] dprio_address_1; + reg [1:0] dprio_byteen_1; + reg [4:0] usr_cnt_sel_1; + localparam READ = 2'b00, READ_WAIT = 2'b01, READ_IDLE = 2'b10, READ_POST_WAIT = 2'b11; + + always @(*) + begin + if(next_read_state == READ_IDLE) + begin + read_waitrequest <= 1'b0; + end + else + begin + read_waitrequest <= 1'b1; + end + end + + always @(posedge clk) + begin + if (reset) + begin + current_read_state <= READ_IDLE; + slave_address_int_q <= 0; + slave_readdata_q <= 0; + end + else + begin + current_read_state <= next_read_state; + slave_address_int_q <= slave_address_int_d; + slave_readdata_q <= slave_readdata_d; + end + end + always @(*) + begin + dprio_read_1 = 0; + dprio_address_1 = 0; + dprio_byteen_1 = 0; + slave_address_int_d = 0; + slave_readdata_d = 0; + status_read = 0; + usr_cnt_sel_1 = 0; + case(current_read_state) + READ_IDLE: + begin + slave_address_int_d = 0; + next_read_state = READ_IDLE; + if ((current_state != WAIT_ON_LOCK) && slave_read) + begin + slave_address_int_d = slave_address; + if ((slave_address >= CNT_BASE) && (slave_address < CNT_BASE+18)) + begin + next_read_state = READ_WAIT; + dprio_byteen_1 = 2'b11; + dprio_read_1 = 1'b1; + usr_cnt_sel_1 = (slave_address[4:0] - CNT_BASE); + if (fpll_1) dprio_address_1 = C_CNT_0_DIV_ADDR + C_CNT_0_DIV_ADDR_DPRIO_1 - cnt_sel; + else dprio_address_1 = C_CNT_0_DIV_ADDR + cnt_sel; + end + else + begin + case (slave_address) + MODE_REG: + begin + next_read_state = READ_WAIT; + slave_readdata_d = slave_mode; + end + STATUS_REG: + begin + next_read_state = READ_WAIT; + status_read = 1'b1; + slave_readdata_d = status; + end + N_REG: + begin + dprio_byteen_1 = 2'b11; + dprio_read_1 = 1'b1; + dprio_address_1 = N_CNT_DIV_ADDR; + next_read_state = READ_WAIT; + end + M_REG: + begin + dprio_byteen_1 = 2'b11; + dprio_read_1 = 1'b1; + dprio_address_1 = M_CNT_DIV_ADDR; + next_read_state = READ_WAIT; + end + BWCTRL_REG: + begin + dprio_byteen_1 = 2'b11; + dprio_read_1 = 1'b1; + dprio_address_1 = BWCTRL_ADDR; + next_read_state = READ_WAIT; + end + CP_CURRENT_REG: + begin + dprio_byteen_1 = 2'b11; + dprio_read_1 = 1'b1; + dprio_address_1 = CP_CURRENT_ADDR; + next_read_state = READ_WAIT; + end + VCO_REG: + begin + dprio_byteen_1 = 2'b11; + dprio_read_1 = 1'b1; + dprio_address_1 = VCO_ADDR; + next_read_state = READ_WAIT; + end + ANY_DPRIO: + begin + dprio_byteen_1 = 2'b11; + dprio_read_1 = ~slave_writedata[22]; + dprio_address_1 = slave_writedata[5:0]; + next_read_state = READ_WAIT; + end + default : next_read_state = READ_IDLE; + endcase + end + end + else + next_read_state = READ_IDLE; + end + READ_WAIT: + begin + next_read_state = READ; + slave_address_int_d = slave_address_int_q; + case (slave_address_int_q) + MODE_REG: + begin + slave_readdata_d = slave_readdata_q; + end + STATUS_REG: + begin + slave_readdata_d = slave_readdata_q; + end + endcase + end + READ: + begin + next_read_state = READ_POST_WAIT; + slave_address_int_d = slave_address_int_q; + slave_readdata_d = dprio_readdata; + case (slave_address_int_q) + MODE_REG: + begin + slave_readdata_d = slave_readdata_q; + end + STATUS_REG: + begin + slave_readdata_d = slave_readdata_q; + end + BWCTRL_REG: + begin + slave_readdata_d = dprio_readdata[3:0]; + end + CP_CURRENT_REG: + begin + slave_readdata_d = dprio_readdata[2:0]; + end + VCO_REG: + begin + slave_readdata_d = dprio_readdata[8]; + end + ANY_DPRIO: + begin + slave_readdata_d = dprio_readdata; + end + endcase + end + READ_POST_WAIT: + begin + next_read_state = READ_IDLE; + end + default: next_read_state = 2'bxx; + endcase + end + + + dyn_phase_shift dyn_phase_shift_inst ( + .clk(clk), + .reset(reset), + .phase_done(phase_done), + .pll_start_valid(pll_start_valid), + .dps_changed(dps_changed), + .dps_changed_valid(dps_changed_valid), + .dprio_write_done(dprio_write_done), + .usr_num_shifts(usr_num_shifts), + .usr_cnt_sel(usr_cnt_sel|usr_cnt_sel_1), + .usr_up_dn(usr_up_dn), + .locked(locked), + .dps_done(dps_done), + .phase_en(phase_en), + .up_dn(up_dn), + .cnt_sel(cnt_sel)); + defparam dyn_phase_shift_inst.device_family = device_family; + + assign dprio_clk = clk; + self_reset self_reset_inst (mgmt_reset, clk, reset, dprio_init_reset); + + dprio_mux dprio_mux_inst ( + .init_dprio_address(init_dprio_address), + .init_dprio_read(init_dprio_read), + .init_dprio_byteen(init_dprio_byteen), + .init_dprio_write(init_dprio_write), + .init_dprio_writedata(init_dprio_writedata), + + + .init_atpgmode(init_atpgmode), + .init_mdio_dis(init_mdio_dis), + .init_scanen(init_scanen), + .init_ser_shift_load(init_ser_shift_load), + .dprio_init_done(dprio_init_done), + + // Inputs from avmm master + .avmm_dprio_address(avmm_dprio_address | dprio_address_1), + .avmm_dprio_read(avmm_dprio_read | dprio_read_1), + .avmm_dprio_byteen(avmm_dprio_byteen | dprio_byteen_1), + .avmm_dprio_write(avmm_dprio_write), + .avmm_dprio_writedata(avmm_dprio_writedata), + + .avmm_atpgmode(avmm_atpgmode), + .avmm_mdio_dis(avmm_mdio_dis), + .avmm_scanen(avmm_scanen), + + // Outputs to fpll + .dprio_address(dprio_address), + .dprio_read(dprio_read), + .dprio_byteen(dprio_byteen), + .dprio_write(dprio_write), + .dprio_writedata(dprio_writedata), + + .atpgmode(dprio_atpgmode), + .mdio_dis(dprio_mdio_dis), + .scanen(dprio_scanen), + .ser_shift_load(dprio_ser_shift_load) + ); + + + fpll_dprio_init fpll_dprio_init_inst ( + .clk(clk), + .reset_n(~reset), + .locked(locked), + + //outputs + .dprio_address(init_dprio_address), + .dprio_read(init_dprio_read), + .dprio_byteen(init_dprio_byteen), + .dprio_write(init_dprio_write), + .dprio_writedata(init_dprio_writedata), + + .atpgmode(init_atpgmode), + .mdio_dis(init_mdio_dis), + .scanen(init_scanen), + .ser_shift_load(init_ser_shift_load), + .dprio_init_done(dprio_init_done)); + + //address luts, to be reconfigged by the Fitter + //FPLL_1 or 0 address lut + generic_lcell_comb lcell_fpll_0_1 ( + .dataa(1'b0), + .combout (fpll_1)); + defparam lcell_fpll_0_1.lut_mask = 64'hAAAAAAAAAAAAAAAA; + defparam lcell_fpll_0_1.dont_touch = "on"; + defparam lcell_fpll_0_1.family = device_family; + + + wire dprio_read_combout; + generic_lcell_comb lcell_dprio_read ( + .dataa(fpll_1), + .datab(dprio_read), + .datac(1'b0), + .datad(1'b0), + .datae(1'b0), + .dataf(1'b0), + .combout (dprio_read_combout)); + defparam lcell_dprio_read.lut_mask = 64'hCCCCCCCCCCCCCCCC; + defparam lcell_dprio_read.dont_touch = "on"; + defparam lcell_dprio_read.family = device_family; + + + + + + //assign reconfig_to_pll signals + assign reconfig_to_pll[0] = dprio_clk; + assign reconfig_to_pll[1] = ~dprio_init_reset; + assign reconfig_to_pll[2] = dprio_write; + assign reconfig_to_pll[3] = dprio_read_combout; + assign reconfig_to_pll[9:4] = dprio_address; + assign reconfig_to_pll[25:10] = dprio_writedata; + assign reconfig_to_pll[27:26] = dprio_byteen; + assign reconfig_to_pll[28] = dprio_ser_shift_load; + assign reconfig_to_pll[29] = dprio_mdio_dis; + assign reconfig_to_pll[30] = phase_en; + assign reconfig_to_pll[31] = up_dn; + assign reconfig_to_pll[36:32] = cnt_sel; + assign reconfig_to_pll[37] = dprio_scanen; + assign reconfig_to_pll[38] = dprio_atpgmode; + //assign reconfig_to_pll[40:37] = clken; + assign reconfig_to_pll[63:39] = 0; + + //assign reconfig_from_pll signals + assign dprio_readdata = reconfig_from_pll [15:0]; + assign locked_orig = reconfig_from_pll [16]; + assign phase_done = reconfig_from_pll [17]; + +endmodule +module self_reset (input wire mgmt_reset, input wire clk, output wire reset, output wire init_reset); + + localparam RESET_COUNTER_VALUE = 3'd2; + localparam INITIAL_WAIT_VALUE = 9'd340; + reg [9:0]counter; + reg local_reset; + reg usr_mode_init_wait; + initial + begin + local_reset = 1'b1; + counter = 0; + usr_mode_init_wait = 0; + end + + always @(posedge clk) + begin + if (mgmt_reset) + begin + counter <= 0; + end + else + begin + if (!usr_mode_init_wait) + begin + if (counter == INITIAL_WAIT_VALUE) + begin + local_reset <= 0; + usr_mode_init_wait <= 1'b1; + counter <= 0; + end + else + begin + counter <= counter + 1'b1; + end + end + else + begin + if (counter == RESET_COUNTER_VALUE) + local_reset <= 0; + else + counter <= counter + 1'b1; + end + end + end + assign reset = mgmt_reset | local_reset; + assign init_reset = local_reset; +endmodule + +module dprio_mux ( + // Inputs from init block + input [ 5:0] init_dprio_address, + input init_dprio_read, + input [ 1:0] init_dprio_byteen, + input init_dprio_write, + input [15:0] init_dprio_writedata, + + input init_atpgmode, + input init_mdio_dis, + input init_scanen, + input init_ser_shift_load, + input dprio_init_done, + + // Inputs from avmm master + input [ 5:0] avmm_dprio_address, + input avmm_dprio_read, + input [ 1:0] avmm_dprio_byteen, + input avmm_dprio_write, + input [15:0] avmm_dprio_writedata, + + input avmm_atpgmode, + input avmm_mdio_dis, + input avmm_scanen, + input avmm_ser_shift_load, + + // Outputs to fpll + output [ 5:0] dprio_address, + output dprio_read, + output [ 1:0] dprio_byteen, + output dprio_write, + output [15:0] dprio_writedata, + + output atpgmode, + output mdio_dis, + output scanen, + output ser_shift_load +); + + assign dprio_address = dprio_init_done ? avmm_dprio_address : init_dprio_address; + assign dprio_read = dprio_init_done ? avmm_dprio_read : init_dprio_read; + assign dprio_byteen = dprio_init_done ? avmm_dprio_byteen : init_dprio_byteen; + assign dprio_write = dprio_init_done ? avmm_dprio_write : init_dprio_write; + assign dprio_writedata = dprio_init_done ? avmm_dprio_writedata : init_dprio_writedata; + + assign atpgmode = init_atpgmode; + assign scanen = init_scanen; + assign mdio_dis = init_mdio_dis; + assign ser_shift_load = init_ser_shift_load ; +endmodule +module fpll_dprio_init ( + input clk, + input reset_n, + input locked, + + output [ 5:0] dprio_address, + output dprio_read, + output [ 1:0] dprio_byteen, + output dprio_write, + output [15:0] dprio_writedata, + + output reg atpgmode, + output reg mdio_dis, + output reg scanen, + output reg ser_shift_load, + output reg dprio_init_done +); + + reg [1:0] rst_n = 2'b00; + reg [6:0] count = 7'd0; + reg init_done_forever; + + // Internal versions of control signals + wire int_mdio_dis; + wire int_ser_shift_load; + wire int_dprio_init_done; + wire int_atpgmode/*synthesis keep*/; + wire int_scanen/*synthesis keep*/; + + + assign dprio_address = count[6] ? 5'b0 : count[5:0] ; + assign dprio_byteen = 2'b11; // always enabled + assign dprio_write = ~count[6] & reset_n ; // write for first 64 cycles + assign dprio_read = 1'b0; + assign dprio_writedata = 16'd0; + + assign int_ser_shift_load = count[6] ? |count[2:1] : 1'b1; + assign int_mdio_dis = count[6] ? ~count[2] : 1'b1; + assign int_dprio_init_done = ~init_done_forever ? (count[6] ? &count[2:0] : 1'b0) + : 1'b1; + assign int_atpgmode = 0; + assign int_scanen = 0; + + initial begin + count = 7'd0; + init_done_forever = 0; + mdio_dis = 1'b1; + ser_shift_load = 1'b1; + dprio_init_done = 1'b0; + scanen = 1'b0; + atpgmode = 1'b0; + end + + // reset synch. + always @(posedge clk or negedge reset_n) + if(!reset_n) rst_n <= 2'b00; + else rst_n <= {rst_n[0],1'b1}; + + // counter + always @(posedge clk) + begin + if (!rst_n[1]) + init_done_forever <= 1'b0; + else + begin + if (count[6] && &count[1:0]) + init_done_forever <= 1'b1; + end + end + always @(posedge clk or negedge rst_n[1]) + begin + if(!rst_n[1]) + begin + count <= 7'd0; + end + else if(~int_dprio_init_done) + begin + count <= count + 7'd1; + end + else + begin + count <= count; + end + end + + // outputs + always @(posedge clk) begin + mdio_dis <= int_mdio_dis; + ser_shift_load <= int_ser_shift_load; + dprio_init_done <= int_dprio_init_done; + atpgmode <= int_atpgmode; + scanen <= int_scanen; + end + +endmodule +module dyn_phase_shift +#( + parameter device_family = "Stratix V" +) ( + + input wire clk, + input wire reset, + input wire phase_done, + input wire pll_start_valid, + input wire dps_changed, + input wire dprio_write_done, + input wire [15:0] usr_num_shifts, + input wire [4:0] usr_cnt_sel, + input wire usr_up_dn, + input wire locked, + + //output + output wire dps_done, + output reg phase_en, + output wire up_dn, + output wire dps_changed_valid, + output wire [4:0] cnt_sel); + + + + reg first_phase_shift_d; + reg first_phase_shift_q; + reg [15:0] phase_en_counter; + reg [3:0] dps_current_state; + reg [3:0] dps_next_state; + localparam DPS_START = 4'd0, DPS_WAIT_PHASE_DONE = 4'd1, DPS_DONE = 4'd2, DPS_WAIT_PHASE_EN = 4'd3, DPS_WAIT_DPRIO_WRITING = 4'd4, DPS_CHANGED = 4'd5; + localparam PHASE_EN_WAIT_COUNTER = 5'd1; + + reg [15:0] shifts_done_counter; + reg phase_done_final; + wire gnd /*synthesis keep*/; + + //fsm + //always block controlling the state regs + always @(posedge clk) + begin + if (reset) + begin + dps_current_state <= DPS_DONE; + end + else + begin + dps_current_state <= dps_next_state; + end + end + //the combinational part. assigning the next state + //this turns on the phase_done_final signal when phase_done does this: + //_____ ______ + // |______| + always @(*) + begin + phase_done_final = 0; + first_phase_shift_d = 0; + phase_en = 0; + dps_next_state = DPS_DONE; + case (dps_current_state) + DPS_START: + begin + phase_en = 1'b1; + dps_next_state = DPS_WAIT_PHASE_EN; + end + DPS_WAIT_PHASE_EN: + begin + phase_en = 1'b1; + if (first_phase_shift_q) + begin + first_phase_shift_d = 1'b1; + dps_next_state = DPS_WAIT_PHASE_EN; + end + else + begin + if (phase_en_counter == PHASE_EN_WAIT_COUNTER) + dps_next_state = DPS_WAIT_PHASE_DONE; + else dps_next_state = DPS_WAIT_PHASE_EN; + end + end + DPS_WAIT_PHASE_DONE: + begin + if (!phase_done | !locked) + begin + dps_next_state = DPS_WAIT_PHASE_DONE; + end + else + begin + if ((usr_num_shifts != shifts_done_counter) & (usr_num_shifts != 0)) + begin + dps_next_state = DPS_START; + phase_done_final = 1'b1; + end + else + begin + dps_next_state = DPS_DONE; + end + + end + end + DPS_DONE: + begin + phase_done_final = 0; + if (dps_changed) + dps_next_state = DPS_CHANGED; + else dps_next_state = DPS_DONE; + + end + DPS_CHANGED: + begin + if (pll_start_valid) + dps_next_state = DPS_WAIT_DPRIO_WRITING; + else + dps_next_state = DPS_CHANGED; + end + DPS_WAIT_DPRIO_WRITING: + begin + if (dprio_write_done) + dps_next_state = DPS_START; + else + dps_next_state = DPS_WAIT_DPRIO_WRITING; + end + + default: dps_next_state = 4'bxxxx; + endcase + + + end + + always @(posedge clk) + begin + + + if (dps_current_state == DPS_WAIT_PHASE_DONE) + phase_en_counter <= 0; + else if (dps_current_state == DPS_WAIT_PHASE_EN) + phase_en_counter <= phase_en_counter + 1'b1; + + if (reset) + begin + phase_en_counter <= 0; + shifts_done_counter <= 1'b1; + first_phase_shift_q <= 1; + end + else + begin + if (first_phase_shift_d) + first_phase_shift_q <= 0; + if (dps_done) + begin + shifts_done_counter <= 1'b1; + end + else + begin + if (phase_done_final & (dps_next_state!= DPS_DONE)) + shifts_done_counter <= shifts_done_counter + 1'b1; + else + shifts_done_counter <= shifts_done_counter; + end + end + end + + assign dps_changed_valid = (dps_current_state == DPS_CHANGED); + assign dps_done =(dps_current_state == DPS_DONE) | (dps_current_state == DPS_CHANGED); + assign up_dn = usr_up_dn; + assign gnd = 1'b0; + + //cnt select luts (5) + generic_lcell_comb lcell_cnt_sel_0 ( + .dataa(usr_cnt_sel[0]), + .datab(usr_cnt_sel[1]), + .datac(usr_cnt_sel[2]), + .datad(usr_cnt_sel[3]), + .datae(usr_cnt_sel[4]), + .dataf(gnd), + .combout (cnt_sel[0])); + defparam lcell_cnt_sel_0.lut_mask = 64'hAAAAAAAAAAAAAAAA; + defparam lcell_cnt_sel_0.dont_touch = "on"; + defparam lcell_cnt_sel_0.family = device_family; + generic_lcell_comb lcell_cnt_sel_1 ( + .dataa(usr_cnt_sel[0]), + .datab(usr_cnt_sel[1]), + .datac(usr_cnt_sel[2]), + .datad(usr_cnt_sel[3]), + .datae(usr_cnt_sel[4]), + .dataf(gnd), + .combout (cnt_sel[1])); + defparam lcell_cnt_sel_1.lut_mask = 64'hCCCCCCCCCCCCCCCC; + defparam lcell_cnt_sel_1.dont_touch = "on"; + defparam lcell_cnt_sel_1.family = device_family; + generic_lcell_comb lcell_cnt_sel_2 ( + .dataa(usr_cnt_sel[0]), + .datab(usr_cnt_sel[1]), + .datac(usr_cnt_sel[2]), + .datad(usr_cnt_sel[3]), + .datae(usr_cnt_sel[4]), + .dataf(gnd), + .combout (cnt_sel[2])); + defparam lcell_cnt_sel_2.lut_mask = 64'hF0F0F0F0F0F0F0F0; + defparam lcell_cnt_sel_2.dont_touch = "on"; + defparam lcell_cnt_sel_2.family = device_family; + generic_lcell_comb lcell_cnt_sel_3 ( + .dataa(usr_cnt_sel[0]), + .datab(usr_cnt_sel[1]), + .datac(usr_cnt_sel[2]), + .datad(usr_cnt_sel[3]), + .datae(usr_cnt_sel[4]), + .dataf(gnd), + .combout (cnt_sel[3])); + defparam lcell_cnt_sel_3.lut_mask = 64'hFF00FF00FF00FF00; + defparam lcell_cnt_sel_3.dont_touch = "on"; + defparam lcell_cnt_sel_3.family = device_family; + generic_lcell_comb lcell_cnt_sel_4 ( + .dataa(usr_cnt_sel[0]), + .datab(usr_cnt_sel[1]), + .datac(usr_cnt_sel[2]), + .datad(usr_cnt_sel[3]), + .datae(usr_cnt_sel[4]), + .dataf(gnd), + .combout (cnt_sel[4])); + defparam lcell_cnt_sel_4.lut_mask = 64'hFFFF0000FFFF0000; + defparam lcell_cnt_sel_4.dont_touch = "on"; + defparam lcell_cnt_sel_4.family = device_family; + + +endmodule + +module generic_lcell_comb +#( + //parameter + parameter family = "Stratix V", + parameter lut_mask = 64'hAAAAAAAAAAAAAAAA, + parameter dont_touch = "on" +) ( + + input dataa, + input datab, + input datac, + input datad, + input datae, + input dataf, + + output combout +); + + generate + if (family == "Stratix V") + begin + stratixv_lcell_comb lcell_inst ( + .dataa(dataa), + .datab(datab), + .datac(datac), + .datad(datad), + .datae(datae), + .dataf(dataf), + .combout (combout)); + defparam lcell_inst.lut_mask = lut_mask; + defparam lcell_inst.dont_touch = dont_touch; + end + else if (family == "Arria V") + begin + arriav_lcell_comb lcell_inst ( + .dataa(dataa), + .datab(datab), + .datac(datac), + .datad(datad), + .datae(datae), + .dataf(dataf), + .combout (combout)); + defparam lcell_inst.lut_mask = lut_mask; + defparam lcell_inst.dont_touch = dont_touch; + end + else if (family == "Arria V GZ") + begin + arriavgz_lcell_comb lcell_inst ( + .dataa(dataa), + .datab(datab), + .datac(datac), + .datad(datad), + .datae(datae), + .dataf(dataf), + .combout (combout)); + defparam lcell_inst.lut_mask = lut_mask; + defparam lcell_inst.dont_touch = dont_touch; + end + else if (family == "Cyclone V") + begin + cyclonev_lcell_comb lcell_inst ( + .dataa(dataa), + .datab(datab), + .datac(datac), + .datad(datad), + .datae(datae), + .dataf(dataf), + .combout (combout)); + defparam lcell_inst.lut_mask = lut_mask; + defparam lcell_inst.dont_touch = dont_touch; + end + endgenerate +endmodule diff --git a/sys/pll_cfg/altera_pll_reconfig_top.v b/sys/pll_cfg/altera_pll_reconfig_top.v index c6d27bf..c1bfa8b 100644 --- a/sys/pll_cfg/altera_pll_reconfig_top.v +++ b/sys/pll_cfg/altera_pll_reconfig_top.v @@ -11,418 +11,418 @@ // agreement for further details. -`timescale 1ps/1ps - -module altera_pll_reconfig_top -#( - parameter reconf_width = 64, - parameter device_family = "Stratix V", - parameter RECONFIG_ADDR_WIDTH = 6, - parameter RECONFIG_DATA_WIDTH = 32, - - parameter ROM_ADDR_WIDTH = 9, - parameter ROM_DATA_WIDTH = 32, - parameter ROM_NUM_WORDS = 512, - - parameter ENABLE_MIF = 0, - parameter MIF_FILE_NAME = "", - - parameter ENABLE_BYTEENABLE = 0, - parameter BYTEENABLE_WIDTH = 4, - parameter WAIT_FOR_LOCK = 1 -) ( - - //input - input wire mgmt_clk, - input wire mgmt_reset, - - - //conduits - output wire [reconf_width-1:0] reconfig_to_pll, - input wire [reconf_width-1:0] reconfig_from_pll, - - // user data (avalon-MM slave interface) - output wire [RECONFIG_DATA_WIDTH-1:0] mgmt_readdata, - output wire mgmt_waitrequest, - input wire [RECONFIG_ADDR_WIDTH-1:0] mgmt_address, - input wire mgmt_read, - input wire mgmt_write, - input wire [RECONFIG_DATA_WIDTH-1:0] mgmt_writedata, - - //conditional input - input wire [BYTEENABLE_WIDTH-1:0] mgmt_byteenable -); - -localparam NM28_START_REG = 6'b000010; -localparam NM20_START_REG = 9'b000000000; -localparam NM20_MIFSTART_ADDR = 9'b000010000; - -localparam MIF_STATE_DONE = 2'b00; -localparam MIF_STATE_START = 2'b01; -localparam MIF_STATE_BUSY = 2'b10; - -wire mgmt_byteenable_write; -assign mgmt_byteenable_write = (ENABLE_BYTEENABLE == 1) ? - ((mgmt_byteenable == {BYTEENABLE_WIDTH{1'b1}}) ? mgmt_write : 1'b0) : - mgmt_write; - -generate -if (device_family == "Arria 10") -begin:nm20_reconfig - if(ENABLE_MIF == 1) - begin:mif_reconfig_20nm // Generate Reconfig with MIF - - // MIF-related regs/wires - reg [RECONFIG_ADDR_WIDTH-1:0] reconfig_mgmt_addr; - reg reconfig_mgmt_read; - reg reconfig_mgmt_write; - reg [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_writedata; - wire reconfig_mgmt_waitrequest; - wire [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_readdata; - - wire [RECONFIG_ADDR_WIDTH-1:0] mif2reconfig_addr; - wire mif_busy; - wire mif2reconfig_read; - wire mif2reconfig_write; - wire [RECONFIG_DATA_WIDTH-1:0] mif2reconfig_writedata; - wire [ROM_ADDR_WIDTH-1:0] mif_base_addr; - reg mif_select; - //wire mif_user_start; // start signal provided by user to start mif - //reg user_start; - - reg [1:0] mif_curstate; - reg [1:0] mif_nextstate; - - wire mif_start; //start signal to mif reader - - assign mgmt_waitrequest = reconfig_mgmt_waitrequest | mif_busy;// | user_start; - // Don't output readdata if MIF streaming is taking place - assign mgmt_readdata = (mif_select) ? 32'b0 : reconfig_mgmt_readdata; - - //user must lower this by the time mif streaming is done - suggest to lower after 1 cycle - assign mif_start = mgmt_byteenable_write & (mgmt_address == NM20_MIFSTART_ADDR); - - //mif base addr is initially specified by the user - assign mif_base_addr = mgmt_writedata[ROM_ADDR_WIDTH-1:0]; - - //MIF statemachine - always @(posedge mgmt_clk) - begin - if(mgmt_reset) - mif_curstate <= MIF_STATE_DONE; - else - mif_curstate <= mif_nextstate; - end - - always @(*) - begin - case (mif_curstate) - MIF_STATE_DONE: - begin - if(mif_start) - mif_nextstate <= MIF_STATE_START; - else - mif_nextstate <= MIF_STATE_DONE; - end - MIF_STATE_START: - begin - mif_nextstate <= MIF_STATE_BUSY; - end - MIF_STATE_BUSY: - begin - if(mif_busy) - mif_nextstate <= MIF_STATE_BUSY; - else - mif_nextstate <= MIF_STATE_DONE; - end - endcase - end - - //Mif muxes - always @(*) - begin - if (mgmt_reset) - begin - reconfig_mgmt_addr <= 0; - reconfig_mgmt_read <= 0; - reconfig_mgmt_write <= 0; - reconfig_mgmt_writedata <= 0; - //user_start <= 0; - end - else - begin - reconfig_mgmt_addr <= (mif_select) ? mif2reconfig_addr : mgmt_address; - reconfig_mgmt_read <= (mif_select) ? mif2reconfig_read : mgmt_read; - reconfig_mgmt_write <= (mif_select) ? mif2reconfig_write : mgmt_byteenable_write; - reconfig_mgmt_writedata <= (mif_select) ? mif2reconfig_writedata : mgmt_writedata; - //user_start <= (mgmt_address == NM20_START_REG && mgmt_write == 1'b1) ? 1'b1 : 1'b0; - end - end - - always @(*) - begin - if (mgmt_reset) - begin - mif_select <= 0; - end - else - begin - mif_select <= (mif_start || mif_busy) ? 1'b1 : 1'b0; - end - end - - twentynm_pll_reconfig_mif_reader - #( - .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), - .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), - .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), - .ROM_DATA_WIDTH(ROM_DATA_WIDTH), - .ROM_NUM_WORDS(ROM_NUM_WORDS), - .DEVICE_FAMILY(device_family), - .ENABLE_MIF(ENABLE_MIF), - .MIF_FILE_NAME(MIF_FILE_NAME) - ) twentynm_pll_reconfig_mif_reader_inst0 ( - .mif_clk(mgmt_clk), - .mif_rst(mgmt_reset), - - //Altera_PLL Reconfig interface - //inputs - .reconfig_waitrequest(reconfig_mgmt_waitrequest), - //.reconfig_read_data(reconfig_mgmt_readdata), - //outputs - .reconfig_write_data(mif2reconfig_writedata), - .reconfig_addr(mif2reconfig_addr), - .reconfig_write(mif2reconfig_write), - .reconfig_read(mif2reconfig_read), - - //MIF Ctrl Interface - //inputs - .mif_base_addr(mif_base_addr), - .mif_start(mif_start), - //outputs - .mif_busy(mif_busy) - ); - - // ------ END MIF-RELATED MANAGEMENT ------ - - twentynm_iopll_reconfig_core - #( - .WAIT_FOR_LOCK(WAIT_FOR_LOCK) - ) twentynm_iopll_reconfig_core_inst ( - // Inputs - .mgmt_clk(mgmt_clk), - .mgmt_rst_n(~mgmt_reset), - .mgmt_read(reconfig_mgmt_read), - .mgmt_write(reconfig_mgmt_write), - .mgmt_address(reconfig_mgmt_addr), - .mgmt_writedata(reconfig_mgmt_writedata), - - // Outputs - .mgmt_readdata(reconfig_mgmt_readdata), - .mgmt_waitrequest(reconfig_mgmt_waitrequest), - - // PLL Conduits - .reconfig_to_pll(reconfig_to_pll), - .reconfig_from_pll(reconfig_from_pll) - ); - - end // End generate reconfig with MIF - else - begin:reconfig_core_20nm - twentynm_iopll_reconfig_core - #( - .WAIT_FOR_LOCK(WAIT_FOR_LOCK) - ) twentynm_iopll_reconfig_core_inst ( - // Inputs - .mgmt_clk(mgmt_clk), - .mgmt_rst_n(~mgmt_reset), - .mgmt_read(mgmt_read), - .mgmt_write(mgmt_byteenable_write), - .mgmt_address(mgmt_address), - .mgmt_writedata(mgmt_writedata), - - // Outputs - .mgmt_readdata(mgmt_readdata), - .mgmt_waitrequest(mgmt_waitrequest), - - // PLL Conduits - .reconfig_to_pll(reconfig_to_pll), - .reconfig_from_pll(reconfig_from_pll) - ); - end -end // 20nm reconfig -else -begin:NM28_reconfig - if (ENABLE_MIF == 1) - begin:mif_reconfig // Generate Reconfig with MIF - - // MIF-related regs/wires - reg [RECONFIG_ADDR_WIDTH-1:0] reconfig_mgmt_addr; - reg reconfig_mgmt_read; - reg reconfig_mgmt_write; - reg [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_writedata; - wire reconfig_mgmt_waitrequest; - wire [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_readdata; - - wire [RECONFIG_ADDR_WIDTH-1:0] mif2reconfig_addr; - wire mif2reconfig_busy; - wire mif2reconfig_read; - wire mif2reconfig_write; - wire [RECONFIG_DATA_WIDTH-1:0] mif2reconfig_writedata; - wire [ROM_ADDR_WIDTH-1:0] mif_base_addr; - reg mif_select; - reg user_start; - - wire reconfig2mif_start_out; - - assign mgmt_waitrequest = reconfig_mgmt_waitrequest | mif2reconfig_busy | user_start; - // Don't output readdata if MIF streaming is taking place - assign mgmt_readdata = (mif_select) ? 32'b0 : reconfig_mgmt_readdata; - - always @(posedge mgmt_clk) - begin - if (mgmt_reset) - begin - reconfig_mgmt_addr <= 0; - reconfig_mgmt_read <= 0; - reconfig_mgmt_write <= 0; - reconfig_mgmt_writedata <= 0; - user_start <= 0; - end - else - begin - reconfig_mgmt_addr <= (mif_select) ? mif2reconfig_addr : mgmt_address; - reconfig_mgmt_read <= (mif_select) ? mif2reconfig_read : mgmt_read; - reconfig_mgmt_write <= (mif_select) ? mif2reconfig_write : mgmt_byteenable_write; - reconfig_mgmt_writedata <= (mif_select) ? mif2reconfig_writedata : mgmt_writedata; - user_start <= (mgmt_address == NM28_START_REG && mgmt_byteenable_write == 1'b1) ? 1'b1 : 1'b0; - end - end - - always @(*) - begin - if (mgmt_reset) - begin - mif_select <= 0; - end - else - begin - mif_select <= (reconfig2mif_start_out || mif2reconfig_busy) ? 1'b1 : 1'b0; - end - end - - altera_pll_reconfig_mif_reader - #( - .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), - .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), - .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), - .ROM_DATA_WIDTH(ROM_DATA_WIDTH), - .ROM_NUM_WORDS(ROM_NUM_WORDS), - .DEVICE_FAMILY(device_family), - .ENABLE_MIF(ENABLE_MIF), - .MIF_FILE_NAME(MIF_FILE_NAME) - ) altera_pll_reconfig_mif_reader_inst0 ( - .mif_clk(mgmt_clk), - .mif_rst(mgmt_reset), - - //Altera_PLL Reconfig interface - //inputs - .reconfig_busy(reconfig_mgmt_waitrequest), - .reconfig_read_data(reconfig_mgmt_readdata), - //outputs - .reconfig_write_data(mif2reconfig_writedata), - .reconfig_addr(mif2reconfig_addr), - .reconfig_write(mif2reconfig_write), - .reconfig_read(mif2reconfig_read), - - //MIF Ctrl Interface - //inputs - .mif_base_addr(mif_base_addr), - .mif_start(reconfig2mif_start_out), - //outputs - .mif_busy(mif2reconfig_busy) - ); - - // ------ END MIF-RELATED MANAGEMENT ------ - - - altera_pll_reconfig_core - #( - .reconf_width(reconf_width), - .device_family(device_family), - .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), - .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), - .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), - .ROM_DATA_WIDTH(ROM_DATA_WIDTH), - .ROM_NUM_WORDS(ROM_NUM_WORDS) - ) altera_pll_reconfig_core_inst0 ( - //inputs - .mgmt_clk(mgmt_clk), - .mgmt_reset(mgmt_reset), - - //PLL interface conduits - .reconfig_to_pll(reconfig_to_pll), - .reconfig_from_pll(reconfig_from_pll), - - //User data outputs - .mgmt_readdata(reconfig_mgmt_readdata), - .mgmt_waitrequest(reconfig_mgmt_waitrequest), - - //User data inputs - .mgmt_address(reconfig_mgmt_addr), - .mgmt_read(reconfig_mgmt_read), - .mgmt_write(reconfig_mgmt_write), - .mgmt_writedata(reconfig_mgmt_writedata), - - // other - .mif_start_out(reconfig2mif_start_out), - .mif_base_addr(mif_base_addr) - ); - - end // End generate reconfig with MIF - else - begin:reconfig_core // Generate Reconfig core only - - wire reconfig2mif_start_out; - wire [ROM_ADDR_WIDTH-1:0] mif_base_addr; - - altera_pll_reconfig_core - #( - .reconf_width(reconf_width), - .device_family(device_family), - .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), - .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), - .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), - .ROM_DATA_WIDTH(ROM_DATA_WIDTH), - .ROM_NUM_WORDS(ROM_NUM_WORDS) - ) altera_pll_reconfig_core_inst0 ( - //inputs - .mgmt_clk(mgmt_clk), - .mgmt_reset(mgmt_reset), - - //PLL interface conduits - .reconfig_to_pll(reconfig_to_pll), - .reconfig_from_pll(reconfig_from_pll), - - //User data outputs - .mgmt_readdata(mgmt_readdata), - .mgmt_waitrequest(mgmt_waitrequest), - - //User data inputs - .mgmt_address(mgmt_address), - .mgmt_read(mgmt_read), - .mgmt_write(mgmt_byteenable_write), - .mgmt_writedata(mgmt_writedata), - - // other - .mif_start_out(reconfig2mif_start_out), - .mif_base_addr(mif_base_addr) - ); - - - end // End generate reconfig core only -end // End 28nm Reconfig -endgenerate - -endmodule - +`timescale 1ps/1ps + +module altera_pll_reconfig_top +#( + parameter reconf_width = 64, + parameter device_family = "Stratix V", + parameter RECONFIG_ADDR_WIDTH = 6, + parameter RECONFIG_DATA_WIDTH = 32, + + parameter ROM_ADDR_WIDTH = 9, + parameter ROM_DATA_WIDTH = 32, + parameter ROM_NUM_WORDS = 512, + + parameter ENABLE_MIF = 0, + parameter MIF_FILE_NAME = "", + + parameter ENABLE_BYTEENABLE = 0, + parameter BYTEENABLE_WIDTH = 4, + parameter WAIT_FOR_LOCK = 1 +) ( + + //input + input wire mgmt_clk, + input wire mgmt_reset, + + + //conduits + output wire [reconf_width-1:0] reconfig_to_pll, + input wire [reconf_width-1:0] reconfig_from_pll, + + // user data (avalon-MM slave interface) + output wire [RECONFIG_DATA_WIDTH-1:0] mgmt_readdata, + output wire mgmt_waitrequest, + input wire [RECONFIG_ADDR_WIDTH-1:0] mgmt_address, + input wire mgmt_read, + input wire mgmt_write, + input wire [RECONFIG_DATA_WIDTH-1:0] mgmt_writedata, + + //conditional input + input wire [BYTEENABLE_WIDTH-1:0] mgmt_byteenable +); + +localparam NM28_START_REG = 6'b000010; +localparam NM20_START_REG = 9'b000000000; +localparam NM20_MIFSTART_ADDR = 9'b000010000; + +localparam MIF_STATE_DONE = 2'b00; +localparam MIF_STATE_START = 2'b01; +localparam MIF_STATE_BUSY = 2'b10; + +wire mgmt_byteenable_write; +assign mgmt_byteenable_write = (ENABLE_BYTEENABLE == 1) ? + ((mgmt_byteenable == {BYTEENABLE_WIDTH{1'b1}}) ? mgmt_write : 1'b0) : + mgmt_write; + +generate +if (device_family == "Arria 10") +begin:nm20_reconfig + if(ENABLE_MIF == 1) + begin:mif_reconfig_20nm // Generate Reconfig with MIF + + // MIF-related regs/wires + reg [RECONFIG_ADDR_WIDTH-1:0] reconfig_mgmt_addr; + reg reconfig_mgmt_read; + reg reconfig_mgmt_write; + reg [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_writedata; + wire reconfig_mgmt_waitrequest; + wire [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_readdata; + + wire [RECONFIG_ADDR_WIDTH-1:0] mif2reconfig_addr; + wire mif_busy; + wire mif2reconfig_read; + wire mif2reconfig_write; + wire [RECONFIG_DATA_WIDTH-1:0] mif2reconfig_writedata; + wire [ROM_ADDR_WIDTH-1:0] mif_base_addr; + reg mif_select; + //wire mif_user_start; // start signal provided by user to start mif + //reg user_start; + + reg [1:0] mif_curstate; + reg [1:0] mif_nextstate; + + wire mif_start; //start signal to mif reader + + assign mgmt_waitrequest = reconfig_mgmt_waitrequest | mif_busy;// | user_start; + // Don't output readdata if MIF streaming is taking place + assign mgmt_readdata = (mif_select) ? 32'b0 : reconfig_mgmt_readdata; + + //user must lower this by the time mif streaming is done - suggest to lower after 1 cycle + assign mif_start = mgmt_byteenable_write & (mgmt_address == NM20_MIFSTART_ADDR); + + //mif base addr is initially specified by the user + assign mif_base_addr = mgmt_writedata[ROM_ADDR_WIDTH-1:0]; + + //MIF statemachine + always @(posedge mgmt_clk) + begin + if(mgmt_reset) + mif_curstate <= MIF_STATE_DONE; + else + mif_curstate <= mif_nextstate; + end + + always @(*) + begin + case (mif_curstate) + MIF_STATE_DONE: + begin + if(mif_start) + mif_nextstate <= MIF_STATE_START; + else + mif_nextstate <= MIF_STATE_DONE; + end + MIF_STATE_START: + begin + mif_nextstate <= MIF_STATE_BUSY; + end + MIF_STATE_BUSY: + begin + if(mif_busy) + mif_nextstate <= MIF_STATE_BUSY; + else + mif_nextstate <= MIF_STATE_DONE; + end + endcase + end + + //Mif muxes + always @(*) + begin + if (mgmt_reset) + begin + reconfig_mgmt_addr <= 0; + reconfig_mgmt_read <= 0; + reconfig_mgmt_write <= 0; + reconfig_mgmt_writedata <= 0; + //user_start <= 0; + end + else + begin + reconfig_mgmt_addr <= (mif_select) ? mif2reconfig_addr : mgmt_address; + reconfig_mgmt_read <= (mif_select) ? mif2reconfig_read : mgmt_read; + reconfig_mgmt_write <= (mif_select) ? mif2reconfig_write : mgmt_byteenable_write; + reconfig_mgmt_writedata <= (mif_select) ? mif2reconfig_writedata : mgmt_writedata; + //user_start <= (mgmt_address == NM20_START_REG && mgmt_write == 1'b1) ? 1'b1 : 1'b0; + end + end + + always @(*) + begin + if (mgmt_reset) + begin + mif_select <= 0; + end + else + begin + mif_select <= (mif_start || mif_busy) ? 1'b1 : 1'b0; + end + end + + twentynm_pll_reconfig_mif_reader + #( + .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), + .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), + .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), + .ROM_DATA_WIDTH(ROM_DATA_WIDTH), + .ROM_NUM_WORDS(ROM_NUM_WORDS), + .DEVICE_FAMILY(device_family), + .ENABLE_MIF(ENABLE_MIF), + .MIF_FILE_NAME(MIF_FILE_NAME) + ) twentynm_pll_reconfig_mif_reader_inst0 ( + .mif_clk(mgmt_clk), + .mif_rst(mgmt_reset), + + //Altera_PLL Reconfig interface + //inputs + .reconfig_waitrequest(reconfig_mgmt_waitrequest), + //.reconfig_read_data(reconfig_mgmt_readdata), + //outputs + .reconfig_write_data(mif2reconfig_writedata), + .reconfig_addr(mif2reconfig_addr), + .reconfig_write(mif2reconfig_write), + .reconfig_read(mif2reconfig_read), + + //MIF Ctrl Interface + //inputs + .mif_base_addr(mif_base_addr), + .mif_start(mif_start), + //outputs + .mif_busy(mif_busy) + ); + + // ------ END MIF-RELATED MANAGEMENT ------ + + twentynm_iopll_reconfig_core + #( + .WAIT_FOR_LOCK(WAIT_FOR_LOCK) + ) twentynm_iopll_reconfig_core_inst ( + // Inputs + .mgmt_clk(mgmt_clk), + .mgmt_rst_n(~mgmt_reset), + .mgmt_read(reconfig_mgmt_read), + .mgmt_write(reconfig_mgmt_write), + .mgmt_address(reconfig_mgmt_addr), + .mgmt_writedata(reconfig_mgmt_writedata), + + // Outputs + .mgmt_readdata(reconfig_mgmt_readdata), + .mgmt_waitrequest(reconfig_mgmt_waitrequest), + + // PLL Conduits + .reconfig_to_pll(reconfig_to_pll), + .reconfig_from_pll(reconfig_from_pll) + ); + + end // End generate reconfig with MIF + else + begin:reconfig_core_20nm + twentynm_iopll_reconfig_core + #( + .WAIT_FOR_LOCK(WAIT_FOR_LOCK) + ) twentynm_iopll_reconfig_core_inst ( + // Inputs + .mgmt_clk(mgmt_clk), + .mgmt_rst_n(~mgmt_reset), + .mgmt_read(mgmt_read), + .mgmt_write(mgmt_byteenable_write), + .mgmt_address(mgmt_address), + .mgmt_writedata(mgmt_writedata), + + // Outputs + .mgmt_readdata(mgmt_readdata), + .mgmt_waitrequest(mgmt_waitrequest), + + // PLL Conduits + .reconfig_to_pll(reconfig_to_pll), + .reconfig_from_pll(reconfig_from_pll) + ); + end +end // 20nm reconfig +else +begin:NM28_reconfig + if (ENABLE_MIF == 1) + begin:mif_reconfig // Generate Reconfig with MIF + + // MIF-related regs/wires + reg [RECONFIG_ADDR_WIDTH-1:0] reconfig_mgmt_addr; + reg reconfig_mgmt_read; + reg reconfig_mgmt_write; + reg [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_writedata; + wire reconfig_mgmt_waitrequest; + wire [RECONFIG_DATA_WIDTH-1:0] reconfig_mgmt_readdata; + + wire [RECONFIG_ADDR_WIDTH-1:0] mif2reconfig_addr; + wire mif2reconfig_busy; + wire mif2reconfig_read; + wire mif2reconfig_write; + wire [RECONFIG_DATA_WIDTH-1:0] mif2reconfig_writedata; + wire [ROM_ADDR_WIDTH-1:0] mif_base_addr; + reg mif_select; + reg user_start; + + wire reconfig2mif_start_out; + + assign mgmt_waitrequest = reconfig_mgmt_waitrequest | mif2reconfig_busy | user_start; + // Don't output readdata if MIF streaming is taking place + assign mgmt_readdata = (mif_select) ? 32'b0 : reconfig_mgmt_readdata; + + always @(posedge mgmt_clk) + begin + if (mgmt_reset) + begin + reconfig_mgmt_addr <= 0; + reconfig_mgmt_read <= 0; + reconfig_mgmt_write <= 0; + reconfig_mgmt_writedata <= 0; + user_start <= 0; + end + else + begin + reconfig_mgmt_addr <= (mif_select) ? mif2reconfig_addr : mgmt_address; + reconfig_mgmt_read <= (mif_select) ? mif2reconfig_read : mgmt_read; + reconfig_mgmt_write <= (mif_select) ? mif2reconfig_write : mgmt_byteenable_write; + reconfig_mgmt_writedata <= (mif_select) ? mif2reconfig_writedata : mgmt_writedata; + user_start <= (mgmt_address == NM28_START_REG && mgmt_byteenable_write == 1'b1) ? 1'b1 : 1'b0; + end + end + + always @(*) + begin + if (mgmt_reset) + begin + mif_select <= 0; + end + else + begin + mif_select <= (reconfig2mif_start_out || mif2reconfig_busy) ? 1'b1 : 1'b0; + end + end + + altera_pll_reconfig_mif_reader + #( + .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), + .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), + .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), + .ROM_DATA_WIDTH(ROM_DATA_WIDTH), + .ROM_NUM_WORDS(ROM_NUM_WORDS), + .DEVICE_FAMILY(device_family), + .ENABLE_MIF(ENABLE_MIF), + .MIF_FILE_NAME(MIF_FILE_NAME) + ) altera_pll_reconfig_mif_reader_inst0 ( + .mif_clk(mgmt_clk), + .mif_rst(mgmt_reset), + + //Altera_PLL Reconfig interface + //inputs + .reconfig_busy(reconfig_mgmt_waitrequest), + .reconfig_read_data(reconfig_mgmt_readdata), + //outputs + .reconfig_write_data(mif2reconfig_writedata), + .reconfig_addr(mif2reconfig_addr), + .reconfig_write(mif2reconfig_write), + .reconfig_read(mif2reconfig_read), + + //MIF Ctrl Interface + //inputs + .mif_base_addr(mif_base_addr), + .mif_start(reconfig2mif_start_out), + //outputs + .mif_busy(mif2reconfig_busy) + ); + + // ------ END MIF-RELATED MANAGEMENT ------ + + + altera_pll_reconfig_core + #( + .reconf_width(reconf_width), + .device_family(device_family), + .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), + .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), + .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), + .ROM_DATA_WIDTH(ROM_DATA_WIDTH), + .ROM_NUM_WORDS(ROM_NUM_WORDS) + ) altera_pll_reconfig_core_inst0 ( + //inputs + .mgmt_clk(mgmt_clk), + .mgmt_reset(mgmt_reset), + + //PLL interface conduits + .reconfig_to_pll(reconfig_to_pll), + .reconfig_from_pll(reconfig_from_pll), + + //User data outputs + .mgmt_readdata(reconfig_mgmt_readdata), + .mgmt_waitrequest(reconfig_mgmt_waitrequest), + + //User data inputs + .mgmt_address(reconfig_mgmt_addr), + .mgmt_read(reconfig_mgmt_read), + .mgmt_write(reconfig_mgmt_write), + .mgmt_writedata(reconfig_mgmt_writedata), + + // other + .mif_start_out(reconfig2mif_start_out), + .mif_base_addr(mif_base_addr) + ); + + end // End generate reconfig with MIF + else + begin:reconfig_core // Generate Reconfig core only + + wire reconfig2mif_start_out; + wire [ROM_ADDR_WIDTH-1:0] mif_base_addr; + + altera_pll_reconfig_core + #( + .reconf_width(reconf_width), + .device_family(device_family), + .RECONFIG_ADDR_WIDTH(RECONFIG_ADDR_WIDTH), + .RECONFIG_DATA_WIDTH(RECONFIG_DATA_WIDTH), + .ROM_ADDR_WIDTH(ROM_ADDR_WIDTH), + .ROM_DATA_WIDTH(ROM_DATA_WIDTH), + .ROM_NUM_WORDS(ROM_NUM_WORDS) + ) altera_pll_reconfig_core_inst0 ( + //inputs + .mgmt_clk(mgmt_clk), + .mgmt_reset(mgmt_reset), + + //PLL interface conduits + .reconfig_to_pll(reconfig_to_pll), + .reconfig_from_pll(reconfig_from_pll), + + //User data outputs + .mgmt_readdata(mgmt_readdata), + .mgmt_waitrequest(mgmt_waitrequest), + + //User data inputs + .mgmt_address(mgmt_address), + .mgmt_read(mgmt_read), + .mgmt_write(mgmt_byteenable_write), + .mgmt_writedata(mgmt_writedata), + + // other + .mif_start_out(reconfig2mif_start_out), + .mif_base_addr(mif_base_addr) + ); + + + end // End generate reconfig core only +end // End 28nm Reconfig +endgenerate + +endmodule + diff --git a/sys/pll_hdmi.13.qip b/sys/pll_hdmi.13.qip index 705d514..76def89 100644 --- a/sys/pll_hdmi.13.qip +++ b/sys/pll_hdmi.13.qip @@ -6,7 +6,11 @@ set_global_assignment -name SYNTHESIS_ONLY_QIP ON set_global_assignment -library "pll_hdmi" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_hdmi.v"] set_global_assignment -library "pll_hdmi" -name VERILOG_FILE [file join $::quartus(qip_path) "pll_hdmi/pll_hdmi_0002.v"] -set_global_assignment -library "pll_hdmi" -name QIP_FILE [file join $::quartus(qip_path) "pll_hdmi/pll_hdmi_0002_q13.qip"] + +set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_CHANNEL_SPACING "0.0 KHz" -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_AUTO_RESET ON -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" +set_instance_assignment -name PLL_BANDWIDTH_PRESET AUTO -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" set_global_assignment -entity "pll_hdmi_0002" -library "pll_hdmi" -name IP_TOOL_NAME "altera_pll" set_global_assignment -entity "pll_hdmi_0002" -library "pll_hdmi" -name IP_TOOL_VERSION "13.1" diff --git a/sys/pll_hdmi.v b/sys/pll_hdmi.v index 52a9de9..0cefd25 100644 --- a/sys/pll_hdmi.v +++ b/sys/pll_hdmi.v @@ -1,256 +1,256 @@ -// megafunction wizard: %Altera PLL v17.0% -// GENERATION: XML -// pll_hdmi.v - -// Generated using ACDS version 17.0 598 - -`timescale 1 ps / 1 ps -module pll_hdmi ( - input wire refclk, // refclk.clk - input wire rst, // reset.reset - output wire outclk_0, // outclk0.clk - input wire [63:0] reconfig_to_pll, // reconfig_to_pll.reconfig_to_pll - output wire [63:0] reconfig_from_pll // reconfig_from_pll.reconfig_from_pll - ); - - pll_hdmi_0002 pll_hdmi_inst ( - .refclk (refclk), // refclk.clk - .rst (rst), // reset.reset - .outclk_0 (outclk_0), // outclk0.clk - .reconfig_to_pll (reconfig_to_pll), // reconfig_to_pll.reconfig_to_pll - .reconfig_from_pll (reconfig_from_pll), // reconfig_from_pll.reconfig_from_pll - .locked () // (terminated) - ); - -endmodule -// Retrieval info: -// -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// Retrieval info: -// IPFS_FILES : pll_hdmi.vo -// RELATED_FILES: pll_hdmi.v, pll_hdmi_0002.v +// megafunction wizard: %Altera PLL v17.0% +// GENERATION: XML +// pll_hdmi.v + +// Generated using ACDS version 17.0 598 + +`timescale 1 ps / 1 ps +module pll_hdmi ( + input wire refclk, // refclk.clk + input wire rst, // reset.reset + output wire outclk_0, // outclk0.clk + input wire [63:0] reconfig_to_pll, // reconfig_to_pll.reconfig_to_pll + output wire [63:0] reconfig_from_pll // reconfig_from_pll.reconfig_from_pll + ); + + pll_hdmi_0002 pll_hdmi_inst ( + .refclk (refclk), // refclk.clk + .rst (rst), // reset.reset + .outclk_0 (outclk_0), // outclk0.clk + .reconfig_to_pll (reconfig_to_pll), // reconfig_to_pll.reconfig_to_pll + .reconfig_from_pll (reconfig_from_pll), // reconfig_from_pll.reconfig_from_pll + .locked () // (terminated) + ); + +endmodule +// Retrieval info: +// +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// Retrieval info: +// IPFS_FILES : pll_hdmi.vo +// RELATED_FILES: pll_hdmi.v, pll_hdmi_0002.v diff --git a/sys/pll_hdmi/pll_hdmi_0002.v b/sys/pll_hdmi/pll_hdmi_0002.v index dc63100..9347c76 100644 --- a/sys/pll_hdmi/pll_hdmi_0002.v +++ b/sys/pll_hdmi/pll_hdmi_0002.v @@ -1,241 +1,241 @@ -`timescale 1ns/10ps -module pll_hdmi_0002( - - // interface 'refclk' - input wire refclk, - - // interface 'reset' - input wire rst, - - // interface 'outclk0' - output wire outclk_0, - - // interface 'locked' - output wire locked, - - // interface 'reconfig_to_pll' - input wire [63:0] reconfig_to_pll, - - // interface 'reconfig_from_pll' - output wire [63:0] reconfig_from_pll -); - - altera_pll #( - .fractional_vco_multiplier("true"), - .reference_clock_frequency("50.0 MHz"), - .pll_fractional_cout(32), - .pll_dsm_out_sel("1st_order"), - .operation_mode("direct"), - .number_of_clocks(1), - .output_clock_frequency0("148.500000 MHz"), - .phase_shift0("0 ps"), - .duty_cycle0(50), - .output_clock_frequency1("0 MHz"), - .phase_shift1("0 ps"), - .duty_cycle1(50), - .output_clock_frequency2("0 MHz"), - .phase_shift2("0 ps"), - .duty_cycle2(50), - .output_clock_frequency3("0 MHz"), - .phase_shift3("0 ps"), - .duty_cycle3(50), - .output_clock_frequency4("0 MHz"), - .phase_shift4("0 ps"), - .duty_cycle4(50), - .output_clock_frequency5("0 MHz"), - .phase_shift5("0 ps"), - .duty_cycle5(50), - .output_clock_frequency6("0 MHz"), - .phase_shift6("0 ps"), - .duty_cycle6(50), - .output_clock_frequency7("0 MHz"), - .phase_shift7("0 ps"), - .duty_cycle7(50), - .output_clock_frequency8("0 MHz"), - .phase_shift8("0 ps"), - .duty_cycle8(50), - .output_clock_frequency9("0 MHz"), - .phase_shift9("0 ps"), - .duty_cycle9(50), - .output_clock_frequency10("0 MHz"), - .phase_shift10("0 ps"), - .duty_cycle10(50), - .output_clock_frequency11("0 MHz"), - .phase_shift11("0 ps"), - .duty_cycle11(50), - .output_clock_frequency12("0 MHz"), - .phase_shift12("0 ps"), - .duty_cycle12(50), - .output_clock_frequency13("0 MHz"), - .phase_shift13("0 ps"), - .duty_cycle13(50), - .output_clock_frequency14("0 MHz"), - .phase_shift14("0 ps"), - .duty_cycle14(50), - .output_clock_frequency15("0 MHz"), - .phase_shift15("0 ps"), - .duty_cycle15(50), - .output_clock_frequency16("0 MHz"), - .phase_shift16("0 ps"), - .duty_cycle16(50), - .output_clock_frequency17("0 MHz"), - .phase_shift17("0 ps"), - .duty_cycle17(50), - .pll_type("Cyclone V"), - .pll_subtype("Reconfigurable"), - .m_cnt_hi_div(4), - .m_cnt_lo_div(4), - .n_cnt_hi_div(256), - .n_cnt_lo_div(256), - .m_cnt_bypass_en("false"), - .n_cnt_bypass_en("true"), - .m_cnt_odd_div_duty_en("false"), - .n_cnt_odd_div_duty_en("false"), - .c_cnt_hi_div0(2), - .c_cnt_lo_div0(1), - .c_cnt_prst0(1), - .c_cnt_ph_mux_prst0(0), - .c_cnt_in_src0("ph_mux_clk"), - .c_cnt_bypass_en0("false"), - .c_cnt_odd_div_duty_en0("true"), - .c_cnt_hi_div1(1), - .c_cnt_lo_div1(1), - .c_cnt_prst1(1), - .c_cnt_ph_mux_prst1(0), - .c_cnt_in_src1("ph_mux_clk"), - .c_cnt_bypass_en1("true"), - .c_cnt_odd_div_duty_en1("false"), - .c_cnt_hi_div2(1), - .c_cnt_lo_div2(1), - .c_cnt_prst2(1), - .c_cnt_ph_mux_prst2(0), - .c_cnt_in_src2("ph_mux_clk"), - .c_cnt_bypass_en2("true"), - .c_cnt_odd_div_duty_en2("false"), - .c_cnt_hi_div3(1), - .c_cnt_lo_div3(1), - .c_cnt_prst3(1), - .c_cnt_ph_mux_prst3(0), - .c_cnt_in_src3("ph_mux_clk"), - .c_cnt_bypass_en3("true"), - .c_cnt_odd_div_duty_en3("false"), - .c_cnt_hi_div4(1), - .c_cnt_lo_div4(1), - .c_cnt_prst4(1), - .c_cnt_ph_mux_prst4(0), - .c_cnt_in_src4("ph_mux_clk"), - .c_cnt_bypass_en4("true"), - .c_cnt_odd_div_duty_en4("false"), - .c_cnt_hi_div5(1), - .c_cnt_lo_div5(1), - .c_cnt_prst5(1), - .c_cnt_ph_mux_prst5(0), - .c_cnt_in_src5("ph_mux_clk"), - .c_cnt_bypass_en5("true"), - .c_cnt_odd_div_duty_en5("false"), - .c_cnt_hi_div6(1), - .c_cnt_lo_div6(1), - .c_cnt_prst6(1), - .c_cnt_ph_mux_prst6(0), - .c_cnt_in_src6("ph_mux_clk"), - .c_cnt_bypass_en6("true"), - .c_cnt_odd_div_duty_en6("false"), - .c_cnt_hi_div7(1), - .c_cnt_lo_div7(1), - .c_cnt_prst7(1), - .c_cnt_ph_mux_prst7(0), - .c_cnt_in_src7("ph_mux_clk"), - .c_cnt_bypass_en7("true"), - .c_cnt_odd_div_duty_en7("false"), - .c_cnt_hi_div8(1), - .c_cnt_lo_div8(1), - .c_cnt_prst8(1), - .c_cnt_ph_mux_prst8(0), - .c_cnt_in_src8("ph_mux_clk"), - .c_cnt_bypass_en8("true"), - .c_cnt_odd_div_duty_en8("false"), - .c_cnt_hi_div9(1), - .c_cnt_lo_div9(1), - .c_cnt_prst9(1), - .c_cnt_ph_mux_prst9(0), - .c_cnt_in_src9("ph_mux_clk"), - .c_cnt_bypass_en9("true"), - .c_cnt_odd_div_duty_en9("false"), - .c_cnt_hi_div10(1), - .c_cnt_lo_div10(1), - .c_cnt_prst10(1), - .c_cnt_ph_mux_prst10(0), - .c_cnt_in_src10("ph_mux_clk"), - .c_cnt_bypass_en10("true"), - .c_cnt_odd_div_duty_en10("false"), - .c_cnt_hi_div11(1), - .c_cnt_lo_div11(1), - .c_cnt_prst11(1), - .c_cnt_ph_mux_prst11(0), - .c_cnt_in_src11("ph_mux_clk"), - .c_cnt_bypass_en11("true"), - .c_cnt_odd_div_duty_en11("false"), - .c_cnt_hi_div12(1), - .c_cnt_lo_div12(1), - .c_cnt_prst12(1), - .c_cnt_ph_mux_prst12(0), - .c_cnt_in_src12("ph_mux_clk"), - .c_cnt_bypass_en12("true"), - .c_cnt_odd_div_duty_en12("false"), - .c_cnt_hi_div13(1), - .c_cnt_lo_div13(1), - .c_cnt_prst13(1), - .c_cnt_ph_mux_prst13(0), - .c_cnt_in_src13("ph_mux_clk"), - .c_cnt_bypass_en13("true"), - .c_cnt_odd_div_duty_en13("false"), - .c_cnt_hi_div14(1), - .c_cnt_lo_div14(1), - .c_cnt_prst14(1), - .c_cnt_ph_mux_prst14(0), - .c_cnt_in_src14("ph_mux_clk"), - .c_cnt_bypass_en14("true"), - .c_cnt_odd_div_duty_en14("false"), - .c_cnt_hi_div15(1), - .c_cnt_lo_div15(1), - .c_cnt_prst15(1), - .c_cnt_ph_mux_prst15(0), - .c_cnt_in_src15("ph_mux_clk"), - .c_cnt_bypass_en15("true"), - .c_cnt_odd_div_duty_en15("false"), - .c_cnt_hi_div16(1), - .c_cnt_lo_div16(1), - .c_cnt_prst16(1), - .c_cnt_ph_mux_prst16(0), - .c_cnt_in_src16("ph_mux_clk"), - .c_cnt_bypass_en16("true"), - .c_cnt_odd_div_duty_en16("false"), - .c_cnt_hi_div17(1), - .c_cnt_lo_div17(1), - .c_cnt_prst17(1), - .c_cnt_ph_mux_prst17(0), - .c_cnt_in_src17("ph_mux_clk"), - .c_cnt_bypass_en17("true"), - .c_cnt_odd_div_duty_en17("false"), - .pll_vco_div(2), - .pll_cp_current(20), - .pll_bwctrl(4000), - .pll_output_clk_frequency("445.499999 MHz"), - .pll_fractional_division("3908420153"), - .mimic_fbclk_type("none"), - .pll_fbclk_mux_1("glb"), - .pll_fbclk_mux_2("m_cnt"), - .pll_m_cnt_in_src("ph_mux_clk"), - .pll_slf_rst("true") - ) altera_pll_i ( - .rst (rst), - .outclk ({outclk_0}), - .locked (locked), - .reconfig_to_pll (reconfig_to_pll), - .fboutclk ( ), - .fbclk (1'b0), - .refclk (refclk), - .reconfig_from_pll (reconfig_from_pll) - ); -endmodule - +`timescale 1ns/10ps +module pll_hdmi_0002( + + // interface 'refclk' + input wire refclk, + + // interface 'reset' + input wire rst, + + // interface 'outclk0' + output wire outclk_0, + + // interface 'locked' + output wire locked, + + // interface 'reconfig_to_pll' + input wire [63:0] reconfig_to_pll, + + // interface 'reconfig_from_pll' + output wire [63:0] reconfig_from_pll +); + + altera_pll #( + .fractional_vco_multiplier("true"), + .reference_clock_frequency("50.0 MHz"), + .pll_fractional_cout(32), + .pll_dsm_out_sel("1st_order"), + .operation_mode("direct"), + .number_of_clocks(1), + .output_clock_frequency0("148.500000 MHz"), + .phase_shift0("0 ps"), + .duty_cycle0(50), + .output_clock_frequency1("0 MHz"), + .phase_shift1("0 ps"), + .duty_cycle1(50), + .output_clock_frequency2("0 MHz"), + .phase_shift2("0 ps"), + .duty_cycle2(50), + .output_clock_frequency3("0 MHz"), + .phase_shift3("0 ps"), + .duty_cycle3(50), + .output_clock_frequency4("0 MHz"), + .phase_shift4("0 ps"), + .duty_cycle4(50), + .output_clock_frequency5("0 MHz"), + .phase_shift5("0 ps"), + .duty_cycle5(50), + .output_clock_frequency6("0 MHz"), + .phase_shift6("0 ps"), + .duty_cycle6(50), + .output_clock_frequency7("0 MHz"), + .phase_shift7("0 ps"), + .duty_cycle7(50), + .output_clock_frequency8("0 MHz"), + .phase_shift8("0 ps"), + .duty_cycle8(50), + .output_clock_frequency9("0 MHz"), + .phase_shift9("0 ps"), + .duty_cycle9(50), + .output_clock_frequency10("0 MHz"), + .phase_shift10("0 ps"), + .duty_cycle10(50), + .output_clock_frequency11("0 MHz"), + .phase_shift11("0 ps"), + .duty_cycle11(50), + .output_clock_frequency12("0 MHz"), + .phase_shift12("0 ps"), + .duty_cycle12(50), + .output_clock_frequency13("0 MHz"), + .phase_shift13("0 ps"), + .duty_cycle13(50), + .output_clock_frequency14("0 MHz"), + .phase_shift14("0 ps"), + .duty_cycle14(50), + .output_clock_frequency15("0 MHz"), + .phase_shift15("0 ps"), + .duty_cycle15(50), + .output_clock_frequency16("0 MHz"), + .phase_shift16("0 ps"), + .duty_cycle16(50), + .output_clock_frequency17("0 MHz"), + .phase_shift17("0 ps"), + .duty_cycle17(50), + .pll_type("Cyclone V"), + .pll_subtype("Reconfigurable"), + .m_cnt_hi_div(4), + .m_cnt_lo_div(4), + .n_cnt_hi_div(256), + .n_cnt_lo_div(256), + .m_cnt_bypass_en("false"), + .n_cnt_bypass_en("true"), + .m_cnt_odd_div_duty_en("false"), + .n_cnt_odd_div_duty_en("false"), + .c_cnt_hi_div0(2), + .c_cnt_lo_div0(1), + .c_cnt_prst0(1), + .c_cnt_ph_mux_prst0(0), + .c_cnt_in_src0("ph_mux_clk"), + .c_cnt_bypass_en0("false"), + .c_cnt_odd_div_duty_en0("true"), + .c_cnt_hi_div1(1), + .c_cnt_lo_div1(1), + .c_cnt_prst1(1), + .c_cnt_ph_mux_prst1(0), + .c_cnt_in_src1("ph_mux_clk"), + .c_cnt_bypass_en1("true"), + .c_cnt_odd_div_duty_en1("false"), + .c_cnt_hi_div2(1), + .c_cnt_lo_div2(1), + .c_cnt_prst2(1), + .c_cnt_ph_mux_prst2(0), + .c_cnt_in_src2("ph_mux_clk"), + .c_cnt_bypass_en2("true"), + .c_cnt_odd_div_duty_en2("false"), + .c_cnt_hi_div3(1), + .c_cnt_lo_div3(1), + .c_cnt_prst3(1), + .c_cnt_ph_mux_prst3(0), + .c_cnt_in_src3("ph_mux_clk"), + .c_cnt_bypass_en3("true"), + .c_cnt_odd_div_duty_en3("false"), + .c_cnt_hi_div4(1), + .c_cnt_lo_div4(1), + .c_cnt_prst4(1), + .c_cnt_ph_mux_prst4(0), + .c_cnt_in_src4("ph_mux_clk"), + .c_cnt_bypass_en4("true"), + .c_cnt_odd_div_duty_en4("false"), + .c_cnt_hi_div5(1), + .c_cnt_lo_div5(1), + .c_cnt_prst5(1), + .c_cnt_ph_mux_prst5(0), + .c_cnt_in_src5("ph_mux_clk"), + .c_cnt_bypass_en5("true"), + .c_cnt_odd_div_duty_en5("false"), + .c_cnt_hi_div6(1), + .c_cnt_lo_div6(1), + .c_cnt_prst6(1), + .c_cnt_ph_mux_prst6(0), + .c_cnt_in_src6("ph_mux_clk"), + .c_cnt_bypass_en6("true"), + .c_cnt_odd_div_duty_en6("false"), + .c_cnt_hi_div7(1), + .c_cnt_lo_div7(1), + .c_cnt_prst7(1), + .c_cnt_ph_mux_prst7(0), + .c_cnt_in_src7("ph_mux_clk"), + .c_cnt_bypass_en7("true"), + .c_cnt_odd_div_duty_en7("false"), + .c_cnt_hi_div8(1), + .c_cnt_lo_div8(1), + .c_cnt_prst8(1), + .c_cnt_ph_mux_prst8(0), + .c_cnt_in_src8("ph_mux_clk"), + .c_cnt_bypass_en8("true"), + .c_cnt_odd_div_duty_en8("false"), + .c_cnt_hi_div9(1), + .c_cnt_lo_div9(1), + .c_cnt_prst9(1), + .c_cnt_ph_mux_prst9(0), + .c_cnt_in_src9("ph_mux_clk"), + .c_cnt_bypass_en9("true"), + .c_cnt_odd_div_duty_en9("false"), + .c_cnt_hi_div10(1), + .c_cnt_lo_div10(1), + .c_cnt_prst10(1), + .c_cnt_ph_mux_prst10(0), + .c_cnt_in_src10("ph_mux_clk"), + .c_cnt_bypass_en10("true"), + .c_cnt_odd_div_duty_en10("false"), + .c_cnt_hi_div11(1), + .c_cnt_lo_div11(1), + .c_cnt_prst11(1), + .c_cnt_ph_mux_prst11(0), + .c_cnt_in_src11("ph_mux_clk"), + .c_cnt_bypass_en11("true"), + .c_cnt_odd_div_duty_en11("false"), + .c_cnt_hi_div12(1), + .c_cnt_lo_div12(1), + .c_cnt_prst12(1), + .c_cnt_ph_mux_prst12(0), + .c_cnt_in_src12("ph_mux_clk"), + .c_cnt_bypass_en12("true"), + .c_cnt_odd_div_duty_en12("false"), + .c_cnt_hi_div13(1), + .c_cnt_lo_div13(1), + .c_cnt_prst13(1), + .c_cnt_ph_mux_prst13(0), + .c_cnt_in_src13("ph_mux_clk"), + .c_cnt_bypass_en13("true"), + .c_cnt_odd_div_duty_en13("false"), + .c_cnt_hi_div14(1), + .c_cnt_lo_div14(1), + .c_cnt_prst14(1), + .c_cnt_ph_mux_prst14(0), + .c_cnt_in_src14("ph_mux_clk"), + .c_cnt_bypass_en14("true"), + .c_cnt_odd_div_duty_en14("false"), + .c_cnt_hi_div15(1), + .c_cnt_lo_div15(1), + .c_cnt_prst15(1), + .c_cnt_ph_mux_prst15(0), + .c_cnt_in_src15("ph_mux_clk"), + .c_cnt_bypass_en15("true"), + .c_cnt_odd_div_duty_en15("false"), + .c_cnt_hi_div16(1), + .c_cnt_lo_div16(1), + .c_cnt_prst16(1), + .c_cnt_ph_mux_prst16(0), + .c_cnt_in_src16("ph_mux_clk"), + .c_cnt_bypass_en16("true"), + .c_cnt_odd_div_duty_en16("false"), + .c_cnt_hi_div17(1), + .c_cnt_lo_div17(1), + .c_cnt_prst17(1), + .c_cnt_ph_mux_prst17(0), + .c_cnt_in_src17("ph_mux_clk"), + .c_cnt_bypass_en17("true"), + .c_cnt_odd_div_duty_en17("false"), + .pll_vco_div(2), + .pll_cp_current(20), + .pll_bwctrl(4000), + .pll_output_clk_frequency("445.499999 MHz"), + .pll_fractional_division("3908420153"), + .mimic_fbclk_type("none"), + .pll_fbclk_mux_1("glb"), + .pll_fbclk_mux_2("m_cnt"), + .pll_m_cnt_in_src("ph_mux_clk"), + .pll_slf_rst("true") + ) altera_pll_i ( + .rst (rst), + .outclk ({outclk_0}), + .locked (locked), + .reconfig_to_pll (reconfig_to_pll), + .fboutclk ( ), + .fbclk (1'b0), + .refclk (refclk), + .reconfig_from_pll (reconfig_from_pll) + ); +endmodule + diff --git a/sys/pll_hdmi/pll_hdmi_0002_q13.qip b/sys/pll_hdmi/pll_hdmi_0002_q13.qip deleted file mode 100644 index fb8053d..0000000 --- a/sys/pll_hdmi/pll_hdmi_0002_q13.qip +++ /dev/null @@ -1,4 +0,0 @@ -set_instance_assignment -name PLL_COMPENSATION_MODE DIRECT -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" -set_instance_assignment -name PLL_CHANNEL_SPACING "0.0 KHz" -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" -set_instance_assignment -name PLL_AUTO_RESET ON -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" -set_instance_assignment -name PLL_BANDWIDTH_PRESET AUTO -to "*pll_hdmi_0002*|altera_pll:altera_pll_i*|*" diff --git a/sys/pll_q13.qip b/sys/pll_q13.qip index 7018c53..13a7ed4 100644 --- a/sys/pll_q13.qip +++ b/sys/pll_q13.qip @@ -1,5 +1,6 @@ set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll.13.qip ] set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll_hdmi.13.qip ] +set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll_audio.13.qip ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) pll_cfg.v ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) pll_cfg/altera_pll_reconfig_core.v ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) pll_cfg/altera_pll_reconfig_top.v ] diff --git a/sys/pll_q17.qip b/sys/pll_q17.qip index 9c69934..85cc84b 100644 --- a/sys/pll_q17.qip +++ b/sys/pll_q17.qip @@ -1,3 +1,4 @@ -set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll.qip ] +set_global_assignment -name QIP_FILE rtl/pll.qip set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll_hdmi.qip ] +set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll_audio.qip ] set_global_assignment -name QIP_FILE [file join $::quartus(qip_path) pll_cfg.qip ] diff --git a/sys/sd_card.v b/sys/sd_card.sv similarity index 84% rename from sys/sd_card.v rename to sys/sd_card.sv index 6f7080d..a2aad7e 100644 --- a/sys/sd_card.v +++ b/sys/sd_card.sv @@ -1,538 +1,537 @@ -// -// sd_card.v -// -// Copyright (c) 2014 Till Harbaum -// Copyright (c) 2015-2018 Sorgelig -// -// This source file is free software: you can redistribute it and/or modify -// it under the terms of the Lesser GNU General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This source file is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . -// -// http://elm-chan.org/docs/mmc/mmc_e.html -// -///////////////////////////////////////////////////////////////////////// - -// -// Made module syncrhronous. Total code refactoring. (Sorgelig) -// clk_spi must be at least 4 x sck for proper work. - -module sd_card -( - input clk_sys, - input reset, - - input sdhc, - - output [31:0] sd_lba, - output reg sd_rd, - output reg sd_wr, - input sd_ack, - input sd_ack_conf, - - input [8:0] sd_buff_addr, - input [7:0] sd_buff_dout, - output [7:0] sd_buff_din, - input sd_buff_wr, - - // SPI interface - input clk_spi, - - input ss, - input sck, - input mosi, - output reg miso -); - -assign sd_lba = sdhc ? lba : {9'd0, lba[31:9]}; - -wire[31:0] OCR = { 1'b1, sdhc, 30'd0 }; // bit30 = 1 -> high capaciry card (sdhc) // bit31 = 0 -> card power up finished -wire [7:0] READ_DATA_TOKEN = 8'hfe; -wire [7:0] WRITE_DATA_RESPONSE = 8'h05; - -// number of bytes to wait after a command before sending the reply -localparam NCR=3; - -localparam RD_STATE_IDLE = 0; -localparam RD_STATE_WAIT_IO = 1; -localparam RD_STATE_SEND_TOKEN = 2; -localparam RD_STATE_SEND_DATA = 3; -localparam RD_STATE_WAIT_M = 4; - -localparam WR_STATE_IDLE = 0; -localparam WR_STATE_EXP_DTOKEN = 1; -localparam WR_STATE_RECV_DATA = 2; -localparam WR_STATE_RECV_CRC0 = 3; -localparam WR_STATE_RECV_CRC1 = 4; -localparam WR_STATE_SEND_DRESP = 5; -localparam WR_STATE_BUSY = 6; - -sdbuf buffer -( - .clock_a(clk_sys), - .address_a(sd_buff_addr), - .data_a(sd_buff_dout), - .wren_a(sd_ack & sd_buff_wr), - .q_a(sd_buff_din), - - .clock_b(clk_spi), - .address_b(buffer_ptr), - .data_b(buffer_din), - .wren_b(buffer_wr), - .q_b(buffer_dout) -); - -sdbuf conf -( - .clock_a(clk_sys), - .address_a(sd_buff_addr), - .data_a(sd_buff_dout), - .wren_a(sd_ack_conf & sd_buff_wr), - - .clock_b(clk_spi), - .address_b(buffer_ptr), - .q_b(config_dout) -); - -reg [31:0] lba, new_lba; -reg [8:0] buffer_ptr; -reg [7:0] buffer_din; -wire [7:0] buffer_dout; -wire [7:0] config_dout; -reg buffer_wr; - -always @(posedge clk_spi) begin - reg [2:0] read_state; - reg [2:0] write_state; - reg [6:0] sbuf; - reg cmd55; - reg [7:0] cmd; - reg [2:0] bit_cnt; - reg [3:0] byte_cnt; - reg [7:0] reply; - reg [7:0] reply0, reply1, reply2, reply3; - reg [3:0] reply_len; - reg tx_finish; - reg rx_finish; - reg old_sck; - reg synced; - reg [5:0] ack; - reg io_ack; - reg [4:0] idle_cnt = 0; - reg [2:0] wait_m_cnt; - - if(buffer_wr & ~&buffer_ptr) buffer_ptr <= buffer_ptr + 1'd1; - buffer_wr <= 0; - - ack <= {ack[4:0], sd_ack}; - if(ack[5:4] == 2'b10) io_ack <= 1; - if(ack[5:4] == 2'b01) {sd_rd,sd_wr} <= 0; - - old_sck <= sck; - - if(~ss) idle_cnt <= 31; - else if(~old_sck && sck && idle_cnt) idle_cnt <= idle_cnt - 1'd1; - - if(reset || !idle_cnt) begin - bit_cnt <= 0; - byte_cnt <= 15; - synced <= 0; - miso <= 1; - sbuf <= 7'b1111111; - tx_finish <= 0; - rx_finish <= 0; - read_state <= RD_STATE_IDLE; - write_state <= WR_STATE_IDLE; - end - - if(old_sck & ~sck & ~ss) begin - tx_finish <= 0; - miso <= 1; // default: send 1's (busy/wait) - - if(byte_cnt == 5+NCR) begin - miso <= reply[~bit_cnt]; - - if(bit_cnt == 7) begin - // these three commands all have a reply_len of 0 and will thus - // not send more than a single reply byte - - // CMD9: SEND_CSD - // CMD10: SEND_CID - if((cmd == 'h49) | (cmd == 'h4a)) - read_state <= RD_STATE_SEND_TOKEN; // jump directly to data transmission - - // CMD17/CMD18 - if((cmd == 'h51) | (cmd == 'h52)) begin - io_ack <= 0; - read_state <= RD_STATE_WAIT_IO; // start waiting for data from io controller - lba <= new_lba; - sd_rd <= 1; // trigger request to io controller - end - end - end - else if((reply_len > 0) && (byte_cnt == 5+NCR+1)) miso <= reply0[~bit_cnt]; - else if((reply_len > 1) && (byte_cnt == 5+NCR+2)) miso <= reply1[~bit_cnt]; - else if((reply_len > 2) && (byte_cnt == 5+NCR+3)) miso <= reply2[~bit_cnt]; - else if((reply_len > 3) && (byte_cnt == 5+NCR+4)) miso <= reply3[~bit_cnt]; - else begin - if(byte_cnt > 5+NCR && read_state==RD_STATE_IDLE && write_state==WR_STATE_IDLE) tx_finish <= 1; - end - - // ---------- read state machine processing ------------- - - case(read_state) - RD_STATE_IDLE: ; // do nothing - - - // waiting for io controller to return data - RD_STATE_WAIT_IO: begin - if(io_ack & (bit_cnt == 7)) read_state <= RD_STATE_SEND_TOKEN; - end - - // send data token - RD_STATE_SEND_TOKEN: begin - miso <= READ_DATA_TOKEN[~bit_cnt]; - - if(bit_cnt == 7) begin - read_state <= RD_STATE_SEND_DATA; // next: send data - buffer_ptr <= 0; - if(cmd == 'h49) buffer_ptr <= 16; - end - end - - // send data - RD_STATE_SEND_DATA: begin - - miso <= ((cmd == 'h49) | (cmd == 'h4A)) ? config_dout[~bit_cnt] : buffer_dout[~bit_cnt]; - - if(bit_cnt == 7) begin - - // sent 512 sector data bytes? - if((cmd == 'h51) & &buffer_ptr) read_state <= RD_STATE_IDLE; - else if((cmd == 'h52) & &buffer_ptr) begin - read_state <= RD_STATE_WAIT_M; - wait_m_cnt <= 0; - end - - // sent 16 cid/csd data bytes? - else if(((cmd == 'h49) | (cmd == 'h4a)) & (&buffer_ptr[3:0])) read_state <= RD_STATE_IDLE; - - // not done yet -> trigger read of next data byte - else buffer_ptr <= buffer_ptr + 1'd1; - end - end - - RD_STATE_WAIT_M: begin - if(bit_cnt == 7) begin - wait_m_cnt <= wait_m_cnt + 1'd1; - if(&wait_m_cnt) begin - lba <= lba + 1; - io_ack <= 0; - sd_rd <= 1; - read_state <= RD_STATE_WAIT_IO; - end - end - end - endcase - - // ------------------ write support ---------------------- - // send write data response - if(write_state == WR_STATE_SEND_DRESP) miso <= WRITE_DATA_RESPONSE[~bit_cnt]; - - // busy after write until the io controller sends ack - if(write_state == WR_STATE_BUSY) miso <= 0; - end - - if(~old_sck & sck & ~ss) begin - - if(synced) bit_cnt <= bit_cnt + 1'd1; - - // assemble byte - if(bit_cnt != 7) begin - sbuf[6:0] <= { sbuf[5:0], mosi }; - - // resync while waiting for token - if(write_state==WR_STATE_EXP_DTOKEN) begin - if(cmd == 'h58) begin - if({sbuf,mosi} == 8'hfe) begin - write_state <= WR_STATE_RECV_DATA; - buffer_ptr <= 0; - bit_cnt <= 0; - end - end - else begin - if({sbuf,mosi} == 8'hfc) begin - write_state <= WR_STATE_RECV_DATA; - buffer_ptr <= 0; - bit_cnt <= 0; - end - if({sbuf,mosi} == 8'hfd) begin - write_state <= WR_STATE_IDLE; - rx_finish <= 1; - bit_cnt <= 0; - end - end - end - end - else begin - // finished reading one byte - // byte counter runs against 15 byte boundary - if(byte_cnt != 15) byte_cnt <= byte_cnt + 1'd1; - - // byte_cnt > 6 -> complete command received - // first byte of valid command is 01xxxxxx - // don't accept new commands once a write or read command has been accepted - if((byte_cnt > 5) & (write_state == WR_STATE_IDLE) & (read_state == RD_STATE_IDLE) && !rx_finish) begin - byte_cnt <= 0; - cmd <= { sbuf, mosi}; - - // set cmd55 flag if previous command was 55 - cmd55 <= (cmd == 'h77); - end - - if((byte_cnt > 5) & (read_state == RD_STATE_WAIT_M) && ({sbuf, mosi} == 8'h4c)) begin - byte_cnt <= 0; - rx_finish <= 0; - cmd <= {sbuf, mosi}; - read_state <= RD_STATE_IDLE; - end - - // parse additional command bytes - if(byte_cnt == 0) new_lba[31:24] <= { sbuf, mosi}; - if(byte_cnt == 1) new_lba[23:16] <= { sbuf, mosi}; - if(byte_cnt == 2) new_lba[15:8] <= { sbuf, mosi}; - if(byte_cnt == 3) new_lba[7:0] <= { sbuf, mosi}; - - // last byte (crc) received, evaluate - if(byte_cnt == 4) begin - - // default: - reply <= 4; // illegal command - reply_len <= 0; // no extra reply bytes - rx_finish <= 1; - - case(cmd) - // CMD0: GO_IDLE_STATE - 'h40: reply <= 1; // ok, busy - - // CMD1: SEND_OP_COND - 'h41: reply <= 0; // ok, not busy - - // CMD8: SEND_IF_COND (V2 only) - 'h48: begin - reply <= 1; // ok, busy - - reply0 <= 'h00; - reply1 <= 'h00; - reply2 <= 'h01; - reply3 <= 'hAA; - reply_len <= 4; - end - - // CMD9: SEND_CSD - 'h49: reply <= 0; // ok - - // CMD10: SEND_CID - 'h4a: reply <= 0; // ok - - // CMD12: STOP_TRANSMISSION +// +// sd_card.v +// +// Copyright (c) 2014 Till Harbaum +// Copyright (c) 2015-2018 Sorgelig +// +// This source file is free software: you can redistribute it and/or modify +// it under the terms of the Lesser GNU General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This source file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// http://elm-chan.org/docs/mmc/mmc_e.html +// +///////////////////////////////////////////////////////////////////////// + +// +// Made module syncrhronous. Total code refactoring. (Sorgelig) +// clk_spi must be at least 4 x sck for proper work. + +module sd_card #(parameter WIDE = 0) +( + input clk_sys, + input reset, + + input sdhc, + + output [31:0] sd_lba, + output reg sd_rd, + output reg sd_wr, + input sd_ack, + input sd_ack_conf, + + input [AW:0] sd_buff_addr, + input [DW:0] sd_buff_dout, + output [DW:0] sd_buff_din, + input sd_buff_wr, + + // SPI interface + input clk_spi, + + input ss, + input sck, + input mosi, + output reg miso +); + +localparam AW = WIDE ? 7 : 8; +localparam DW = WIDE ? 15 : 7; + +assign sd_lba = sdhc ? lba : {9'd0, lba[31:9]}; + +wire[31:0] OCR = { 1'b1, sdhc, 30'd0 }; // bit30 = 1 -> high capaciry card (sdhc) // bit31 = 0 -> card power up finished +wire [7:0] READ_DATA_TOKEN = 8'hfe; +wire [7:0] WRITE_DATA_RESPONSE = 8'h05; + +// number of bytes to wait after a command before sending the reply +localparam NCR=3; + +localparam RD_STATE_IDLE = 0; +localparam RD_STATE_WAIT_IO = 1; +localparam RD_STATE_SEND_TOKEN = 2; +localparam RD_STATE_SEND_DATA = 3; +localparam RD_STATE_WAIT_M = 4; + +localparam WR_STATE_IDLE = 0; +localparam WR_STATE_EXP_DTOKEN = 1; +localparam WR_STATE_RECV_DATA = 2; +localparam WR_STATE_RECV_CRC0 = 3; +localparam WR_STATE_RECV_CRC1 = 4; +localparam WR_STATE_SEND_DRESP = 5; +localparam WR_STATE_BUSY = 6; + +sdbuf #(WIDE) buffer +( + .clock_a(clk_sys), + .address_a(sd_buff_addr), + .data_a(sd_buff_dout), + .wren_a(sd_ack & sd_buff_wr), + .q_a(sd_buff_din), + + .clock_b(clk_spi), + .address_b(buffer_ptr), + .data_b(buffer_din), + .wren_b(buffer_wr), + .q_b(buffer_dout) +); + +sdbuf #(WIDE) conf +( + .clock_a(clk_sys), + .address_a(sd_buff_addr), + .data_a(sd_buff_dout), + .wren_a(sd_ack_conf & sd_buff_wr), + + .clock_b(clk_spi), + .address_b(buffer_ptr), + .q_b(config_dout) +); + +reg [31:0] lba, new_lba; +reg [8:0] buffer_ptr; +reg [7:0] buffer_din; +wire [7:0] buffer_dout; +wire [7:0] config_dout; +reg buffer_wr; + +always @(posedge clk_spi) begin + reg [2:0] read_state; + reg [2:0] write_state; + reg [6:0] sbuf; + reg cmd55; + reg [7:0] cmd; + reg [2:0] bit_cnt; + reg [3:0] byte_cnt; + reg [7:0] reply; + reg [7:0] reply0, reply1, reply2, reply3; + reg [3:0] reply_len; + reg tx_finish; + reg rx_finish; + reg old_sck; + reg synced; + reg [5:0] ack; + reg io_ack; + reg [4:0] idle_cnt = 0; + reg [2:0] wait_m_cnt; + + if(buffer_wr & ~&buffer_ptr) buffer_ptr <= buffer_ptr + 1'd1; + buffer_wr <= 0; + + ack <= {ack[4:0], sd_ack}; + if(ack[5:4] == 2'b10) io_ack <= 1; + if(ack[5:4] == 2'b01) {sd_rd,sd_wr} <= 0; + + old_sck <= sck; + + if(~ss) idle_cnt <= 31; + else if(~old_sck && sck && idle_cnt) idle_cnt <= idle_cnt - 1'd1; + + if(reset || !idle_cnt) begin + bit_cnt <= 0; + byte_cnt <= 15; + synced <= 0; + miso <= 1; + sbuf <= 7'b1111111; + tx_finish <= 0; + rx_finish <= 0; + read_state <= RD_STATE_IDLE; + write_state <= WR_STATE_IDLE; + end + + if(old_sck & ~sck & ~ss) begin + tx_finish <= 0; + miso <= 1; // default: send 1's (busy/wait) + + if(byte_cnt == 5+NCR) begin + miso <= reply[~bit_cnt]; + + if(bit_cnt == 7) begin + // these three commands all have a reply_len of 0 and will thus + // not send more than a single reply byte + + // CMD9: SEND_CSD + // CMD10: SEND_CID + if((cmd == 'h49) | (cmd == 'h4a)) + read_state <= RD_STATE_SEND_TOKEN; // jump directly to data transmission + + // CMD17/CMD18 + if((cmd == 'h51) | (cmd == 'h52)) begin + io_ack <= 0; + read_state <= RD_STATE_WAIT_IO; // start waiting for data from io controller + lba <= new_lba; + sd_rd <= 1; // trigger request to io controller + end + end + end + else if((reply_len > 0) && (byte_cnt == 5+NCR+1)) miso <= reply0[~bit_cnt]; + else if((reply_len > 1) && (byte_cnt == 5+NCR+2)) miso <= reply1[~bit_cnt]; + else if((reply_len > 2) && (byte_cnt == 5+NCR+3)) miso <= reply2[~bit_cnt]; + else if((reply_len > 3) && (byte_cnt == 5+NCR+4)) miso <= reply3[~bit_cnt]; + else begin + if(byte_cnt > 5+NCR && read_state==RD_STATE_IDLE && write_state==WR_STATE_IDLE) tx_finish <= 1; + end + + // ---------- read state machine processing ------------- + + case(read_state) + RD_STATE_IDLE: ; // do nothing + + + // waiting for io controller to return data + RD_STATE_WAIT_IO: begin + if(io_ack & (bit_cnt == 7)) read_state <= RD_STATE_SEND_TOKEN; + end + + // send data token + RD_STATE_SEND_TOKEN: begin + miso <= READ_DATA_TOKEN[~bit_cnt]; + + if(bit_cnt == 7) begin + read_state <= RD_STATE_SEND_DATA; // next: send data + buffer_ptr <= 0; + if(cmd == 'h49) buffer_ptr <= 16; + end + end + + // send data + RD_STATE_SEND_DATA: begin + + miso <= ((cmd == 'h49) | (cmd == 'h4A)) ? config_dout[~bit_cnt] : buffer_dout[~bit_cnt]; + + if(bit_cnt == 7) begin + + // sent 512 sector data bytes? + if((cmd == 'h51) & &buffer_ptr) read_state <= RD_STATE_IDLE; + else if((cmd == 'h52) & &buffer_ptr) begin + read_state <= RD_STATE_WAIT_M; + wait_m_cnt <= 0; + end + + // sent 16 cid/csd data bytes? + else if(((cmd == 'h49) | (cmd == 'h4a)) & (&buffer_ptr[3:0])) read_state <= RD_STATE_IDLE; + + // not done yet -> trigger read of next data byte + else buffer_ptr <= buffer_ptr + 1'd1; + end + end + + RD_STATE_WAIT_M: begin + if(bit_cnt == 7) begin + wait_m_cnt <= wait_m_cnt + 1'd1; + if(&wait_m_cnt) begin + lba <= lba + 1; + io_ack <= 0; + sd_rd <= 1; + read_state <= RD_STATE_WAIT_IO; + end + end + end + endcase + + // ------------------ write support ---------------------- + // send write data response + if(write_state == WR_STATE_SEND_DRESP) miso <= WRITE_DATA_RESPONSE[~bit_cnt]; + + // busy after write until the io controller sends ack + if(write_state == WR_STATE_BUSY) miso <= 0; + end + + if(~old_sck & sck & ~ss) begin + + if(synced) bit_cnt <= bit_cnt + 1'd1; + + // assemble byte + if(bit_cnt != 7) begin + sbuf[6:0] <= { sbuf[5:0], mosi }; + + // resync while waiting for token + if(write_state==WR_STATE_EXP_DTOKEN) begin + if(cmd == 'h58) begin + if({sbuf,mosi} == 8'hfe) begin + write_state <= WR_STATE_RECV_DATA; + buffer_ptr <= 0; + bit_cnt <= 0; + end + end + else begin + if({sbuf,mosi} == 8'hfc) begin + write_state <= WR_STATE_RECV_DATA; + buffer_ptr <= 0; + bit_cnt <= 0; + end + if({sbuf,mosi} == 8'hfd) begin + write_state <= WR_STATE_IDLE; + rx_finish <= 1; + bit_cnt <= 0; + end + end + end + end + else begin + // finished reading one byte + // byte counter runs against 15 byte boundary + if(byte_cnt != 15) byte_cnt <= byte_cnt + 1'd1; + + // byte_cnt > 6 -> complete command received + // first byte of valid command is 01xxxxxx + // don't accept new commands once a write or read command has been accepted + if((byte_cnt > 5) & (write_state == WR_STATE_IDLE) & (read_state == RD_STATE_IDLE) && !rx_finish) begin + byte_cnt <= 0; + cmd <= { sbuf, mosi}; + + // set cmd55 flag if previous command was 55 + cmd55 <= (cmd == 'h77); + end + + if((byte_cnt > 5) & (read_state == RD_STATE_WAIT_M) && ({sbuf, mosi} == 8'h4c)) begin + byte_cnt <= 0; + rx_finish <= 0; + cmd <= {sbuf, mosi}; + read_state <= RD_STATE_IDLE; + end + + // parse additional command bytes + if(byte_cnt == 0) new_lba[31:24] <= { sbuf, mosi}; + if(byte_cnt == 1) new_lba[23:16] <= { sbuf, mosi}; + if(byte_cnt == 2) new_lba[15:8] <= { sbuf, mosi}; + if(byte_cnt == 3) new_lba[7:0] <= { sbuf, mosi}; + + // last byte (crc) received, evaluate + if(byte_cnt == 4) begin + + // default: + reply <= 4; // illegal command + reply_len <= 0; // no extra reply bytes + rx_finish <= 1; + + case(cmd) + // CMD0: GO_IDLE_STATE + 'h40: reply <= 1; // ok, busy + + // CMD1: SEND_OP_COND + 'h41: reply <= 0; // ok, not busy + + // CMD8: SEND_IF_COND (V2 only) + 'h48: begin + reply <= 1; // ok, busy + + reply0 <= 'h00; + reply1 <= 'h00; + reply2 <= 'h01; + reply3 <= 'hAA; + reply_len <= 4; + end + + // CMD9: SEND_CSD + 'h49: reply <= 0; // ok + + // CMD10: SEND_CID + 'h4a: reply <= 0; // ok + + // CMD12: STOP_TRANSMISSION 'h4c: reply <= 0; // ok - - // CMD16: SET_BLOCKLEN - 'h50: begin - // we only support a block size of 512 - if(new_lba == 512) reply <= 0; // ok - else reply <= 'h40; // parmeter error - end - - // CMD17: READ_SINGLE_BLOCK - 'h51: reply <= 0; // ok - - // CMD18: READ_MULTIPLE - 'h52: reply <= 0; // ok - - // CMD24: WRITE_BLOCK - 'h58, - // CMD25: WRITE_MULTIPLE - 'h59: begin - reply <= 0; // ok - write_state <= WR_STATE_EXP_DTOKEN; // expect data token - rx_finish <=0; - lba <= new_lba; - end - - // ACMD41: APP_SEND_OP_COND - 'h69: if(cmd55) reply <= 0; // ok, not busy - - // CMD55: APP_COND - 'h77: reply <= 1; // ok, busy - - // CMD58: READ_OCR - 'h7a: begin - reply <= 0; // ok - - reply0 <= OCR[31:24]; // bit 30 = 1 -> high capacity card - reply1 <= OCR[23:16]; - reply2 <= OCR[15:8]; - reply3 <= OCR[7:0]; - reply_len <= 4; - end - - // CMD59: CRC_ON_OFF - 'h7b: reply <= 0; // ok - endcase - end - - // ---------- handle write ----------- - case(write_state) - // do nothing in idle state - WR_STATE_IDLE: ; - - // waiting for data token - WR_STATE_EXP_DTOKEN: begin - buffer_ptr <= 0; - if(cmd == 'h58) begin - if({sbuf,mosi} == 8'hfe) write_state <= WR_STATE_RECV_DATA; - end - else begin - if({sbuf,mosi} == 8'hfc) write_state <= WR_STATE_RECV_DATA; - if({sbuf,mosi} == 8'hfd) begin - write_state <= WR_STATE_IDLE; - rx_finish <= 1; - end - end - end - - // transfer 512 bytes - WR_STATE_RECV_DATA: begin - // push one byte into local buffer - buffer_wr <= 1; - buffer_din <= {sbuf, mosi}; - - // all bytes written? - if(&buffer_ptr) write_state <= WR_STATE_RECV_CRC0; - end - - // transfer 1st crc byte - WR_STATE_RECV_CRC0: - write_state <= WR_STATE_RECV_CRC1; - - // transfer 2nd crc byte - WR_STATE_RECV_CRC1: - write_state <= WR_STATE_SEND_DRESP; - - // send data response - WR_STATE_SEND_DRESP: begin - write_state <= WR_STATE_BUSY; - io_ack <= 0; - sd_wr <= 1; - end - - // wait for io controller to accept data - WR_STATE_BUSY: - if(io_ack) begin - if(cmd == 'h59) begin - write_state <= WR_STATE_EXP_DTOKEN; - lba <= lba + 1; - end - else begin - write_state <= WR_STATE_IDLE; - rx_finish <= 1; - end - end - endcase - end - - // wait for first 0 bit until start counting bits - if(!synced && !mosi) begin - synced <= 1; - bit_cnt <= 1; // byte assembly prepare for next time loop - sbuf <= 7'b1111110; // byte assembly prepare for next time loop - rx_finish<= 0; - end else if (synced && tx_finish && rx_finish ) begin - synced <= 0; - bit_cnt <= 0; - rx_finish<= 0; - end - end -end - -endmodule - -module sdbuf -( - input clock_a, - input clock_b, - input [8:0] address_a, - input [8:0] address_b, - input [7:0] data_a, - input [7:0] data_b, - input wren_a, - input wren_b, - output [7:0] q_a, - output [7:0] q_b -); - -altsyncram altsyncram_component -( - .address_a (address_a), - .address_b (address_b), - .clock0 (clock_a), - .clock1 (clock_b), - .data_a (data_a), - .data_b (data_b), - .wren_a (wren_a), - .wren_b (wren_b), - .q_a (q_a), - .q_b (q_b), - .aclr0 (1'b0), - .aclr1 (1'b0), - .addressstall_a (1'b0), - .addressstall_b (1'b0), - .byteena_a (1'b1), - .byteena_b (1'b1), - .clocken0 (1'b1), - .clocken1 (1'b1), - .clocken2 (1'b1), - .clocken3 (1'b1), - .eccstatus (), - .rden_a (1'b1), - .rden_b (1'b1) -); -defparam - altsyncram_component.address_reg_b = "CLOCK1", - altsyncram_component.clock_enable_input_a = "BYPASS", - altsyncram_component.clock_enable_input_b = "BYPASS", - altsyncram_component.clock_enable_output_a = "BYPASS", - altsyncram_component.clock_enable_output_b = "BYPASS", - altsyncram_component.indata_reg_b = "CLOCK1", - altsyncram_component.intended_device_family = "Cyclone V", - altsyncram_component.lpm_type = "altsyncram", - altsyncram_component.numwords_a = 512, - altsyncram_component.numwords_b = 512, - altsyncram_component.operation_mode = "BIDIR_DUAL_PORT", - altsyncram_component.outdata_aclr_a = "NONE", - altsyncram_component.outdata_aclr_b = "NONE", - altsyncram_component.outdata_reg_a = "UNREGISTERED", - altsyncram_component.outdata_reg_b = "UNREGISTERED", - altsyncram_component.power_up_uninitialized = "FALSE", - altsyncram_component.read_during_write_mode_port_a = "NEW_DATA_NO_NBE_READ", - altsyncram_component.read_during_write_mode_port_b = "NEW_DATA_NO_NBE_READ", - altsyncram_component.widthad_a = 9, - altsyncram_component.widthad_b = 9, - altsyncram_component.width_a = 8, - altsyncram_component.width_b = 8, - altsyncram_component.width_byteena_a = 1, - altsyncram_component.width_byteena_b = 1, - altsyncram_component.wrcontrol_wraddress_reg_b = "CLOCK1"; - -endmodule - + + // CMD13: SEND_STATUS + 'h4d: begin + reply <= 'h00; // ok + reply0 <='h00; + reply_len <= 1; + end + + // CMD16: SET_BLOCKLEN + 'h50: begin + // we only support a block size of 512 + if(new_lba == 512) reply <= 0; // ok + else reply <= 'h40; // parmeter error + end + + // CMD17: READ_SINGLE_BLOCK + 'h51: reply <= 0; // ok + + // CMD18: READ_MULTIPLE + 'h52: reply <= 0; // ok + // ACMD23: SET_WR_BLK_ERASE_COUNT + 'h57: reply <= 0; //ok + + // CMD24: WRITE_BLOCK + 'h58, + // CMD25: WRITE_MULTIPLE + 'h59: begin + reply <= 0; // ok + write_state <= WR_STATE_EXP_DTOKEN; // expect data token + rx_finish <=0; + lba <= new_lba; + end + + // ACMD41: APP_SEND_OP_COND + 'h69: if(cmd55) reply <= 0; // ok, not busy + + // CMD55: APP_COND + 'h77: reply <= 1; // ok, busy + + // CMD58: READ_OCR + 'h7a: begin + reply <= 0; // ok + + reply0 <= OCR[31:24]; // bit 30 = 1 -> high capacity card + reply1 <= OCR[23:16]; + reply2 <= OCR[15:8]; + reply3 <= OCR[7:0]; + reply_len <= 4; + end + + // CMD59: CRC_ON_OFF + 'h7b: reply <= 0; // ok + endcase + end + + // ---------- handle write ----------- + case(write_state) + // do nothing in idle state + WR_STATE_IDLE: ; + + // waiting for data token + WR_STATE_EXP_DTOKEN: begin + buffer_ptr <= 0; + if(cmd == 'h58) begin + if({sbuf,mosi} == 8'hfe) write_state <= WR_STATE_RECV_DATA; + end + else begin + if({sbuf,mosi} == 8'hfc) write_state <= WR_STATE_RECV_DATA; + if({sbuf,mosi} == 8'hfd) begin + write_state <= WR_STATE_IDLE; + rx_finish <= 1; + end + end + end + + // transfer 512 bytes + WR_STATE_RECV_DATA: begin + // push one byte into local buffer + buffer_wr <= 1; + buffer_din <= {sbuf, mosi}; + + // all bytes written? + if(&buffer_ptr) write_state <= WR_STATE_RECV_CRC0; + end + + // transfer 1st crc byte + WR_STATE_RECV_CRC0: + write_state <= WR_STATE_RECV_CRC1; + + // transfer 2nd crc byte + WR_STATE_RECV_CRC1: + write_state <= WR_STATE_SEND_DRESP; + + // send data response + WR_STATE_SEND_DRESP: begin + write_state <= WR_STATE_BUSY; + io_ack <= 0; + sd_wr <= 1; + end + + // wait for io controller to accept data + WR_STATE_BUSY: + if(io_ack) begin + if(cmd == 'h59) begin + write_state <= WR_STATE_EXP_DTOKEN; + lba <= lba + 1; + end + else begin + write_state <= WR_STATE_IDLE; + rx_finish <= 1; + end + end + endcase + end + + // wait for first 0 bit until start counting bits + if(!synced && !mosi) begin + synced <= 1; + bit_cnt <= 1; // byte assembly prepare for next time loop + sbuf <= 7'b1111110; // byte assembly prepare for next time loop + rx_finish<= 0; + end else if (synced && tx_finish && rx_finish ) begin + synced <= 0; + bit_cnt <= 0; + rx_finish<= 0; + end + end +end + +endmodule + +module sdbuf #(parameter WIDE) +( + input clock_a, + input [AW:0] address_a, + input [DW:0] data_a, + input wren_a, + output reg [DW:0] q_a, + + input clock_b, + input [8:0] address_b, + input [7:0] data_b, + input wren_b, + output reg [7:0] q_b +); + +localparam AW = WIDE ? 7 : 8; +localparam DW = WIDE ? 15 : 7; + +always@(posedge clock_a) begin + if(wren_a) begin + ram[address_a] <= data_a; + q_a <= data_a; + end + else begin + q_a <= ram[address_a]; + end +end + +generate + if(WIDE) begin + reg [1:0][7:0] ram[1<<8]; + always@(posedge clock_b) begin + if(wren_b) begin + ram[address_b[8:1]][address_b[0]] <= data_b; + q_b <= data_b; + end + else begin + q_b <= ram[address_b[8:1]][address_b[0]]; + end + end + end + else begin + reg [7:0] ram[1<<9]; + always@(posedge clock_b) begin + if(wren_b) begin + ram[address_b] <= data_b; + q_b <= data_b; + end + else begin + q_b <= ram[address_b]; + end + end + end +endgenerate + +endmodule diff --git a/sys/spdif.v b/sys/spdif.v index d50c2da..db5027c 100644 --- a/sys/spdif.v +++ b/sys/spdif.v @@ -67,6 +67,8 @@ reg spdif_out_q; reg [5:0] parity_count_q; +reg channel_status_bit; + //----------------------------------------------------------------- // Subframe Counter //----------------------------------------------------------------- @@ -142,7 +144,7 @@ assign subframe_w[28] = 1'b0; // Valid assign subframe_w[29] = 1'b0; // Timeslots 30 = Channel status bit -assign subframe_w[30] = 1'b0; +assign subframe_w[30] = channel_status_bit ; //was constant 1'b0 enabling copy-bit; // Timeslots 31 = Even Parity bit (31:4) assign subframe_w[31] = 1'b0; @@ -150,9 +152,9 @@ assign subframe_w[31] = 1'b0; //----------------------------------------------------------------- // Preamble //----------------------------------------------------------------- -localparam PREAMBLE_Z = 8'b00010111; -localparam PREAMBLE_Y = 8'b00100111; -localparam PREAMBLE_X = 8'b01000111; +localparam PREAMBLE_Z = 8'b00010111; // "B" channel A data at start of block +localparam PREAMBLE_Y = 8'b00100111; // "W" channel B data +localparam PREAMBLE_X = 8'b01000111; // "M" channel A data not at start of block reg [7:0] preamble_r; @@ -168,6 +170,15 @@ begin // Left Channel (but not start of block)? else preamble_r = PREAMBLE_X; // X(M) + + if (subframe_count_q[8:1] == 8'd2) // frame 2 => subframes 4 and 5 => 0 = copy inhibited, 1 = copy permitted + channel_status_bit = 1'b1; + else if (subframe_count_q[8:1] == 8'd15) // frame 15 => 0 = no indication, 1 = original media + channel_status_bit = 1'b1; + else if (subframe_count_q[8:1] == 8'd25) // frame 24 to 27 => sample frequency, 0100 = 48kHz, 0000 = 44kHz (l2r) + channel_status_bit = 1'b1; + else + channel_status_bit = 1'b0; // everything else defaults to 0 end always @ (posedge rst_i or posedge clk_i ) diff --git a/sys/sys.qip b/sys/sys.qip index 7d710e3..ac810d5 100644 --- a/sys/sys.qip +++ b/sys/sys.qip @@ -3,7 +3,6 @@ set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) s set_global_assignment -name SDC_FILE [file join $::quartus(qip_path) sys_top.sdc ] set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) ascal.vhd ] set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) pll_hdmi_adj.vhd ] -set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) fbpal.sv ] set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) hq2x.sv ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) scandoubler.v ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) scanlines.v ] @@ -18,10 +17,13 @@ set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) a set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) i2s.v ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) spdif.v ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) audio_out.v ] +set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) iir_filter.v ] set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) ltc2308.sv ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) sigma_delta_dac.v ] +set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) mt32pi.sv ] set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) hdmi_config.sv ] set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) mcp23009.sv ] +set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) ddr_svc.sv ] set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) sysmem.sv ] -set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) sd_card.v ] +set_global_assignment -name SYSTEMVERILOG_FILE [file join $::quartus(qip_path) sd_card.sv ] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) hps_io.v ] diff --git a/sys/sys.tcl b/sys/sys.tcl index 40bce31..c12cfee 100644 --- a/sys/sys.tcl +++ b/sys/sys.tcl @@ -1,227 +1,226 @@ -set_global_assignment -name FAMILY "Cyclone V" -set_global_assignment -name DEVICE 5CSEBA6U23I7 -set_global_assignment -name DEVICE_FILTER_PACKAGE UFBGA -set_global_assignment -name DEVICE_FILTER_PIN_COUNT 672 -set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 7 - -#============================================================ -# ADC -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_CONVST -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_SCK -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_SDI -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_SDO -set_location_assignment PIN_U9 -to ADC_CONVST -set_location_assignment PIN_V10 -to ADC_SCK -set_location_assignment PIN_AC4 -to ADC_SDI -set_location_assignment PIN_AD4 -to ADC_SDO - -#============================================================ -# ARDUINO -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[*] -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ARDUINO_IO[*] -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to ARDUINO_IO[*] - -#============================================================ -# I2C LEDS/BUTTONS -#============================================================ -set_location_assignment PIN_U14 -to IO_SCL -set_location_assignment PIN_AG9 -to IO_SDA -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to IO_S* -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to IO_S* -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to IO_S* - -#============================================================ -# USER PORT -#============================================================ -set_location_assignment PIN_AF17 -to USER_IO[6] -set_location_assignment PIN_AF15 -to USER_IO[5] -set_location_assignment PIN_AG16 -to USER_IO[4] -set_location_assignment PIN_AH11 -to USER_IO[3] -set_location_assignment PIN_AH12 -to USER_IO[2] -set_location_assignment PIN_AH9 -to USER_IO[1] -set_location_assignment PIN_AG11 -to USER_IO[0] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to USER_IO[*] -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to USER_IO[*] -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to USER_IO[*] - -#============================================================ -# SDIO_CD or SPDIF_OUT -#============================================================ -set_location_assignment PIN_AH7 -to SDCD_SPDIF -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDCD_SPDIF -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDCD_SPDIF -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SDCD_SPDIF - -#============================================================ -# SDRAM -#============================================================ -set_location_assignment PIN_Y11 -to SDRAM_A[0] -set_location_assignment PIN_AA26 -to SDRAM_A[1] -set_location_assignment PIN_AA13 -to SDRAM_A[2] -set_location_assignment PIN_AA11 -to SDRAM_A[3] -set_location_assignment PIN_W11 -to SDRAM_A[4] -set_location_assignment PIN_Y19 -to SDRAM_A[5] -set_location_assignment PIN_AB23 -to SDRAM_A[6] -set_location_assignment PIN_AC23 -to SDRAM_A[7] -set_location_assignment PIN_AC22 -to SDRAM_A[8] -set_location_assignment PIN_C12 -to SDRAM_A[9] -set_location_assignment PIN_AB26 -to SDRAM_A[10] -set_location_assignment PIN_AD17 -to SDRAM_A[11] -set_location_assignment PIN_D12 -to SDRAM_A[12] -set_location_assignment PIN_Y17 -to SDRAM_BA[0] -set_location_assignment PIN_AB25 -to SDRAM_BA[1] -set_location_assignment PIN_E8 -to SDRAM_DQ[0] -set_location_assignment PIN_V12 -to SDRAM_DQ[1] -set_location_assignment PIN_D11 -to SDRAM_DQ[2] -set_location_assignment PIN_W12 -to SDRAM_DQ[3] -set_location_assignment PIN_AH13 -to SDRAM_DQ[4] -set_location_assignment PIN_D8 -to SDRAM_DQ[5] -set_location_assignment PIN_AH14 -to SDRAM_DQ[6] -set_location_assignment PIN_AF7 -to SDRAM_DQ[7] -set_location_assignment PIN_AE24 -to SDRAM_DQ[8] -set_location_assignment PIN_AD23 -to SDRAM_DQ[9] -set_location_assignment PIN_AE6 -to SDRAM_DQ[10] -set_location_assignment PIN_AE23 -to SDRAM_DQ[11] -set_location_assignment PIN_AG14 -to SDRAM_DQ[12] -set_location_assignment PIN_AD5 -to SDRAM_DQ[13] -set_location_assignment PIN_AF4 -to SDRAM_DQ[14] -set_location_assignment PIN_AH3 -to SDRAM_DQ[15] -set_location_assignment PIN_AG13 -to SDRAM_DQML -set_location_assignment PIN_AF13 -to SDRAM_DQMH -set_location_assignment PIN_AD20 -to SDRAM_CLK -set_location_assignment PIN_AG10 -to SDRAM_CKE -set_location_assignment PIN_AA19 -to SDRAM_nWE -set_location_assignment PIN_AA18 -to SDRAM_nCAS -set_location_assignment PIN_Y18 -to SDRAM_nCS -set_location_assignment PIN_W14 -to SDRAM_nRAS - -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDRAM_* -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_* -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_* -set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*] -set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*] -set_instance_assignment -name ALLOW_SYNCH_CTRL_USAGE OFF -to *|SDRAM_* - -#============================================================ -# SPI SD -#============================================================ -set_location_assignment PIN_AE15 -to SD_SPI_CS -set_location_assignment PIN_AH8 -to SD_SPI_MISO -set_location_assignment PIN_AG8 -to SD_SPI_CLK -set_location_assignment PIN_U13 -to SD_SPI_MOSI -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SD_SPI* -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_SPI* -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SD_SPI* - - -#============================================================ -# CLOCK -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK1_50 -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK2_50 -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK3_50 -set_location_assignment PIN_V11 -to FPGA_CLK1_50 -set_location_assignment PIN_Y13 -to FPGA_CLK2_50 -set_location_assignment PIN_E11 -to FPGA_CLK3_50 - -#============================================================ -# HDMI -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2C_* -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2S -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_LRCLK -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_MCLK -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_SCLK -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_* -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_D[*] -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_DE -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_HS -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_VS -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_CLK -set_location_assignment PIN_U10 -to HDMI_I2C_SCL -set_location_assignment PIN_AA4 -to HDMI_I2C_SDA -set_location_assignment PIN_T13 -to HDMI_I2S -set_location_assignment PIN_T11 -to HDMI_LRCLK -set_location_assignment PIN_U11 -to HDMI_MCLK -set_location_assignment PIN_T12 -to HDMI_SCLK -set_location_assignment PIN_AG5 -to HDMI_TX_CLK -set_location_assignment PIN_AD19 -to HDMI_TX_DE -set_location_assignment PIN_AD12 -to HDMI_TX_D[0] -set_location_assignment PIN_AE12 -to HDMI_TX_D[1] -set_location_assignment PIN_W8 -to HDMI_TX_D[2] -set_location_assignment PIN_Y8 -to HDMI_TX_D[3] -set_location_assignment PIN_AD11 -to HDMI_TX_D[4] -set_location_assignment PIN_AD10 -to HDMI_TX_D[5] -set_location_assignment PIN_AE11 -to HDMI_TX_D[6] -set_location_assignment PIN_Y5 -to HDMI_TX_D[7] -set_location_assignment PIN_AF10 -to HDMI_TX_D[8] -set_location_assignment PIN_Y4 -to HDMI_TX_D[9] -set_location_assignment PIN_AE9 -to HDMI_TX_D[10] -set_location_assignment PIN_AB4 -to HDMI_TX_D[11] -set_location_assignment PIN_AE7 -to HDMI_TX_D[12] -set_location_assignment PIN_AF6 -to HDMI_TX_D[13] -set_location_assignment PIN_AF8 -to HDMI_TX_D[14] -set_location_assignment PIN_AF5 -to HDMI_TX_D[15] -set_location_assignment PIN_AE4 -to HDMI_TX_D[16] -set_location_assignment PIN_AH2 -to HDMI_TX_D[17] -set_location_assignment PIN_AH4 -to HDMI_TX_D[18] -set_location_assignment PIN_AH5 -to HDMI_TX_D[19] -set_location_assignment PIN_AH6 -to HDMI_TX_D[20] -set_location_assignment PIN_AG6 -to HDMI_TX_D[21] -set_location_assignment PIN_AF9 -to HDMI_TX_D[22] -set_location_assignment PIN_AE8 -to HDMI_TX_D[23] -set_location_assignment PIN_T8 -to HDMI_TX_HS -set_location_assignment PIN_AF11 -to HDMI_TX_INT -set_location_assignment PIN_V13 -to HDMI_TX_VS - -#============================================================ -# KEY -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[0] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[1] -set_location_assignment PIN_AH17 -to KEY[0] -set_location_assignment PIN_AH16 -to KEY[1] - -#============================================================ -# LED -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[0] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[1] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[2] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[3] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[4] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[5] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[6] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[7] -set_location_assignment PIN_W15 -to LED[0] -set_location_assignment PIN_AA24 -to LED[1] -set_location_assignment PIN_V16 -to LED[2] -set_location_assignment PIN_V15 -to LED[3] -set_location_assignment PIN_AF26 -to LED[4] -set_location_assignment PIN_AE26 -to LED[5] -set_location_assignment PIN_Y16 -to LED[6] -set_location_assignment PIN_AA23 -to LED[7] - -#============================================================ -# SW -#============================================================ -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[0] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[1] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[2] -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[3] -set_location_assignment PIN_Y24 -to SW[0] -set_location_assignment PIN_W24 -to SW[1] -set_location_assignment PIN_W21 -to SW[2] -set_location_assignment PIN_W20 -to SW[3] - -set_instance_assignment -name HPS_LOCATION HPSINTERFACEPERIPHERALSPIMASTER_X52_Y72_N111 -entity sys_top -to spi -set_instance_assignment -name HPS_LOCATION HPSINTERFACEPERIPHERALUART_X52_Y67_N111 -entity sys_top -to uart -set_location_assignment FRACTIONALPLL_X89_Y1_N0 -to emu:emu|pll:pll|pll_0002:pll_inst|altera_pll:altera_pll_i|altera_cyclonev_pll:cyclonev_pll|altera_cyclonev_pll_base:fpll_0|fpll - -set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:sys/build_id.tcl" - -set_global_assignment -name CDF_FILE jtag.cdf -set_global_assignment -name QIP_FILE sys/sys.qip - +set_global_assignment -name FAMILY "Cyclone V" +set_global_assignment -name DEVICE 5CSEBA6U23I7 +set_global_assignment -name DEVICE_FILTER_PACKAGE UFBGA +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 672 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 7 + +#============================================================ +# ADC +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_CONVST +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_SCK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_SDI +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ADC_SDO +set_location_assignment PIN_U9 -to ADC_CONVST +set_location_assignment PIN_V10 -to ADC_SCK +set_location_assignment PIN_AC4 -to ADC_SDI +set_location_assignment PIN_AD4 -to ADC_SDO + +#============================================================ +# ARDUINO +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to ARDUINO_IO[*] +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to ARDUINO_IO[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to ARDUINO_IO[*] + +#============================================================ +# I2C LEDS/BUTTONS +#============================================================ +set_location_assignment PIN_U14 -to IO_SCL +set_location_assignment PIN_AG9 -to IO_SDA +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to IO_S* +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to IO_S* +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to IO_S* + +#============================================================ +# USER PORT +#============================================================ +set_location_assignment PIN_AF17 -to USER_IO[6] +set_location_assignment PIN_AF15 -to USER_IO[5] +set_location_assignment PIN_AG16 -to USER_IO[4] +set_location_assignment PIN_AH11 -to USER_IO[3] +set_location_assignment PIN_AH12 -to USER_IO[2] +set_location_assignment PIN_AH9 -to USER_IO[1] +set_location_assignment PIN_AG11 -to USER_IO[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to USER_IO[*] +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to USER_IO[*] +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to USER_IO[*] + +#============================================================ +# SDIO_CD or SPDIF_OUT +#============================================================ +set_location_assignment PIN_AH7 -to SDCD_SPDIF +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDCD_SPDIF +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDCD_SPDIF +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SDCD_SPDIF + +#============================================================ +# SDRAM +#============================================================ +set_location_assignment PIN_Y11 -to SDRAM_A[0] +set_location_assignment PIN_AA26 -to SDRAM_A[1] +set_location_assignment PIN_AA13 -to SDRAM_A[2] +set_location_assignment PIN_AA11 -to SDRAM_A[3] +set_location_assignment PIN_W11 -to SDRAM_A[4] +set_location_assignment PIN_Y19 -to SDRAM_A[5] +set_location_assignment PIN_AB23 -to SDRAM_A[6] +set_location_assignment PIN_AC23 -to SDRAM_A[7] +set_location_assignment PIN_AC22 -to SDRAM_A[8] +set_location_assignment PIN_C12 -to SDRAM_A[9] +set_location_assignment PIN_AB26 -to SDRAM_A[10] +set_location_assignment PIN_AD17 -to SDRAM_A[11] +set_location_assignment PIN_D12 -to SDRAM_A[12] +set_location_assignment PIN_Y17 -to SDRAM_BA[0] +set_location_assignment PIN_AB25 -to SDRAM_BA[1] +set_location_assignment PIN_E8 -to SDRAM_DQ[0] +set_location_assignment PIN_V12 -to SDRAM_DQ[1] +set_location_assignment PIN_D11 -to SDRAM_DQ[2] +set_location_assignment PIN_W12 -to SDRAM_DQ[3] +set_location_assignment PIN_AH13 -to SDRAM_DQ[4] +set_location_assignment PIN_D8 -to SDRAM_DQ[5] +set_location_assignment PIN_AH14 -to SDRAM_DQ[6] +set_location_assignment PIN_AF7 -to SDRAM_DQ[7] +set_location_assignment PIN_AE24 -to SDRAM_DQ[8] +set_location_assignment PIN_AD23 -to SDRAM_DQ[9] +set_location_assignment PIN_AE6 -to SDRAM_DQ[10] +set_location_assignment PIN_AE23 -to SDRAM_DQ[11] +set_location_assignment PIN_AG14 -to SDRAM_DQ[12] +set_location_assignment PIN_AD5 -to SDRAM_DQ[13] +set_location_assignment PIN_AF4 -to SDRAM_DQ[14] +set_location_assignment PIN_AH3 -to SDRAM_DQ[15] +set_location_assignment PIN_AG13 -to SDRAM_DQML +set_location_assignment PIN_AF13 -to SDRAM_DQMH +set_location_assignment PIN_AD20 -to SDRAM_CLK +set_location_assignment PIN_AG10 -to SDRAM_CKE +set_location_assignment PIN_AA19 -to SDRAM_nWE +set_location_assignment PIN_AA18 -to SDRAM_nCAS +set_location_assignment PIN_Y18 -to SDRAM_nCS +set_location_assignment PIN_W14 -to SDRAM_nRAS + +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDRAM_* +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM_* +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM_* +set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM_DQ[*] +set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM_DQ[*] +set_instance_assignment -name ALLOW_SYNCH_CTRL_USAGE OFF -to *|SDRAM_* + +#============================================================ +# SPI SD +#============================================================ +set_location_assignment PIN_AE15 -to SD_SPI_CS +set_location_assignment PIN_AH8 -to SD_SPI_MISO +set_location_assignment PIN_AG8 -to SD_SPI_CLK +set_location_assignment PIN_U13 -to SD_SPI_MOSI +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SD_SPI* +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SD_SPI* +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SD_SPI* + + +#============================================================ +# CLOCK +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK1_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK2_50 +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to FPGA_CLK3_50 +set_location_assignment PIN_V11 -to FPGA_CLK1_50 +set_location_assignment PIN_Y13 -to FPGA_CLK2_50 +set_location_assignment PIN_E11 -to FPGA_CLK3_50 + +#============================================================ +# HDMI +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2C_* +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_I2S +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_LRCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_MCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_SCLK +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to HDMI_TX_* +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_D[*] +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_DE +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_HS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_VS +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to HDMI_TX_CLK +set_location_assignment PIN_U10 -to HDMI_I2C_SCL +set_location_assignment PIN_AA4 -to HDMI_I2C_SDA +set_location_assignment PIN_T13 -to HDMI_I2S +set_location_assignment PIN_T11 -to HDMI_LRCLK +set_location_assignment PIN_U11 -to HDMI_MCLK +set_location_assignment PIN_T12 -to HDMI_SCLK +set_location_assignment PIN_AG5 -to HDMI_TX_CLK +set_location_assignment PIN_AD19 -to HDMI_TX_DE +set_location_assignment PIN_AD12 -to HDMI_TX_D[0] +set_location_assignment PIN_AE12 -to HDMI_TX_D[1] +set_location_assignment PIN_W8 -to HDMI_TX_D[2] +set_location_assignment PIN_Y8 -to HDMI_TX_D[3] +set_location_assignment PIN_AD11 -to HDMI_TX_D[4] +set_location_assignment PIN_AD10 -to HDMI_TX_D[5] +set_location_assignment PIN_AE11 -to HDMI_TX_D[6] +set_location_assignment PIN_Y5 -to HDMI_TX_D[7] +set_location_assignment PIN_AF10 -to HDMI_TX_D[8] +set_location_assignment PIN_Y4 -to HDMI_TX_D[9] +set_location_assignment PIN_AE9 -to HDMI_TX_D[10] +set_location_assignment PIN_AB4 -to HDMI_TX_D[11] +set_location_assignment PIN_AE7 -to HDMI_TX_D[12] +set_location_assignment PIN_AF6 -to HDMI_TX_D[13] +set_location_assignment PIN_AF8 -to HDMI_TX_D[14] +set_location_assignment PIN_AF5 -to HDMI_TX_D[15] +set_location_assignment PIN_AE4 -to HDMI_TX_D[16] +set_location_assignment PIN_AH2 -to HDMI_TX_D[17] +set_location_assignment PIN_AH4 -to HDMI_TX_D[18] +set_location_assignment PIN_AH5 -to HDMI_TX_D[19] +set_location_assignment PIN_AH6 -to HDMI_TX_D[20] +set_location_assignment PIN_AG6 -to HDMI_TX_D[21] +set_location_assignment PIN_AF9 -to HDMI_TX_D[22] +set_location_assignment PIN_AE8 -to HDMI_TX_D[23] +set_location_assignment PIN_T8 -to HDMI_TX_HS +set_location_assignment PIN_AF11 -to HDMI_TX_INT +set_location_assignment PIN_V13 -to HDMI_TX_VS + +#============================================================ +# KEY +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to KEY[1] +set_location_assignment PIN_AH17 -to KEY[0] +set_location_assignment PIN_AH16 -to KEY[1] + +#============================================================ +# LED +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[3] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[4] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[5] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[6] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED[7] +set_location_assignment PIN_W15 -to LED[0] +set_location_assignment PIN_AA24 -to LED[1] +set_location_assignment PIN_V16 -to LED[2] +set_location_assignment PIN_V15 -to LED[3] +set_location_assignment PIN_AF26 -to LED[4] +set_location_assignment PIN_AE26 -to LED[5] +set_location_assignment PIN_Y16 -to LED[6] +set_location_assignment PIN_AA23 -to LED[7] + +#============================================================ +# SW +#============================================================ +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[0] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[1] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[2] +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SW[3] +set_location_assignment PIN_Y24 -to SW[0] +set_location_assignment PIN_W24 -to SW[1] +set_location_assignment PIN_W21 -to SW[2] +set_location_assignment PIN_W20 -to SW[3] + +set_instance_assignment -name HPS_LOCATION HPSINTERFACEPERIPHERALSPIMASTER_X52_Y72_N111 -entity sys_top -to spi +set_instance_assignment -name HPS_LOCATION HPSINTERFACEPERIPHERALUART_X52_Y67_N111 -entity sys_top -to uart + +set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:sys/build_id.tcl" + +set_global_assignment -name CDF_FILE jtag.cdf +set_global_assignment -name QIP_FILE sys/sys.qip + diff --git a/sys/sys_analog.tcl b/sys/sys_analog.tcl index 7ffb3ec..692043f 100644 --- a/sys/sys_analog.tcl +++ b/sys/sys_analog.tcl @@ -1,71 +1,71 @@ -#============================================================ -# SDIO -#============================================================ -set_location_assignment PIN_AF25 -to SDIO_DAT[0] -set_location_assignment PIN_AF23 -to SDIO_DAT[1] -set_location_assignment PIN_AD26 -to SDIO_DAT[2] -set_location_assignment PIN_AF28 -to SDIO_DAT[3] -set_location_assignment PIN_AF27 -to SDIO_CMD -set_location_assignment PIN_AH26 -to SDIO_CLK -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDIO_* - -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDIO_* -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SDIO_DAT[*] -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SDIO_CMD - -#============================================================ -# VGA -#============================================================ -set_location_assignment PIN_AE17 -to VGA_R[0] -set_location_assignment PIN_AE20 -to VGA_R[1] -set_location_assignment PIN_AF20 -to VGA_R[2] -set_location_assignment PIN_AH18 -to VGA_R[3] -set_location_assignment PIN_AH19 -to VGA_R[4] -set_location_assignment PIN_AF21 -to VGA_R[5] - -set_location_assignment PIN_AE19 -to VGA_G[0] -set_location_assignment PIN_AG15 -to VGA_G[1] -set_location_assignment PIN_AF18 -to VGA_G[2] -set_location_assignment PIN_AG18 -to VGA_G[3] -set_location_assignment PIN_AG19 -to VGA_G[4] -set_location_assignment PIN_AG20 -to VGA_G[5] - -set_location_assignment PIN_AG21 -to VGA_B[0] -set_location_assignment PIN_AA20 -to VGA_B[1] -set_location_assignment PIN_AE22 -to VGA_B[2] -set_location_assignment PIN_AF22 -to VGA_B[3] -set_location_assignment PIN_AH23 -to VGA_B[4] -set_location_assignment PIN_AH21 -to VGA_B[5] - -set_location_assignment PIN_AH22 -to VGA_HS -set_location_assignment PIN_AG24 -to VGA_VS - -set_location_assignment PIN_AH27 -to VGA_EN -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to VGA_EN - -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_* -set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to VGA_* - -#============================================================ -# AUDIO -#============================================================ -set_location_assignment PIN_AC24 -to AUDIO_L -set_location_assignment PIN_AE25 -to AUDIO_R -set_location_assignment PIN_AG26 -to AUDIO_SPDIF -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUDIO_* -set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to AUDIO_* - -#============================================================ -# I/O #1 -#============================================================ -set_location_assignment PIN_Y15 -to LED_USER -set_location_assignment PIN_AA15 -to LED_HDD -set_location_assignment PIN_AG28 -to LED_POWER - -set_location_assignment PIN_AH24 -to BTN_USER -set_location_assignment PIN_AG25 -to BTN_OSD -set_location_assignment PIN_AG23 -to BTN_RESET - -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED_* -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to BTN_* -set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to BTN_* +#============================================================ +# SDIO +#============================================================ +set_location_assignment PIN_AF25 -to SDIO_DAT[0] +set_location_assignment PIN_AF23 -to SDIO_DAT[1] +set_location_assignment PIN_AD26 -to SDIO_DAT[2] +set_location_assignment PIN_AF28 -to SDIO_DAT[3] +set_location_assignment PIN_AF27 -to SDIO_CMD +set_location_assignment PIN_AH26 -to SDIO_CLK +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDIO_* + +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDIO_* +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SDIO_DAT[*] +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SDIO_CMD + +#============================================================ +# VGA +#============================================================ +set_location_assignment PIN_AE17 -to VGA_R[0] +set_location_assignment PIN_AE20 -to VGA_R[1] +set_location_assignment PIN_AF20 -to VGA_R[2] +set_location_assignment PIN_AH18 -to VGA_R[3] +set_location_assignment PIN_AH19 -to VGA_R[4] +set_location_assignment PIN_AF21 -to VGA_R[5] + +set_location_assignment PIN_AE19 -to VGA_G[0] +set_location_assignment PIN_AG15 -to VGA_G[1] +set_location_assignment PIN_AF18 -to VGA_G[2] +set_location_assignment PIN_AG18 -to VGA_G[3] +set_location_assignment PIN_AG19 -to VGA_G[4] +set_location_assignment PIN_AG20 -to VGA_G[5] + +set_location_assignment PIN_AG21 -to VGA_B[0] +set_location_assignment PIN_AA20 -to VGA_B[1] +set_location_assignment PIN_AE22 -to VGA_B[2] +set_location_assignment PIN_AF22 -to VGA_B[3] +set_location_assignment PIN_AH23 -to VGA_B[4] +set_location_assignment PIN_AH21 -to VGA_B[5] + +set_location_assignment PIN_AH22 -to VGA_HS +set_location_assignment PIN_AG24 -to VGA_VS + +set_location_assignment PIN_AH27 -to VGA_EN +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to VGA_EN + +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to VGA_* +set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to VGA_* + +#============================================================ +# AUDIO +#============================================================ +set_location_assignment PIN_AC24 -to AUDIO_L +set_location_assignment PIN_AE25 -to AUDIO_R +set_location_assignment PIN_AG26 -to AUDIO_SPDIF +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to AUDIO_* +set_instance_assignment -name CURRENT_STRENGTH_NEW 8MA -to AUDIO_* + +#============================================================ +# I/O #1 +#============================================================ +set_location_assignment PIN_Y15 -to LED_USER +set_location_assignment PIN_AA15 -to LED_HDD +set_location_assignment PIN_AG28 -to LED_POWER + +set_location_assignment PIN_AH24 -to BTN_USER +set_location_assignment PIN_AG25 -to BTN_OSD +set_location_assignment PIN_AG23 -to BTN_RESET + +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to LED_* +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to BTN_* +set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to BTN_* diff --git a/sys/sys_dual_sdram.tcl b/sys/sys_dual_sdram.tcl index 06124e7..bffcdf4 100644 --- a/sys/sys_dual_sdram.tcl +++ b/sys/sys_dual_sdram.tcl @@ -1,50 +1,50 @@ -#============================================================ -# Secondary SDRAM -#============================================================ -set_location_assignment PIN_Y15 -to SDRAM2_DQ[0] -set_location_assignment PIN_AC24 -to SDRAM2_DQ[1] -set_location_assignment PIN_AA15 -to SDRAM2_DQ[2] -set_location_assignment PIN_AD26 -to SDRAM2_DQ[3] -set_location_assignment PIN_AG28 -to SDRAM2_DQ[4] -set_location_assignment PIN_AF28 -to SDRAM2_DQ[5] -set_location_assignment PIN_AE25 -to SDRAM2_DQ[6] -set_location_assignment PIN_AF27 -to SDRAM2_DQ[7] -set_location_assignment PIN_AG26 -to SDRAM2_DQ[14] -set_location_assignment PIN_AH27 -to SDRAM2_DQ[15] - -set_location_assignment PIN_AG25 -to SDRAM2_DQ[13] -set_location_assignment PIN_AH26 -to SDRAM2_DQ[12] -set_location_assignment PIN_AH24 -to SDRAM2_DQ[11] -set_location_assignment PIN_AF25 -to SDRAM2_DQ[10] -set_location_assignment PIN_AG23 -to SDRAM2_DQ[9] -set_location_assignment PIN_AF23 -to SDRAM2_DQ[8] -set_location_assignment PIN_AG24 -to SDRAM2_A[12] -set_location_assignment PIN_AH22 -to SDRAM2_CLK -set_location_assignment PIN_AH21 -to SDRAM2_A[9] -set_location_assignment PIN_AG21 -to SDRAM2_A[11] -set_location_assignment PIN_AH23 -to SDRAM2_A[7] -set_location_assignment PIN_AA20 -to SDRAM2_A[8] -set_location_assignment PIN_AF22 -to SDRAM2_A[5] -set_location_assignment PIN_AE22 -to SDRAM2_A[6] -set_location_assignment PIN_AG20 -to SDRAM2_nWE -set_location_assignment PIN_AF21 -to SDRAM2_A[4] - -set_location_assignment PIN_AG19 -to SDRAM2_nCAS -set_location_assignment PIN_AH19 -to SDRAM2_nRAS -set_location_assignment PIN_AG18 -to SDRAM2_nCS -set_location_assignment PIN_AH18 -to SDRAM2_BA[0] -set_location_assignment PIN_AF18 -to SDRAM2_BA[1] -set_location_assignment PIN_AF20 -to SDRAM2_A[10] -set_location_assignment PIN_AG15 -to SDRAM2_A[0] -set_location_assignment PIN_AE20 -to SDRAM2_A[1] -set_location_assignment PIN_AE19 -to SDRAM2_A[2] -set_location_assignment PIN_AE17 -to SDRAM2_A[3] - -set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDRAM2_* -set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM2_* -set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM2_* -set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM2_DQ[*] -set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM2_DQ[*] -set_instance_assignment -name ALLOW_SYNCH_CTRL_USAGE OFF -to *|SDRAM2_* - -set_global_assignment -name VERILOG_MACRO "DUAL_SDRAM=1" +#============================================================ +# Secondary SDRAM +#============================================================ +set_location_assignment PIN_Y15 -to SDRAM2_DQ[0] +set_location_assignment PIN_AC24 -to SDRAM2_DQ[1] +set_location_assignment PIN_AA15 -to SDRAM2_DQ[2] +set_location_assignment PIN_AD26 -to SDRAM2_DQ[3] +set_location_assignment PIN_AG28 -to SDRAM2_DQ[4] +set_location_assignment PIN_AF28 -to SDRAM2_DQ[5] +set_location_assignment PIN_AE25 -to SDRAM2_DQ[6] +set_location_assignment PIN_AF27 -to SDRAM2_DQ[7] +set_location_assignment PIN_AG26 -to SDRAM2_DQ[14] +set_location_assignment PIN_AH27 -to SDRAM2_DQ[15] + +set_location_assignment PIN_AG25 -to SDRAM2_DQ[13] +set_location_assignment PIN_AH26 -to SDRAM2_DQ[12] +set_location_assignment PIN_AH24 -to SDRAM2_DQ[11] +set_location_assignment PIN_AF25 -to SDRAM2_DQ[10] +set_location_assignment PIN_AG23 -to SDRAM2_DQ[9] +set_location_assignment PIN_AF23 -to SDRAM2_DQ[8] +set_location_assignment PIN_AG24 -to SDRAM2_A[12] +set_location_assignment PIN_AH22 -to SDRAM2_CLK +set_location_assignment PIN_AH21 -to SDRAM2_A[9] +set_location_assignment PIN_AG21 -to SDRAM2_A[11] +set_location_assignment PIN_AH23 -to SDRAM2_A[7] +set_location_assignment PIN_AA20 -to SDRAM2_A[8] +set_location_assignment PIN_AF22 -to SDRAM2_A[5] +set_location_assignment PIN_AE22 -to SDRAM2_A[6] +set_location_assignment PIN_AG20 -to SDRAM2_nWE +set_location_assignment PIN_AF21 -to SDRAM2_A[4] + +set_location_assignment PIN_AG19 -to SDRAM2_nCAS +set_location_assignment PIN_AH19 -to SDRAM2_nRAS +set_location_assignment PIN_AG18 -to SDRAM2_nCS +set_location_assignment PIN_AH18 -to SDRAM2_BA[0] +set_location_assignment PIN_AF18 -to SDRAM2_BA[1] +set_location_assignment PIN_AF20 -to SDRAM2_A[10] +set_location_assignment PIN_AG15 -to SDRAM2_A[0] +set_location_assignment PIN_AE20 -to SDRAM2_A[1] +set_location_assignment PIN_AE19 -to SDRAM2_A[2] +set_location_assignment PIN_AE17 -to SDRAM2_A[3] + +set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to SDRAM2_* +set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to SDRAM2_* +set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to SDRAM2_* +set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to SDRAM2_DQ[*] +set_instance_assignment -name FAST_INPUT_REGISTER ON -to SDRAM2_DQ[*] +set_instance_assignment -name ALLOW_SYNCH_CTRL_USAGE OFF -to *|SDRAM2_* + +set_global_assignment -name VERILOG_MACRO "DUAL_SDRAM=1" diff --git a/sys/sys_top.sdc b/sys/sys_top.sdc index 84509ec..6e8fd80 100644 --- a/sys/sys_top.sdc +++ b/sys/sys_top.sdc @@ -1,48 +1,60 @@ -# Specify root clocks -create_clock -period "50.0 MHz" [get_ports FPGA_CLK1_50] -create_clock -period "50.0 MHz" [get_ports FPGA_CLK2_50] -create_clock -period "50.0 MHz" [get_ports FPGA_CLK3_50] -create_clock -period "100.0 MHz" [get_pins -compatibility_mode *|h2f_user0_clk] -create_clock -period "100.0 MHz" [get_pins -compatibility_mode spi|sclk_out] -name spi_sck - -derive_pll_clocks -derive_clock_uncertainty - -# Decouple different clock groups (to simplify routing) -set_clock_groups -exclusive \ - -group [get_clocks { *|pll|pll_inst|altera_pll_i|*[*].*|divclk}] \ - -group [get_clocks { pll_hdmi|pll_hdmi_inst|altera_pll_i|*[0].*|divclk}] \ - -group [get_clocks { *|h2f_user0_clk}] \ - -group [get_clocks { FPGA_CLK1_50 }] \ - -group [get_clocks { FPGA_CLK2_50 }] \ - -group [get_clocks { FPGA_CLK3_50 }] - -set_false_path -from [get_ports {KEY*}] -set_false_path -from [get_ports {BTN_*}] -set_false_path -to [get_ports {LED_*}] -set_false_path -to [get_ports {VGA_*}] -set_false_path -to [get_ports {AUDIO_SPDIF}] -set_false_path -to [get_ports {AUDIO_L}] -set_false_path -to [get_ports {AUDIO_R}] -set_false_path -to {cfg[*]} -set_false_path -from {cfg[*]} -set_false_path -from {VSET[*]} -set_false_path -to {wcalc[*] hcalc[*]} - -set_multicycle_path -to {*_osd|osd_vcnt*} -setup 2 -set_multicycle_path -to {*_osd|osd_vcnt*} -hold 2 -set_false_path -to {*_osd|v_cnt*} -set_false_path -to {*_osd|v_osd_start*} -set_false_path -to {*_osd|h_osd_start*} -set_false_path -from {*_osd|v_osd_start*} -set_false_path -from {*_osd|h_osd_start*} -set_false_path -from {*_osd|rot*} -set_false_path -from {*_osd|dsp_width*} -set_false_path -to {*_osd|half} - -set_false_path -to {WIDTH[*] HFP[*] HS[*] HBP[*] HEIGHT[*] VFP[*] VS[*] VBP[*]} -set_false_path -from {WIDTH[*] HFP[*] HS[*] HBP[*] HEIGHT[*] VFP[*] VS[*] VBP[*]} -set_false_path -to {FB_BASE[*] FB_BASE[*] FB_WIDTH[*] FB_HEIGHT[*] FB_HMIN[*] FB_HMAX[*] FB_VMIN[*] FB_VMAX[*]} -set_false_path -from {FB_BASE[*] FB_BASE[*] FB_WIDTH[*] FB_HEIGHT[*] FB_HMIN[*] FB_HMAX[*] FB_VMIN[*] FB_VMAX[*]} -set_false_path -to {vol_att[*] scaler_flt[*] led_overtake[*] led_state[*]} -set_false_path -from {vol_att[*] scaler_flt[*] led_overtake[*] led_state[*]} +# Specify root clocks +create_clock -period "50.0 MHz" [get_ports FPGA_CLK1_50] +create_clock -period "50.0 MHz" [get_ports FPGA_CLK2_50] +create_clock -period "50.0 MHz" [get_ports FPGA_CLK3_50] +create_clock -period "100.0 MHz" [get_pins -compatibility_mode *|h2f_user0_clk] +create_clock -period "100.0 MHz" [get_pins -compatibility_mode spi|sclk_out] -name spi_sck + +derive_pll_clocks +derive_clock_uncertainty + +# Decouple different clock groups (to simplify routing) +set_clock_groups -exclusive \ + -group [get_clocks { *|pll|pll_inst|altera_pll_i|*[*].*|divclk}] \ + -group [get_clocks { pll_hdmi|pll_hdmi_inst|altera_pll_i|*[0].*|divclk}] \ + -group [get_clocks { pll_audio|pll_audio_inst|altera_pll_i|*[0].*|divclk}] \ + -group [get_clocks { spi_sck}] \ + -group [get_clocks { *|h2f_user0_clk}] \ + -group [get_clocks { FPGA_CLK1_50 }] \ + -group [get_clocks { FPGA_CLK2_50 }] \ + -group [get_clocks { FPGA_CLK3_50 }] + +set_false_path -from [get_ports {KEY*}] +set_false_path -from [get_ports {BTN_*}] +set_false_path -to [get_ports {LED_*}] +set_false_path -to [get_ports {VGA_*}] +set_false_path -to [get_ports {AUDIO_SPDIF}] +set_false_path -to [get_ports {AUDIO_L}] +set_false_path -to [get_ports {AUDIO_R}] +set_false_path -to {cfg[*]} +set_false_path -from {cfg[*]} +set_false_path -from {VSET[*]} +set_false_path -to {wcalc[*] hcalc[*]} +set_false_path -to {width[*] height[*]} + +set_multicycle_path -to {*_osd|osd_vcnt*} -setup 2 +set_multicycle_path -to {*_osd|osd_vcnt*} -hold 1 +set_false_path -to {*_osd|v_cnt*} +set_false_path -to {*_osd|v_osd_start*} +set_false_path -to {*_osd|v_info_start*} +set_false_path -to {*_osd|h_osd_start*} +set_false_path -from {*_osd|v_osd_start*} +set_false_path -from {*_osd|v_info_start*} +set_false_path -from {*_osd|h_osd_start*} +set_false_path -from {*_osd|rot*} +set_false_path -from {*_osd|dsp_width*} +set_false_path -to {*_osd|half} + +set_false_path -to {WIDTH[*] HFP[*] HS[*] HBP[*] HEIGHT[*] VFP[*] VS[*] VBP[*]} +set_false_path -from {WIDTH[*] HFP[*] HS[*] HBP[*] HEIGHT[*] VFP[*] VS[*] VBP[*]} +set_false_path -to {FB_BASE[*] FB_BASE[*] FB_WIDTH[*] FB_HEIGHT[*] LFB_HMIN[*] LFB_HMAX[*] LFB_VMIN[*] LFB_VMAX[*]} +set_false_path -from {FB_BASE[*] FB_BASE[*] FB_WIDTH[*] FB_HEIGHT[*] LFB_HMIN[*] LFB_HMAX[*] LFB_VMIN[*] LFB_VMAX[*]} +set_false_path -to {vol_att[*] scaler_flt[*] led_overtake[*] led_state[*]} +set_false_path -from {vol_att[*] scaler_flt[*] led_overtake[*] led_state[*]} +set_false_path -from {aflt_* acx* acy* areset*} + +set_false_path -from {ascal|o_ihsize*} +set_false_path -from {ascal|o_ivsize*} +set_false_path -from {ascal|o_format*} +set_false_path -from {ascal|o_hdown} +set_false_path -from {ascal|o_vdown} diff --git a/sys/sys_top.v b/sys/sys_top.v index 1908c1b..f4d0029 100644 --- a/sys/sys_top.v +++ b/sys/sys_top.v @@ -1,7 +1,7 @@ //============================================================================ // -// MiSTer hardware abstraction module (Arcade version) -// (c)2017-2019 Alexey Melnikov +// MiSTer hardware abstraction module +// (c)2017-2020 Alexey Melnikov // // This program is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free @@ -19,6 +19,18 @@ // //============================================================================ +`ifndef ARCADE_SYS + `define USE_DDRAM + `define USE_SDRAM +`endif + +`ifndef USE_DDRAM + `ifdef USE_FB + `define USE_DDRAM + `endif +`endif + + module sys_top ( /////////// CLOCK ////////// @@ -125,17 +137,33 @@ module sys_top ); ////////////////////// Secondary SD /////////////////////////////////// +wire SD_CS, SD_CLK, SD_MOSI; + +`ifdef ARCADE_SYS + assign SD_CS = 1'bZ; + assign SD_CLK = 1'bZ; + assign SD_MOSI = 1'bZ; +`else + `ifndef DUAL_SDRAM + wire sd_miso = SW[3] | SDIO_DAT[0]; + `else + wire sd_miso = 1; + `endif + wire SD_MISO = mcp_sdcd ? sd_miso : SD_SPI_MISO; +`endif `ifndef DUAL_SDRAM - assign SDIO_DAT = 4'bZZZZ; - assign SDIO_CLK = 1'bZ; - assign SDIO_CMD = 1'bZ; - assign SD_SPI_CS = mcp_sdcd ? ((~VGA_EN & sog & ~cs1) ? 1'b1 : 1'bZ) : 1'bZ; + assign SDIO_DAT[2:1]= 2'bZZ; + assign SDIO_DAT[3] = SW[3] ? 1'bZ : SD_CS; + assign SDIO_CLK = SW[3] ? 1'bZ : SD_CLK; + assign SDIO_CMD = SW[3] ? 1'bZ : SD_MOSI; + assign SD_SPI_CS = mcp_sdcd ? ((~VGA_EN & sog & ~cs1) ? 1'b1 : 1'bZ) : SD_CS; `else - assign SD_SPI_CS = 1'bZ; + assign SD_SPI_CS = mcp_sdcd ? 1'bZ : SD_CS; `endif -assign SD_SPI_CLK = 1'bZ; -assign SD_SPI_MOSI = 1'bZ; + +assign SD_SPI_CLK = mcp_sdcd ? 1'bZ : SD_CLK; +assign SD_SPI_MOSI = mcp_sdcd ? 1'bZ : SD_MOSI; ////////////////////// LEDs/Buttons /////////////////////////////////// @@ -186,7 +214,7 @@ always @(posedge FPGA_CLK2_50) begin div <= div + 1'b1; if(div > 100000) div <= 0; - + if(!div) begin deb_user <= {deb_user[6:0], btn_u | ~KEY[1]}; if(&deb_user) btn_user <= 1; @@ -198,26 +226,27 @@ always @(posedge FPGA_CLK2_50) begin end end - ///////////////////////// HPS I/O ///////////////////////////////////// // gp_in[31] = 0 - quick flag that FPGA is initialized (HPS reads 1 when FPGA is not in user mode) // used to avoid lockups while JTAG loading -wire [31:0] gp_in = {1'b0, btn_user, btn_osd, SW[3], 8'd0, io_ver, io_ack, io_wide, io_dout}; +wire [31:0] gp_in = {1'b0, btn_user | btn[1], btn_osd | btn[0], SW[3], 8'd0, io_ver, io_ack, io_wide, io_dout}; wire [31:0] gp_out; -wire [1:0] io_ver = 1; // 0 - standard MiST I/O (for quick porting of complex MiST cores). 1 - optimized HPS I/O. 2,3 - reserved for future. +wire [1:0] io_ver = 1; // 0 - standard MiST I/O (for quick porting of complex MiST cores). 1 - optimized HPS I/O. 2,3 - reserved for future. wire io_wait; wire io_wide; wire [15:0] io_dout; -wire [15:0] io_din = gp_outr[15:0]; -wire io_clk = gp_outr[17]; +wire [15:0] io_din = gp_outr[15:0]; +wire io_clk = gp_outr[17]; wire io_ss0 = gp_outr[18]; wire io_ss1 = gp_outr[19]; wire io_ss2 = gp_outr[20]; -//wire io_sdd = gp_outr[21]; // used only in ST core +`ifndef DEBUG_NOHDMI wire io_osd_hdmi = io_ss1 & ~io_ss0; +`endif + wire io_fpga = ~io_ss1 & io_ss0; wire io_uio = ~io_ss1 & io_ss2; @@ -257,10 +286,16 @@ cyclonev_hps_interface_mpu_general_purpose h2f_gp reg [15:0] cfg; -reg cfg_got = 0; reg cfg_set = 0; +wire vga_fb = cfg[12] | vga_force_scaler; wire [1:0] hdmi_limited = {cfg[11],cfg[8]}; + +`ifdef DEBUG_NOHDMI +wire direct_video = 1; +`else wire direct_video = cfg[10]; +`endif + wire dvi_mode = cfg[7]; wire audio_96k = cfg[6]; wire csync_en = cfg[3]; @@ -268,7 +303,7 @@ wire ypbpr_en = cfg[5]; wire io_osd_vga = io_ss1 & ~io_ss2; `ifndef DUAL_SDRAM wire sog = cfg[9]; - wire vga_scaler = cfg[2]; + wire vga_scaler = cfg[2] | vga_force_scaler; `endif reg cfg_custom_t = 0; @@ -281,13 +316,31 @@ reg [6:0] coef_addr; reg [8:0] coef_data; reg coef_wr = 0; -wire [7:0] ARX, ARY; -reg [11:0] VSET = 0; +wire[11:0] ARX, ARY; +reg [11:0] VSET = 0, HSET = 0; +reg FREESCALE = 0; reg [2:0] scaler_flt; reg lowlat = 0; reg cfg_dis = 0; reg vs_wait = 0; +reg [11:0] vs_line = 0; + +reg scaler_out = 0; + +reg [31:0] aflt_rate = 7056000; +reg [39:0] acx = 4258969; +reg [7:0] acx0 = 3; +reg [7:0] acx1 = 3; +reg [7:0] acx2 = 1; +reg [23:0] acy0 = -24'd6216759; +reg [23:0] acy1 = 24'd6143386; +reg [23:0] acy2 = -24'd2023767; +reg areset = 0; +reg [11:0] arc1x = 0; +reg [11:0] arc1y = 0; +reg [11:0] arc2x = 0; +reg [11:0] arc2y = 0; always@(posedge clk_sys) begin reg [7:0] cmd; @@ -295,6 +348,7 @@ always@(posedge clk_sys) begin reg old_strobe; reg [7:0] cnt = 0; reg vs_d0,vs_d1,vs_d2; + reg [4:0] acx_att; old_strobe <= io_strobe; coef_wr <= 0; @@ -302,6 +356,9 @@ always@(posedge clk_sys) begin if(~io_uio) begin has_cmd <= 0; cmd <= 0; + areset <= 0; + acx_att <= 0; + acx <= acx >> acx_att; end else if(~old_strobe & io_strobe) begin @@ -310,11 +367,23 @@ always@(posedge clk_sys) begin cmd <= io_din[7:0]; cnt <= 0; if(io_din[7:0] == 'h30) vs_wait <= 1; + if(io_din[7:0] == 'h39) begin + aflt_rate <= 7056000; + acx <= 4258969; + acx0 <= 3; + acx1 <= 3; + acx2 <= 1; + acy0 <= -24'd6216759; + acy1 <= 24'd6143386; + acy2 <= -24'd2023767; + areset <= 1; + end end else begin if(cmd == 1) begin cfg <= io_din; cfg_set <= 1; + scaler_out <= 1; end if(cmd == 'h20) begin cfg_set <= 0; @@ -330,6 +399,7 @@ always@(posedge clk_sys) begin 6: if(VS != io_din[11:0]) VS <= io_din[11:0]; 7: if(VBP != io_din[11:0]) VBP <= io_din[11:0]; endcase +`ifndef DEBUG_NOHDMI if(cnt == 1) begin cfg_custom_p1 <= 0; cfg_custom_p2 <= 0; @@ -345,30 +415,62 @@ always@(posedge clk_sys) begin cnt[2:0] <= 3'b100; end if(cnt == 8) {lowlat,cfg_dis} <= io_din[15:14]; +`endif end end if(cmd == 'h2F) begin cnt <= cnt + 1'd1; case(cnt[3:0]) - 0: {FB_EN,FB_FLT,FB_FMT} <= {io_din[15], io_din[14], io_din[5:0]}; - 1: FB_BASE[15:0] <= io_din[15:0]; - 2: FB_BASE[31:16] <= io_din[15:0]; - 3: FB_WIDTH <= io_din[11:0]; - 4: FB_HEIGHT <= io_din[11:0]; - 5: FB_HMIN <= io_din[11:0]; - 6: FB_HMAX <= io_din[11:0]; - 7: FB_VMIN <= io_din[11:0]; - 8: FB_VMAX <= io_din[11:0]; + 0: {LFB_EN,LFB_FLT,LFB_FMT} <= {io_din[15], io_din[14], io_din[5:0]}; + 1: LFB_BASE[15:0] <= io_din[15:0]; + 2: LFB_BASE[31:16] <= io_din[15:0]; + 3: LFB_WIDTH <= io_din[11:0]; + 4: LFB_HEIGHT <= io_din[11:0]; + 5: LFB_HMIN <= io_din[11:0]; + 6: LFB_HMAX <= io_din[11:0]; + 7: LFB_VMIN <= io_din[11:0]; + 8: LFB_VMAX <= io_din[11:0]; endcase end if(cmd == 'h25) {led_overtake, led_state} <= io_din; if(cmd == 'h26) vol_att <= io_din[4:0]; - if(cmd == 'h27) VSET <= io_din[11:0]; + if(cmd == 'h27) VSET <= io_din[11:0]; if(cmd == 'h2A) {coef_wr,coef_addr,coef_data} <= {1'b1,io_din}; if(cmd == 'h2B) scaler_flt <= io_din[2:0]; + if(cmd == 'h37) {FREESCALE,HSET} <= {io_din[15],io_din[11:0]}; + if(cmd == 'h38) vs_line <= io_din[11:0]; + if(cmd == 'h39) begin + cnt <= cnt + 1'd1; + case(cnt[3:0]) + 0: acx_att <= io_din[4:0]; + 1: aflt_rate[15:0] <= io_din; + 2: aflt_rate[31:16] <= io_din; + 3: acx[15:0] <= io_din; + 4: acx[31:16] <= io_din; + 5: acx[39:32] <= io_din[7:0]; + 6: acx0 <= io_din[7:0]; + 7: acx1 <= io_din[7:0]; + 8: acx2 <= io_din[7:0]; + 9: acy0[15:0] <= io_din; + 10: acy0[23:16] <= io_din[7:0]; + 11: acy1[15:0] <= io_din; + 12: acy1[23:16] <= io_din[7:0]; + 13: acy2[15:0] <= io_din; + 14: acy2[23:16] <= io_din[7:0]; + endcase + end + if(cmd == 'h3A) begin + cnt <= cnt + 1'd1; + case(cnt[3:0]) + 0: arc1x <= io_din[11:0]; + 1: arc1y <= io_din[11:0]; + 2: arc2x <= io_din[11:0]; + 3: arc2y <= io_din[11:0]; + endcase + end end end - + vs_d0 <= HDMI_TX_VS; if(vs_d0 == HDMI_TX_VS) vs_d1 <= vs_d0; @@ -376,33 +478,34 @@ always@(posedge clk_sys) begin if(~vs_d2 & vs_d1) vs_wait <= 0; end -always @(posedge clk_sys) begin - reg vsd, vsd2; - if(~cfg_ready || ~cfg_set) cfg_got <= cfg_set; - else begin - vsd <= HDMI_TX_VS; - vsd2 <= vsd; - if(~vsd2 & vsd) cfg_got <= cfg_set; - end -end - cyclonev_hps_interface_peripheral_uart uart ( .ri(0) +`ifndef ARCADE_SYS + , + .dsr(uart_dsr), + .dcd(uart_dsr), + .dtr(uart_dtr), + + .cts(uart_cts), + .rts(uart_rts), + .rxd(uart_rxd), + .txd(uart_txd) +`endif ); -wire aspi_sck,aspi_mosi,aspi_ss; +wire aspi_sck,aspi_mosi,aspi_ss,aspi_miso; cyclonev_hps_interface_peripheral_spi_master spi ( .sclk_out(aspi_sck), .txd(aspi_mosi), // mosi - .rxd(1), // miso + .rxd(aspi_miso), // miso .ss_0_n(aspi_ss), .ss_in_n(1) ); -wire [63:0] f2h_irq = {HDMI_TX_VS}; +wire [63:0] f2h_irq = {video_sync,HDMI_TX_VS}; cyclonev_hps_interface_interrupts interrupts ( .irq(f2h_irq) @@ -428,14 +531,11 @@ always @(posedge FPGA_CLK2_50) begin resetd2 <= resetd; end -wire clk_100m; -wire clk_hdmi = hdmi_clk_out; -wire clk_audio = FPGA_CLK3_50; -wire clk_pal = FPGA_CLK3_50; - //////////////////// SYSTEM MEMORY & SCALER ///////////////////////// wire reset; +wire clk_100m; + sysmem_lite sysmem ( //Reset/Clock @@ -462,15 +562,15 @@ sysmem_lite sysmem //64-bit DDR3 RAM access .ram2_clk(clk_audio), - .ram2_address((ap_en1 == ap_en2) ? aram_address : pram_address), - .ram2_burstcount((ap_en1 == ap_en2) ? aram_burstcount : pram_burstcount), - .ram2_waitrequest(aram_waitrequest), - .ram2_readdata(aram_readdata), - .ram2_readdatavalid(aram_readdatavalid), - .ram2_read((ap_en1 == ap_en2) ? aram_read : pram_read), - .ram2_writedata(0), - .ram2_byteenable(8'hFF), - .ram2_write(0), + .ram2_address(ram2_address), + .ram2_burstcount(ram2_burstcount), + .ram2_waitrequest(ram2_waitrequest), + .ram2_readdata(ram2_readdata), + .ram2_readdatavalid(ram2_readdatavalid), + .ram2_read(ram2_read), + .ram2_writedata(ram2_writedata), + .ram2_byteenable(ram2_byteenable), + .ram2_write(ram2_write), //128-bit DDR3 RAM access // HDMI frame buffer @@ -486,6 +586,48 @@ sysmem_lite sysmem .vbuf_read(vbuf_read) ); +wire [28:0] ram2_address; +wire [7:0] ram2_burstcount; +wire [7:0] ram2_byteenable; +wire ram2_waitrequest; +wire [63:0] ram2_readdata; +wire [63:0] ram2_writedata; +wire ram2_readdatavalid; +wire ram2_read; +wire ram2_write; +wire [7:0] ram2_bcnt; + +ddr_svc ddr_svc +( + .clk(clk_audio), + + .ram_waitrequest(ram2_waitrequest), + .ram_burstcnt(ram2_burstcount), + .ram_addr(ram2_address), + .ram_readdata(ram2_readdata), + .ram_read_ready(ram2_readdatavalid), + .ram_read(ram2_read), + .ram_writedata(ram2_writedata), + .ram_byteenable(ram2_byteenable), + .ram_write(ram2_write), + .ram_bcnt(ram2_bcnt), + + .ch0_addr(alsa_address), + .ch0_burst(1), + .ch0_data(alsa_readdata), + .ch0_req(alsa_req), + .ch0_ready(alsa_ready), + + .ch1_addr(pal_addr), + .ch1_burst(128), + .ch1_data(pal_data), + .ch1_req(pal_req), + .ch1_ready(pal_wr) +); + +wire clk_pal = clk_audio; + + wire [27:0] vbuf_address; wire [7:0] vbuf_burstcount; wire vbuf_waitrequest; @@ -497,11 +639,17 @@ wire [15:0] vbuf_byteenable; wire vbuf_write; wire [23:0] hdmi_data; -wire hdmi_vs, hdmi_hs, hdmi_de; +wire hdmi_vs, hdmi_hs, hdmi_de, hdmi_vbl; + +`ifndef DEBUG_NOHDMI +wire clk_hdmi = hdmi_clk_out; ascal #( .RAMBASE(32'h20000000), +`ifndef USE_FB + .PALETTE2("false"), +`endif .N_DW(128), .N_AW(28) ) @@ -527,13 +675,14 @@ ascal .vimax (0), .o_clk (clk_hdmi), - .o_ce (1), + .o_ce (scaler_out), .o_r (hdmi_data[23:16]), .o_g (hdmi_data[15:8]), .o_b (hdmi_data[7:0]), .o_hs (hdmi_hs), .o_vs (hdmi_vs), .o_de (hdmi_de), + .o_vbl (hdmi_vbl), .o_lltune (lltune), .htotal (WIDTH + HFP + HBP + HS), .hsstart (WIDTH + HFP), @@ -548,22 +697,32 @@ ascal .vmin (vmin), .vmax (vmax), - .mode ({~lowlat,FB_EN ? FB_FLT : |scaler_flt,2'b00}), + .mode ({~lowlat,LFB_EN ? LFB_FLT : |scaler_flt,2'b00}), .poly_clk (clk_sys), .poly_a (coef_addr), .poly_dw (coef_data), .poly_wr (coef_wr), - .pal_clk (clk_pal), - .pal_dw (pal_d), - .pal_a (pal_a), - .pal_wr (pal_wr), + .pal1_clk (clk_pal), + .pal1_dw (pal_d), + .pal1_a (pal_a), + .pal1_wr (pal_wr), + +`ifdef USE_FB + .pal2_clk (fb_pal_clk), + .pal2_dw (fb_pal_d), + .pal2_dr (fb_pal_q), + .pal2_a (fb_pal_a), + .pal2_wr (fb_pal_wr), + .pal_n (fb_en), +`endif .o_fb_ena (FB_EN), .o_fb_hsize (FB_WIDTH), .o_fb_vsize (FB_HEIGHT), .o_fb_format (FB_FMT), .o_fb_base (FB_BASE), + .o_fb_stride (FB_STRIDE), .avl_clk (clk_100m), .avl_waitrequest (vbuf_waitrequest), @@ -576,17 +735,48 @@ ascal .avl_read (vbuf_read), .avl_byteenable (vbuf_byteenable) ); +`endif + +reg LFB_EN = 0; +reg LFB_FLT = 0; +reg [5:0] LFB_FMT = 0; +reg [11:0] LFB_WIDTH = 0; +reg [11:0] LFB_HEIGHT = 0; +reg [11:0] LFB_HMIN = 0; +reg [11:0] LFB_HMAX = 0; +reg [11:0] LFB_VMIN = 0; +reg [11:0] LFB_VMAX = 0; +reg [31:0] LFB_BASE = 0; reg FB_EN = 0; -reg FB_FLT = 0; reg [5:0] FB_FMT = 0; reg [11:0] FB_WIDTH = 0; reg [11:0] FB_HEIGHT = 0; -reg [11:0] FB_HMIN = 0; -reg [11:0] FB_HMAX = 0; -reg [11:0] FB_VMIN = 0; -reg [11:0] FB_VMAX = 0; reg [31:0] FB_BASE = 0; +reg [13:0] FB_STRIDE = 0; + +always @(posedge clk_sys) begin + FB_EN <= LFB_EN | fb_en; + if(LFB_EN) begin + FB_FMT <= LFB_FMT; + FB_WIDTH <= LFB_WIDTH; + FB_HEIGHT <= LFB_HEIGHT; + FB_BASE <= LFB_BASE; + FB_STRIDE <= 0; + end + else begin + FB_FMT <= fb_fmt; + FB_WIDTH <= fb_width; + FB_HEIGHT <= fb_height; + FB_BASE <= fb_base; + FB_STRIDE <= fb_stride; + end +end + +`ifdef USE_FB +reg fb_vbl; +always @(posedge clk_vid) fb_vbl <= hdmi_vbl; +`endif reg [11:0] hmin; reg [11:0] hmax; @@ -599,33 +789,56 @@ always @(posedge clk_vid) begin reg [2:0] state; reg [11:0] videow; reg [11:0] videoh; + reg [11:0] height; + reg [11:0] width; + reg [11:0] arx; + reg [11:0] ary; + + height <= (VSET && (VSET < HEIGHT)) ? VSET : HEIGHT; + width <= (HSET && (HSET < WIDTH)) ? HSET : WIDTH; + if(!ARY) begin + if(ARX == 1) begin + arx <= arc1x; + ary <= arc1y; + end + else if(ARX == 2) begin + arx <= arc2x; + ary <= arc2y; + end + else begin + arx <= 0; + ary <= 0; + end + end + else begin + arx <= ARX; + ary <= ARY; + end + state <= state + 1'd1; case(state) - 0: if(FB_EN) begin - hmin <= FB_HMIN; - vmin <= FB_VMIN; - hmax <= FB_HMAX; - vmax <= FB_VMAX; + 0: if(LFB_EN) begin + hmin <= LFB_HMIN; + vmin <= LFB_VMIN; + hmax <= LFB_HMAX; + vmax <= LFB_VMAX; state<= 0; end - else if(ARX && ARY) begin - wcalc <= VSET ? (VSET*ARX)/ARY : (HEIGHT*ARX)/ARY; - hcalc <= (WIDTH*ARY)/ARX; + else if(FREESCALE || !arx || !ary) begin + wcalc <= width; + hcalc <= height; end else begin - hmin <= 0; - hmax <= WIDTH - 1'd1; - vmin <= 0; - vmax <= HEIGHT - 1'd1; - wcalc<= WIDTH; - hcalc<= HEIGHT; - state<= 0; + wcalc <= (height*arx)/ary; + hcalc <= (width*ary)/arx; end + 6: begin - videow <= (!VSET && (wcalc > WIDTH)) ? WIDTH : wcalc[11:0]; - videoh <= VSET ? VSET : (hcalc > HEIGHT) ? HEIGHT : hcalc[11:0]; + videow <= (wcalc > width) ? width : wcalc[11:0]; + videoh <= (hcalc > height) ? height : hcalc[11:0]; end + 7: begin hmin <= ((WIDTH - videow)>>1); hmax <= ((WIDTH - videow)>>1) + videow - 1'd1; @@ -635,11 +848,11 @@ always @(posedge clk_vid) begin endcase end +`ifndef DEBUG_NOHDMI wire [15:0] lltune; - pll_hdmi_adj pll_hdmi_adj ( - .clk(FPGA_CLK1_50), + .clk(FPGA_CLK1_50), .reset_na(~reset_req), .llena(lowlat), @@ -654,42 +867,31 @@ pll_hdmi_adj pll_hdmi_adj .o_address(cfg_address), .o_writedata(cfg_data) ); +`else + assign led_locked = 0; +`endif -wire [23:0] pal_d; -wire [7:0] pal_a; +wire [63:0] pal_data; +wire [47:0] pal_d = {pal_data[55:32], pal_data[23:0]}; +wire [6:0] pal_a = ram2_bcnt[6:0]; wire pal_wr; -wire ap_en1, ap_en2; +reg [28:0] pal_addr; +reg pal_req = 0; +always @(posedge clk_pal) begin + reg old_vs1, old_vs2; -wire [28:0] pram_address; -wire [7:0] pram_burstcount; -wire pram_read; + pal_addr <= LFB_BASE[31:3] - 29'd512; -fbpal fbpal -( - .reset(reset), - .en_in(ap_en2), - .en_out(ap_en1), - - .ram_clk(clk_pal), - .ram_address(pram_address), - .ram_burstcount(pram_burstcount), - .ram_waitrequest(aram_waitrequest), - .ram_readdata(aram_readdata), - .ram_readdatavalid(aram_readdatavalid), - .ram_read(pram_read), - - .fb_address(FB_BASE), - - .pal_en(~FB_FMT[2] & FB_FMT[1] & FB_FMT[0] & FB_EN), - .pal_a(pal_a), - .pal_d(pal_d), - .pal_wr(pal_wr) -); + old_vs1 <= hdmi_vs; + old_vs2 <= old_vs1; + + if(~old_vs2 & old_vs1 & ~FB_FMT[2] & FB_FMT[1] & FB_FMT[0] & FB_EN) pal_req <= ~pal_req; +end ///////////////////////// HDMI output ///////////////////////////////// - +`ifndef DEBUG_NOHDMI wire hdmi_clk_out; pll_hdmi pll_hdmi ( @@ -699,6 +901,7 @@ pll_hdmi pll_hdmi .reconfig_from_pll(reconfig_from_pll), .outclk_0(hdmi_clk_out) ); +`endif //1920x1080@60 PCLK=148.5MHz CEA reg [11:0] WIDTH = 1920; @@ -720,6 +923,7 @@ reg adj_write; reg [5:0] adj_address; reg [31:0] adj_data; +`ifndef DEBUG_NOHDMI pll_cfg pll_cfg ( .mgmt_clk(FPGA_CLK1_50), @@ -734,8 +938,18 @@ pll_cfg pll_cfg .reconfig_from_pll(reconfig_from_pll) ); -reg cfg_ready = 0; +reg cfg_got = 0; +always @(posedge clk_sys) begin + reg vsd, vsd2; + if(~cfg_ready || ~cfg_set) cfg_got <= cfg_set; + else begin + vsd <= HDMI_TX_VS; + vsd2 <= vsd; + if(~vsd2 & vsd) cfg_got <= cfg_set; + end +end +reg cfg_ready = 0; always @(posedge FPGA_CLK1_50) begin reg gotd = 0, gotd2 = 0; reg custd = 0, custd2 = 0; @@ -764,6 +978,12 @@ always @(posedge FPGA_CLK1_50) begin if(old_wait & ~adj_waitrequest & gotd) cfg_ready <= 1; end +`else + +wire cfg_ready = 1; + +`endif + wire hdmi_config_done; hdmi_config hdmi_config ( @@ -780,14 +1000,27 @@ hdmi_config hdmi_config .ypbpr(ypbpr_en & direct_video) ); +`ifndef DEBUG_NOHDMI wire [23:0] hdmi_data_sl; wire hdmi_de_sl, hdmi_vs_sl, hdmi_hs_sl; + +`ifdef USE_FB +reg dis_output; +always @(posedge clk_hdmi) begin + reg dis; + dis <= fb_force_blank; + dis_output <= dis; +end +`else +wire dis_output = 0; +`endif + scanlines #(1) HDMI_scanlines ( .clk(clk_hdmi), .scanlines(scanlines), - .din(hdmi_data), + .din(dis_output ? 24'd0 : hdmi_data), .hs_in(hdmi_hs), .vs_in(hdmi_vs), .de_in(hdmi_de), @@ -800,6 +1033,7 @@ scanlines #(1) HDMI_scanlines wire [23:0] hdmi_data_osd; wire hdmi_de_osd, hdmi_vs_osd, hdmi_hs_osd; + osd hdmi_osd ( .clk_sys(clk_sys), @@ -818,7 +1052,15 @@ osd hdmi_osd .hs_out(hdmi_hs_osd), .vs_out(hdmi_vs_osd), .de_out(hdmi_de_osd) +`ifndef ARCADE_SYS + , + .osd_status(osd_status) +`endif ); +`endif + +wire hdmi_cs_osd; +csync csync_hdmi(clk_hdmi, hdmi_hs_osd, hdmi_vs_osd, hdmi_cs_osd); reg [23:0] dv_data; reg dv_hs, dv_vs, dv_de; @@ -862,12 +1104,16 @@ always @(posedge clk_vid) begin end wire hdmi_tx_clk; +`ifndef DEBUG_NOHDMI cyclonev_clkselect hdmi_clk_sw ( - .clkselect({1'b1, direct_video}), + .clkselect({1'b1, ~vga_fb & direct_video}), .inclk({clk_vid, hdmi_clk_out, 2'b00}), .outclk(hdmi_tx_clk) ); +`else +assign hdmi_tx_clk = clk_vid; +`endif altddio_out #( @@ -903,10 +1149,10 @@ always @(posedge hdmi_tx_clk) begin reg hs,vs,de; reg [23:0] d; - hs <= direct_video ? dv_hs : hdmi_hs_osd; - vs <= direct_video ? dv_vs : hdmi_vs_osd; - de <= direct_video ? dv_de : hdmi_de_osd; - d <= direct_video ? dv_data : hdmi_data_osd; + hs <= (~vga_fb & direct_video) ? dv_hs : (direct_video & csync_en) ? hdmi_cs_osd : hdmi_hs_osd; + vs <= (~vga_fb & direct_video) ? dv_vs : hdmi_vs_osd; + de <= (~vga_fb & direct_video) ? dv_de : hdmi_de_osd; + d <= (~vga_fb & direct_video) ? dv_data : hdmi_data_osd; hdmi_out_hs <= hs; hdmi_out_vs <= vs; @@ -970,15 +1216,12 @@ csync csync_vga(clk_vid, vga_hs_osd, vga_vs_osd, vga_cs_osd); .ypbpr_full(0), .ypbpr_en(ypbpr_en), .dout(vga_o), - .din(vga_scaler ? {24{hdmi_de_osd}} & hdmi_data_osd : vga_data_osd) + .din((vga_fb | vga_scaler) ? {24{hdmi_de_osd}} & hdmi_data_osd : vga_data_osd) ); - wire hdmi_cs_osd; - csync csync_hdmi(clk_hdmi, hdmi_hs_osd, hdmi_vs_osd, hdmi_cs_osd); - - wire vs1 = vga_scaler ? hdmi_vs_osd : vga_vs_osd; - wire hs1 = vga_scaler ? hdmi_hs_osd : vga_hs_osd; - wire cs1 = vga_scaler ? hdmi_cs_osd : vga_cs_osd; + wire vs1 = (vga_fb | vga_scaler) ? hdmi_vs_osd : vga_vs_osd; + wire hs1 = (vga_fb | vga_scaler) ? hdmi_hs_osd : vga_hs_osd; + wire cs1 = (vga_fb | vga_scaler) ? hdmi_cs_osd : vga_cs_osd; assign VGA_VS = (VGA_EN | SW[3]) ? 1'bZ : csync_en ? 1'b1 : ~vs1; assign VGA_HS = (VGA_EN | SW[3]) ? 1'bZ : csync_en ? ~cs1 : ~hs1; @@ -987,102 +1230,117 @@ csync csync_vga(clk_vid, vga_hs_osd, vga_vs_osd, vga_cs_osd); assign VGA_B = (VGA_EN | SW[3]) ? 6'bZZZZZZ : vga_o[7:2]; `endif +reg video_sync = 0; +always @(posedge clk_vid) begin + reg [11:0] line_cnt = 0; + reg [11:0] sync_line = 0; + reg [1:0] hs_cnt = 0; + reg old_hs; + + old_hs <= hs_fix; + if(~old_hs & hs_fix) begin + + video_sync <= (sync_line == line_cnt); + + line_cnt <= line_cnt + 1'd1; + if(~hs_cnt[1]) begin + hs_cnt <= hs_cnt + 1'd1; + if(hs_cnt[0]) begin + sync_line <= (line_cnt - vs_line); + line_cnt <= 0; + end + end + end + + if(de_emu) hs_cnt <= 0; +end + ///////////////////////// Audio output //////////////////////////////// assign SDCD_SPDIF =(SW[3] & ~spdif) ? 1'b0 : 1'bZ; `ifndef DUAL_SDRAM - wire anl,anr; + wire analog_l, analog_r; assign AUDIO_SPDIF = SW[3] ? 1'bZ : SW[0] ? HDMI_LRCLK : spdif; - assign AUDIO_R = SW[3] ? 1'bZ : SW[0] ? HDMI_I2S : anr; - assign AUDIO_L = SW[3] ? 1'bZ : SW[0] ? HDMI_SCLK : anl; + assign AUDIO_R = SW[3] ? 1'bZ : SW[0] ? HDMI_I2S : analog_r; + assign AUDIO_L = SW[3] ? 1'bZ : SW[0] ? HDMI_SCLK : analog_l; `endif -assign HDMI_MCLK = 0; +assign HDMI_MCLK = clk_audio; +wire clk_audio; -wire [15:0] audio_l, audio_l_pre; -aud_mix_top audmix_l +pll_audio pll_audio ( - .clk(clk_audio), - .att(vol_att), - .mix(audio_mix), - .is_signed(audio_s), - - .core_audio(audio_ls), - .pre_in(audio_r_pre), - .linux_audio(alsa_l), - - .pre_out(audio_l_pre), - .out(audio_l) -); - -wire [15:0] audio_r, audio_r_pre; -aud_mix_top audmix_r -( - .clk(clk_audio), - .att(vol_att), - .mix(audio_mix), - .is_signed(audio_s), - - .core_audio(audio_rs), - .pre_in(audio_l_pre), - .linux_audio(alsa_r), - - .pre_out(audio_r_pre), - .out(audio_r) + .refclk(FPGA_CLK3_50), + .rst(0), + .outclk_0(clk_audio) ); wire spdif; audio_out audio_out ( - .reset(reset), + .reset(reset | areset), .clk(clk_audio), + + .att(vol_att), + .mix(audio_mix), .sample_rate(audio_96k), - .left_in(audio_l), - .right_in(audio_r), + + .flt_rate(aflt_rate), + .cx(acx), + .cx0(acx0), + .cx1(acx1), + .cx2(acx2), + .cy0(acy0), + .cy1(acy1), + .cy2(acy2), + + .is_signed(audio_s), + .core_l(audio_l), + .core_r(audio_r), + + .alsa_l(alsa_l), + .alsa_r(alsa_r), + .i2s_bclk(HDMI_SCLK), .i2s_lrclk(HDMI_LRCLK), .i2s_data(HDMI_I2S), `ifndef DUAL_SDRAM - .dac_l(anl), - .dac_r(anr), + .dac_l(analog_l), + .dac_r(analog_r), `endif .spdif(spdif) ); -wire [28:0] aram_address; -wire [7:0] aram_burstcount; -wire aram_waitrequest; -wire [63:0] aram_readdata; -wire aram_readdatavalid; -wire aram_read; + +wire [28:0] alsa_address; +wire [63:0] alsa_readdata; +wire alsa_ready; +wire alsa_req; +wire alsa_late; wire [15:0] alsa_l, alsa_r; alsa alsa ( .reset(reset), - .en_in(ap_en1), - .en_out(ap_en2), + .clk(clk_audio), - .ram_clk(clk_audio), - .ram_address(aram_address), - .ram_burstcount(aram_burstcount), - .ram_waitrequest(aram_waitrequest), - .ram_readdata(aram_readdata), - .ram_readdatavalid(aram_readdatavalid), - .ram_read(aram_read), + .ram_address(alsa_address), + .ram_data(alsa_readdata), + .ram_req(alsa_req), + .ram_ready(alsa_ready), .spi_ss(aspi_ss), .spi_sck(aspi_sck), .spi_mosi(aspi_mosi), + .spi_miso(aspi_miso), .pcm_l(alsa_l), .pcm_r(alsa_r) ); - //////////////// User I/O (USB 3.0 connector) ///////////////////////// assign USER_IO[0] = !user_out[0] ? 1'b0 : 1'bZ; @@ -1104,55 +1362,96 @@ assign user_in[6] = USER_IO[6]; /////////////////// User module connection //////////////////////////// -wire [15:0] audio_ls, audio_rs; +wire clk_sys; +wire [15:0] audio_l, audio_r; wire audio_s; wire [1:0] audio_mix; -wire [7:0] r_out, g_out, b_out; -wire vs_fix, hs_fix, de_emu, vs_emu, hs_emu, f1; wire [1:0] scanlines; -wire clk_sys, clk_vid, ce_pix; -wire [7:0] hr_out, hg_out, hb_out; -wire hvs_fix, hhs_fix, hde_emu, hvs_emu, hhs_emu; -wire clk_ihdmi, ce_hpix; +wire [7:0] r_out, g_out, b_out, hr_out, hg_out, hb_out; +wire vs_fix, hs_fix, de_emu, vs_emu, hs_emu, f1; +wire hvs_fix, hhs_fix, hde_emu; +wire clk_vid, ce_pix, clk_ihdmi, ce_hpix; +wire vga_force_scaler; `ifdef USE_DDRAM -wire ram_clk; -wire [28:0] ram_address; -wire [7:0] ram_burstcount; -wire ram_waitrequest; -wire [63:0] ram_readdata; -wire ram_readdatavalid; -wire ram_read; -wire [63:0] ram_writedata; -wire [7:0] ram_byteenable; -wire ram_write; + wire ram_clk; + wire [28:0] ram_address; + wire [7:0] ram_burstcount; + wire ram_waitrequest; + wire [63:0] ram_readdata; + wire ram_readdatavalid; + wire ram_read; + wire [63:0] ram_writedata; + wire [7:0] ram_byteenable; + wire ram_write; `endif wire led_user; wire [1:0] led_power; wire [1:0] led_disk; +wire [1:0] btn; -sync_fix hdmi_sync_v(clk_ihdmi, hvs_emu, hvs_fix); -sync_fix hdmi_sync_h(clk_ihdmi, hhs_emu, hhs_fix); sync_fix sync_v(clk_vid, vs_emu, vs_fix); sync_fix sync_h(clk_vid, hs_emu, hs_fix); -assign audio_mix = 0; -assign {ADC_SCK, ADC_SDI, ADC_CONVST} = 0; wire [6:0] user_out, user_in; `ifndef USE_SDRAM assign {SDRAM_DQ, SDRAM_A, SDRAM_BA, SDRAM_CLK, SDRAM_CKE, SDRAM_DQML, SDRAM_DQMH, SDRAM_nWE, SDRAM_nCAS, SDRAM_nRAS, SDRAM_nCS} = {39'bZ}; `endif +assign clk_ihdmi= clk_vid; +assign ce_hpix = ce_pix; +assign hr_out = r_out; +assign hg_out = g_out; +assign hb_out = b_out; +assign hhs_fix = hs_fix; +assign hvs_fix = vs_fix; +assign hde_emu = de_emu; + +`ifdef ARCADE_SYS + assign audio_mix = 0; + assign {ADC_SCK, ADC_SDI, ADC_CONVST} = 0; + assign btn = 0; +`else + wire uart_dtr; + wire uart_dsr; + wire uart_cts; + wire uart_rts; + wire uart_rxd; + wire uart_txd; + wire osd_status; +`endif + +wire fb_en; +wire [4:0] fb_fmt; +wire [11:0] fb_width; +wire [11:0] fb_height; +wire [31:0] fb_base; +wire [13:0] fb_stride; + +`ifdef USE_FB + wire fb_pal_clk; + wire [7:0] fb_pal_a; + wire [23:0] fb_pal_d; + wire [23:0] fb_pal_q; + wire fb_pal_wr; + wire fb_force_blank; +`else + assign fb_en = 0; + assign fb_fmt = 0; + assign fb_width = 0; + assign fb_height = 0; + assign fb_base = 0; + assign fb_stride = 0; +`endif + emu emu ( .CLK_50M(FPGA_CLK2_50), .RESET(reset), .HPS_BUS({f1, HDMI_TX_VS, clk_100m, clk_ihdmi, ce_hpix, hde_emu, hhs_fix, hvs_fix, io_wait, clk_sys, io_fpga, io_uio, io_strobe, io_wide, io_din, io_dout}), - .VGA_CLK(clk_vid), - .VGA_CE(ce_pix), .VGA_R(r_out), .VGA_G(g_out), .VGA_B(b_out), @@ -1160,27 +1459,46 @@ emu emu .VGA_VS(vs_emu), .VGA_DE(de_emu), .VGA_F1(f1), + .VGA_SCALER(vga_force_scaler), - .HDMI_CLK(clk_ihdmi), - .HDMI_CE(ce_hpix), - .HDMI_R(hr_out), - .HDMI_G(hg_out), - .HDMI_B(hb_out), - .HDMI_HS(hhs_emu), - .HDMI_VS(hvs_emu), - .HDMI_DE(hde_emu), - .HDMI_SL(scanlines), - .HDMI_ARX(ARX), - .HDMI_ARY(ARY), + .CLK_VIDEO(clk_vid), + .CE_PIXEL(ce_pix), + .VGA_SL(scanlines), + .VIDEO_ARX(ARX), + .VIDEO_ARY(ARY), + +`ifdef USE_FB + .FB_EN(fb_en), + .FB_FORMAT(fb_fmt), + .FB_WIDTH(fb_width), + .FB_HEIGHT(fb_height), + .FB_BASE(fb_base), + .FB_STRIDE(fb_stride), + .FB_VBL(fb_vbl), + .FB_LL(lowlat), + .FB_FORCE_BLANK(fb_force_blank), + + .FB_PAL_CLK (fb_pal_clk), + .FB_PAL_ADDR(fb_pal_a), + .FB_PAL_DOUT(fb_pal_d), + .FB_PAL_DIN (fb_pal_q), + .FB_PAL_WR (fb_pal_wr), +`endif .LED_USER(led_user), .LED_POWER(led_power), .LED_DISK(led_disk), - .AUDIO_L(audio_ls), - .AUDIO_R(audio_rs), + .CLK_AUDIO(clk_audio), + .AUDIO_L(audio_l), + .AUDIO_R(audio_r), .AUDIO_S(audio_s), +`ifndef ARCADE_SYS + .AUDIO_MIX(audio_mix), + .ADC_BUS({ADC_SCK,ADC_SDO,ADC_SDI,ADC_CONVST}), +`endif + `ifdef USE_DDRAM .DDRAM_CLK(ram_clk), .DDRAM_ADDR(ram_address), @@ -1220,6 +1538,27 @@ emu emu .SDRAM2_EN(SW[3]), `endif +`ifndef ARCADE_SYS + .BUTTONS(btn), + .OSD_STATUS(osd_status), + .SD_SCK(SD_CLK), + .SD_MOSI(SD_MOSI), + .SD_MISO(SD_MISO), + .SD_CS(SD_CS), +`ifdef DUAL_SDRAM + .SD_CD(mcp_sdcd), +`else + .SD_CD(mcp_sdcd & (SW[0] ? VGA_HS : (SW[3] | SDCD_SPDIF))), +`endif + + .UART_CTS(uart_rts), + .UART_RTS(uart_cts), + .UART_RXD(uart_txd), + .UART_TXD(uart_rxd), + .UART_DTR(uart_dsr), + .UART_DSR(uart_dtr), +`endif + .USER_OUT(user_out), .USER_IN(user_in) ); @@ -1259,56 +1598,6 @@ endmodule ///////////////////////////////////////////////////////////////////// -module aud_mix_top -( - input clk, - - input [4:0] att, - input [1:0] mix, - input is_signed, - - input [15:0] core_audio, - input [15:0] linux_audio, - input [15:0] pre_in, - - output reg [15:0] pre_out, - output reg [15:0] out -); - -reg [15:0] ca; -always @(posedge clk) begin - reg [15:0] d1,d2,d3; - - d1 <= core_audio; d2<=d1; d3<=d2; - if(d2 == d3) ca <= d2; -end - -always @(posedge clk) begin - reg signed [16:0] a1, a2, a3, a4; - - a1 <= is_signed ? {ca[15],ca} : {2'b00,ca[15:1]}; - a2 <= a1 + {linux_audio[15],linux_audio}; - - pre_out <= a2[16:1]; - - case(mix) - 0: a3 <= a2; - 1: a3 <= $signed(a2) - $signed(a2[16:3]) + $signed(pre_in[15:2]); - 2: a3 <= $signed(a2) - $signed(a2[16:2]) + $signed(pre_in[15:1]); - 3: a3 <= {a2[16],a2[16:1]} + {pre_in[15],pre_in}; - endcase - - if(att[4]) a4 <= 0; - else a4 <= a3 >>> att[3:0]; - - //clamping - out <= ^a4[16:15] ? {a4[16],{15{a4[15]}}} : a4[15:0]; -end - -endmodule - -///////////////////////////////////////////////////////////////////// - // CSync generation // Shifts HSync left by 1 HSync period during VSync diff --git a/sys/video_cleaner.sv b/sys/video_cleaner.sv index a99894c..b0acbc3 100644 --- a/sys/video_cleaner.sv +++ b/sys/video_cleaner.sv @@ -1,99 +1,99 @@ -// -// -// Copyright (c) 2018 Sorgelig -// -// This program is GPL Licensed. See COPYING for the full license. -// -// -//////////////////////////////////////////////////////////////////////////////////////////////////////// - -`timescale 1ns / 1ps - -module video_cleaner -( - input clk_vid, - input ce_pix, - - input [7:0] R, - input [7:0] G, - input [7:0] B, - - input HSync, - input VSync, - input HBlank, - input VBlank, - - //optional de - input DE_in, - - // video output signals - output reg [7:0] VGA_R, - output reg [7:0] VGA_G, - output reg [7:0] VGA_B, - output reg VGA_VS, - output reg VGA_HS, - output VGA_DE, - - // optional aligned blank - output reg HBlank_out, - output reg VBlank_out, - - // optional aligned de - output reg DE_out -); - -wire hs, vs; -s_fix sync_v(clk_vid, HSync, hs); -s_fix sync_h(clk_vid, VSync, vs); - -wire hbl = hs | HBlank; -wire vbl = vs | VBlank; - -assign VGA_DE = ~(HBlank_out | VBlank_out); - -always @(posedge clk_vid) begin - if(ce_pix) begin - HBlank_out <= hbl; - - VGA_HS <= hs; - if(~VGA_HS & hs) VGA_VS <= vs; - - VGA_R <= R; - VGA_G <= G; - VGA_B <= B; - DE_out <= DE_in; - - if(HBlank_out & ~hbl) VBlank_out <= vbl; - end -end - -endmodule - -module s_fix -( - input clk, - - input sync_in, - output sync_out -); - -assign sync_out = sync_in ^ pol; - -reg pol; -always @(posedge clk) begin - integer pos = 0, neg = 0, cnt = 0; - reg s1,s2; - - s1 <= sync_in; - s2 <= s1; - - if(~s2 & s1) neg <= cnt; - if(s2 & ~s1) pos <= cnt; - - cnt <= cnt + 1; - if(s2 != s1) cnt <= 0; - - pol <= pos > neg; -end - -endmodule +// +// +// Copyright (c) 2018 Sorgelig +// +// This program is GPL Licensed. See COPYING for the full license. +// +// +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +`timescale 1ns / 1ps + +module video_cleaner +( + input clk_vid, + input ce_pix, + + input [7:0] R, + input [7:0] G, + input [7:0] B, + + input HSync, + input VSync, + input HBlank, + input VBlank, + + //optional de + input DE_in, + + // video output signals + output reg [7:0] VGA_R, + output reg [7:0] VGA_G, + output reg [7:0] VGA_B, + output reg VGA_VS, + output reg VGA_HS, + output VGA_DE, + + // optional aligned blank + output reg HBlank_out, + output reg VBlank_out, + + // optional aligned de + output reg DE_out +); + +wire hs, vs; +s_fix sync_v(clk_vid, HSync, hs); +s_fix sync_h(clk_vid, VSync, vs); + +wire hbl = hs | HBlank; +wire vbl = vs | VBlank; + +assign VGA_DE = ~(HBlank_out | VBlank_out); + +always @(posedge clk_vid) begin + if(ce_pix) begin + HBlank_out <= hbl; + + VGA_HS <= hs; + if(~VGA_HS & hs) VGA_VS <= vs; + + VGA_R <= R; + VGA_G <= G; + VGA_B <= B; + DE_out <= DE_in; + + if(HBlank_out & ~hbl) VBlank_out <= vbl; + end +end + +endmodule + +module s_fix +( + input clk, + + input sync_in, + output sync_out +); + +assign sync_out = sync_in ^ pol; + +reg pol; +always @(posedge clk) begin + integer pos = 0, neg = 0, cnt = 0; + reg s1,s2; + + s1 <= sync_in; + s2 <= s1; + + if(~s2 & s1) neg <= cnt; + if(s2 & ~s1) pos <= cnt; + + cnt <= cnt + 1; + if(s2 != s1) cnt <= 0; + + pol <= pos > neg; +end + +endmodule diff --git a/sys/video_mixer.sv b/sys/video_mixer.sv index 924bf03..8f204ee 100644 --- a/sys/video_mixer.sv +++ b/sys/video_mixer.sv @@ -1,225 +1,238 @@ -// -// -// Copyright (c) 2017 Sorgelig -// -// This program is GPL Licensed. See COPYING for the full license. -// -// -//////////////////////////////////////////////////////////////////////////////////////////////////////// - -`timescale 1ns / 1ps - -// -// LINE_LENGTH: Length of display line in pixels -// Usually it's length from HSync to HSync. -// May be less if line_start is used. -// -// HALF_DEPTH: If =1 then color dept is 4 bits per component -// For half depth 8 bits monochrome is available with -// mono signal enabled and color = {G, R} -// -// altera message_off 10720 -// altera message_off 12161 - -module video_mixer -#( - parameter LINE_LENGTH = 768, - parameter HALF_DEPTH = 0, - parameter GAMMA = 0 -) -( - // video clock - // it should be multiple by (ce_pix*4). - input clk_vid, - - // Pixel clock or clock_enable (both are accepted). - input ce_pix, - output ce_pix_out, - - input scandoubler, - - // scanlines (00-none 01-25% 10-50% 11-75%) - input [1:0] scanlines, - - // High quality 2x scaling - input hq2x, - - // color - input [DWIDTH:0] R, - input [DWIDTH:0] G, - input [DWIDTH:0] B, - - // Monochrome mode (for HALF_DEPTH only) - input mono, - - inout [21:0] gamma_bus, - - // Positive pulses. - input HSync, - input VSync, - input HBlank, - input VBlank, - - // video output signals - output reg [7:0] VGA_R, - output reg [7:0] VGA_G, - output reg [7:0] VGA_B, - output reg VGA_VS, - output reg VGA_HS, - output reg VGA_DE -); - -localparam DWIDTH = HALF_DEPTH ? 3 : 7; -localparam DWIDTH_SD = GAMMA ? 7 : DWIDTH; -localparam HALF_DEPTH_SD = GAMMA ? 0 : HALF_DEPTH; - -generate - if(GAMMA && HALF_DEPTH) begin - wire [7:0] R_in = mono ? {G,R} : {R,R}; - wire [7:0] G_in = mono ? {G,R} : {G,G}; - wire [7:0] B_in = mono ? {G,R} : {B,B}; - end else begin - wire [DWIDTH:0] R_in = R; - wire [DWIDTH:0] G_in = G; - wire [DWIDTH:0] B_in = B; - end -endgenerate - - -wire hs_g, vs_g; -wire hb_g, vb_g; -wire [DWIDTH_SD:0] R_gamma, G_gamma, B_gamma; - -generate - if(GAMMA) begin - assign gamma_bus[21] = 1; - gamma_corr gamma( - .clk_sys(gamma_bus[20]), - .clk_vid(clk_vid), - .ce_pix(ce_pix), - - .gamma_en(gamma_bus[19]), - .gamma_wr(gamma_bus[18]), - .gamma_wr_addr(gamma_bus[17:8]), - .gamma_value(gamma_bus[7:0]), - - .HSync(HSync), - .VSync(VSync), - .HBlank(HBlank), - .VBlank(VBlank), - .RGB_in({R_in,G_in,B_in}), - - .HSync_out(hs_g), - .VSync_out(vs_g), - .HBlank_out(hb_g), - .VBlank_out(vb_g), - .RGB_out({R_gamma,G_gamma,B_gamma}) - ); - end else begin - assign gamma_bus[21] = 0; - assign {R_gamma,G_gamma,B_gamma} = {R_in,G_in,B_in}; - assign {hs_g, vs_g, hb_g, vb_g} = {HSync, VSync, HBlank, VBlank}; - end -endgenerate - - -wire [DWIDTH_SD:0] R_sd; -wire [DWIDTH_SD:0] G_sd; -wire [DWIDTH_SD:0] B_sd; -wire hs_sd, vs_sd, hb_sd, vb_sd, ce_pix_sd; - -scandoubler #(.LENGTH(LINE_LENGTH), .HALF_DEPTH(HALF_DEPTH_SD)) sd -( - .*, - .hs_in(hs_g), - .vs_in(vs_g), - .hb_in(hb_g), - .vb_in(vb_g), - .r_in(R_gamma), - .g_in(G_gamma), - .b_in(B_gamma), - - .ce_pix_out(ce_pix_sd), - .hs_out(hs_sd), - .vs_out(vs_sd), - .hb_out(hb_sd), - .vb_out(vb_sd), - .r_out(R_sd), - .g_out(G_sd), - .b_out(B_sd) -); - -wire [DWIDTH_SD:0] rt = (scandoubler ? R_sd : R_gamma); -wire [DWIDTH_SD:0] gt = (scandoubler ? G_sd : G_gamma); -wire [DWIDTH_SD:0] bt = (scandoubler ? B_sd : B_gamma); - -generate - if(!GAMMA && HALF_DEPTH) begin - wire [7:0] r = mono ? {gt,rt} : {rt,rt}; - wire [7:0] g = mono ? {gt,rt} : {gt,gt}; - wire [7:0] b = mono ? {gt,rt} : {bt,bt}; - end else begin - wire [7:0] r = rt; - wire [7:0] g = gt; - wire [7:0] b = bt; - end -endgenerate - -wire hs = (scandoubler ? hs_sd : hs_g); -wire vs = (scandoubler ? vs_sd : vs_g); - -assign ce_pix_out = scandoubler ? ce_pix_sd : ce_pix; - - -reg scanline = 0; -always @(posedge clk_vid) begin - reg old_hs, old_vs; - - old_hs <= hs; - old_vs <= vs; - - if(old_hs && ~hs) scanline <= ~scanline; - if(old_vs && ~vs) scanline <= 0; -end - -wire hde = scandoubler ? ~hb_sd : ~hb_g; -wire vde = scandoubler ? ~vb_sd : ~vb_g; - -always @(posedge clk_vid) begin - reg old_hde; - - case(scanlines & {scanline, scanline}) - 1: begin // reduce 25% = 1/2 + 1/4 - VGA_R <= {1'b0, r[7:1]} + {2'b00, r[7:2]}; - VGA_G <= {1'b0, g[7:1]} + {2'b00, g[7:2]}; - VGA_B <= {1'b0, b[7:1]} + {2'b00, b[7:2]}; - end - - 2: begin // reduce 50% = 1/2 - VGA_R <= {1'b0, r[7:1]}; - VGA_G <= {1'b0, g[7:1]}; - VGA_B <= {1'b0, b[7:1]}; - end - - 3: begin // reduce 75% = 1/4 - VGA_R <= {2'b00, r[7:2]}; - VGA_G <= {2'b00, g[7:2]}; - VGA_B <= {2'b00, b[7:2]}; - end - - default: begin - VGA_R <= r; - VGA_G <= g; - VGA_B <= b; - end - endcase - - VGA_VS <= vs; - VGA_HS <= hs; - - old_hde <= hde; - if(~old_hde && hde) VGA_DE <= vde; - if(old_hde && ~hde) VGA_DE <= 0; -end - -endmodule +// +// +// Copyright (c) 2017 Sorgelig +// +// This program is GPL Licensed. See COPYING for the full license. +// +// +//////////////////////////////////////////////////////////////////////////////////////////////////////// + +`timescale 1ns / 1ps + +// +// LINE_LENGTH: Length of display line in pixels +// Usually it's length from HSync to HSync. +// May be less if line_start is used. +// +// HALF_DEPTH: If =1 then color dept is 4 bits per component +// For half depth 8 bits monochrome is available with +// mono signal enabled and color = {G, R} +// +// altera message_off 10720 +// altera message_off 12161 + +module video_mixer +#( + parameter LINE_LENGTH = 768, + parameter HALF_DEPTH = 0, + parameter GAMMA = 0 +) +( + // video clock + // it should be multiple by (ce_pix*4). + input clk_vid, + + // Pixel clock or clock_enable (both are accepted). + input ce_pix, + output ce_pix_out, + + input scandoubler, + + // scanlines (00-none 01-25% 10-50% 11-75%) + input [1:0] scanlines, + + // High quality 2x scaling + input hq2x, + + // color + input [DWIDTH:0] R, + input [DWIDTH:0] G, + input [DWIDTH:0] B, + + // Monochrome mode (for HALF_DEPTH only) + input mono, + + inout [21:0] gamma_bus, + + // Positive pulses. + input HSync, + input VSync, + input HBlank, + input VBlank, + + // video output signals + output reg [7:0] VGA_R, + output reg [7:0] VGA_G, + output reg [7:0] VGA_B, + output reg VGA_VS, + output reg VGA_HS, + output reg VGA_DE +); + +localparam DWIDTH = HALF_DEPTH ? 3 : 7; +localparam DWIDTH_SD = GAMMA ? 7 : DWIDTH; +localparam HALF_DEPTH_SD = GAMMA ? 0 : HALF_DEPTH; + +generate + if(GAMMA && HALF_DEPTH) begin + wire [7:0] R_in = mono ? {G,R} : {R,R}; + wire [7:0] G_in = mono ? {G,R} : {G,G}; + wire [7:0] B_in = mono ? {G,R} : {B,B}; + end else begin + wire [DWIDTH:0] R_in = R; + wire [DWIDTH:0] G_in = G; + wire [DWIDTH:0] B_in = B; + end +endgenerate + + +wire hs_g, vs_g; +wire hb_g, vb_g; +wire [DWIDTH_SD:0] R_gamma, G_gamma, B_gamma; + +generate + if(GAMMA) begin + assign gamma_bus[21] = 1; + gamma_corr gamma( + .clk_sys(gamma_bus[20]), + .clk_vid(clk_vid), + .ce_pix(ce_pix), + + .gamma_en(gamma_bus[19]), + .gamma_wr(gamma_bus[18]), + .gamma_wr_addr(gamma_bus[17:8]), + .gamma_value(gamma_bus[7:0]), + + .HSync(HSync), + .VSync(VSync), + .HBlank(HBlank), + .VBlank(VBlank), + .RGB_in({R_in,G_in,B_in}), + + .HSync_out(hs_g), + .VSync_out(vs_g), + .HBlank_out(hb_g), + .VBlank_out(vb_g), + .RGB_out({R_gamma,G_gamma,B_gamma}) + ); + end else begin + assign gamma_bus[21] = 0; + assign {R_gamma,G_gamma,B_gamma} = {R_in,G_in,B_in}; + assign {hs_g, vs_g, hb_g, vb_g} = {HSync, VSync, HBlank, VBlank}; + end +endgenerate + + +wire [DWIDTH_SD:0] R_sd; +wire [DWIDTH_SD:0] G_sd; +wire [DWIDTH_SD:0] B_sd; +wire hs_sd, vs_sd, hb_sd, vb_sd, ce_pix_sd; + +scandoubler #(.LENGTH(LINE_LENGTH), .HALF_DEPTH(HALF_DEPTH_SD)) sd +( + .*, + .hs_in(hs_g), + .vs_in(vs_g), + .hb_in(hb_g), + .vb_in(vb_g), + .r_in(R_gamma), + .g_in(G_gamma), + .b_in(B_gamma), + + .ce_pix_out(ce_pix_sd), + .hs_out(hs_sd), + .vs_out(vs_sd), + .hb_out(hb_sd), + .vb_out(vb_sd), + .r_out(R_sd), + .g_out(G_sd), + .b_out(B_sd) +); + +wire [DWIDTH_SD:0] rt = (scandoubler ? R_sd : R_gamma); +wire [DWIDTH_SD:0] gt = (scandoubler ? G_sd : G_gamma); +wire [DWIDTH_SD:0] bt = (scandoubler ? B_sd : B_gamma); + +generate + if(!GAMMA && HALF_DEPTH) begin + wire [7:0] r = mono ? {gt,rt} : {rt,rt}; + wire [7:0] g = mono ? {gt,rt} : {gt,gt}; + wire [7:0] b = mono ? {gt,rt} : {bt,bt}; + end else begin + wire [7:0] r = rt; + wire [7:0] g = gt; + wire [7:0] b = bt; + end +endgenerate + +wire hs = (scandoubler ? hs_sd : hs_g); +wire vs = (scandoubler ? vs_sd : vs_g); + +assign ce_pix_out = scandoubler ? ce_pix_sd : ce_pix; + + +reg scanline = 0; +always @(posedge clk_vid) begin + reg old_hs, old_vs; + + old_hs <= hs; + old_vs <= vs; + + if(old_hs && ~hs) scanline <= ~scanline; + if(old_vs && ~vs) scanline <= 0; +end + +wire hde = scandoubler ? ~hb_sd : ~hb_g; +wire vde = scandoubler ? ~vb_sd : ~vb_g; + +reg [7:0] v_r,v_g,v_b; +reg v_vs,v_hs,v_de; +always @(posedge clk_vid) begin + reg old_hde; + + if(ce_pix_out) begin + case(scanlines & {scanline, scanline}) + 1: begin // reduce 25% = 1/2 + 1/4 + v_r <= {1'b0, r[7:1]} + {2'b00, r[7:2]}; + v_g <= {1'b0, g[7:1]} + {2'b00, g[7:2]}; + v_b <= {1'b0, b[7:1]} + {2'b00, b[7:2]}; + end + + 2: begin // reduce 50% = 1/2 + v_r <= {1'b0, r[7:1]}; + v_g <= {1'b0, g[7:1]}; + v_b <= {1'b0, b[7:1]}; + end + + 3: begin // reduce 75% = 1/4 + v_r <= {2'b00, r[7:2]}; + v_g <= {2'b00, g[7:2]}; + v_b <= {2'b00, b[7:2]}; + end + + default: begin + v_r <= r; + v_g <= g; + v_b <= b; + end + endcase + + v_vs <= vs; + v_hs <= hs; + + old_hde <= hde; + if(~old_hde && hde) v_de <= vde; + if(old_hde && ~hde) v_de <= 0; + end +end + +always @(posedge clk_vid) if(ce_pix_out) begin + VGA_R <= v_r; + VGA_G <= v_g; + VGA_B <= v_b; + VGA_HS <= v_hs; + VGA_VS <= v_vs; + VGA_DE <= v_de; +end + +endmodule From ebd9432d247dd73c95a0d9157675b43ba33125ac Mon Sep 17 00:00:00 2001 From: Alan Steremberg Date: Sun, 17 Jan 2021 14:20:52 -0800 Subject: [PATCH 2/3] new release, fixed keys --- Arcade-SolomonsKey.qsf | 2 +- releases/Arcade-SolomonsKey_20210116.rbf | Bin 0 -> 3355760 bytes releases/Solomon no Kagi (Japan).mra | 1 + releases/Solomon's Key.mra | 2 ++ 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 releases/Arcade-SolomonsKey_20210116.rbf diff --git a/Arcade-SolomonsKey.qsf b/Arcade-SolomonsKey.qsf index dce5f75..9f04b90 100644 --- a/Arcade-SolomonsKey.qsf +++ b/Arcade-SolomonsKey.qsf @@ -13,7 +13,7 @@ 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_global_assignment -name LAST_QUARTUS_VERSION "17.0.2 Lite Edition" +set_global_assignment -name LAST_QUARTUS_VERSION "17.0.2 Lite Edition" set_global_assignment -name GENERATE_RBF_FILE ON set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files diff --git a/releases/Arcade-SolomonsKey_20210116.rbf b/releases/Arcade-SolomonsKey_20210116.rbf new file mode 100644 index 0000000000000000000000000000000000000000..f23ef1d838f4c5b7fa449a068bc905f510eb25fc GIT binary patch literal 3355760 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
    Dx24rImfv_uH59eP@${0Q8A|bakIZD) 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

    lH;#<{bFsK1r?kP_vawFrdN4H#e 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

    p>3mi7%So7}xI1SK!h9*st!GPF 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

    yQ5IwY#r&ZAO_qd^)a;x?Bx8PiD1D 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 z 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 Nt`vZ8>@HAgS*Qrdybmx>!^xRgg$qKJ#LX4R{ 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%0DrKp~VMZ_;-)|#P5%6u2^D1 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�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 }&sVeYef_-X;Kl_8F2k3NuXjG&?uy7( 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%0DT{(j=F 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

    {pMx(9 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

    &=dGYhKJf|LF7yLc}Cg3QfAZuIo@U|Ggc^K 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±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⋼P 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

      L@7xu#r3p27K6L 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 literal 0 HcmV?d00001 diff --git a/releases/Solomon no Kagi (Japan).mra b/releases/Solomon no Kagi (Japan).mra index ba27ac2..5f0badd 100644 --- a/releases/Solomon no Kagi (Japan).mra +++ b/releases/Solomon no Kagi (Japan).mra @@ -8,6 +8,7 @@ Adventure Platform solomonskey + diff --git a/releases/Solomon's Key.mra b/releases/Solomon's Key.mra index 545e2b7..d82a671 100644 --- a/releases/Solomon's Key.mra +++ b/releases/Solomon's Key.mra @@ -8,6 +8,8 @@ Adventure Platform solomonskey + + From 9db93eb3fd7deb11c84d5e8b8483c92ef62ed9c7 Mon Sep 17 00:00:00 2001 From: Alan Steremberg Date: Sun, 17 Jan 2021 14:33:51 -0800 Subject: [PATCH 3/3] fixed button labels --- releases/Solomon's Key.mra | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/releases/Solomon's Key.mra b/releases/Solomon's Key.mra index d82a671..d0577a4 100644 --- a/releases/Solomon's Key.mra +++ b/releases/Solomon's Key.mra @@ -8,7 +8,7 @@ Adventure Platform solomonskey - +