Revision 37
Added by markw over 11 years ago
mcc216/pll.qip | ||
---|---|---|
set_global_assignment -name IP_TOOL_NAME "ALTPLL"
|
||
set_global_assignment -name IP_TOOL_VERSION "13.0"
|
||
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "pll.vhd"]
|
||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.bsf"]
|
||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.cmp"]
|
||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "pll.ppf"]
|
mcc216/pll.bsf | ||
---|---|---|
/*
|
||
WARNING: Do NOT edit the input and output ports in this file in a text
|
||
editor if you plan to continue editing the block that represents it in
|
||
the Block Editor! File corruption is VERY likely to occur.
|
||
*/
|
||
/*
|
||
Copyright (C) 1991-2013 Altera Corporation
|
||
Your use of Altera Corporation's design tools, logic functions
|
||
and other software and tools, and its AMPP partner logic
|
||
functions, and any output files from any of the foregoing
|
||
(including device programming or simulation files), and any
|
||
associated documentation or information are expressly subject
|
||
to the terms and conditions of the Altera Program License
|
||
Subscription Agreement, Altera MegaCore Function License
|
||
Agreement, or other applicable license agreement, including,
|
||
without limitation, that your use is for the sole purpose of
|
||
programming logic devices manufactured by Altera and sold by
|
||
Altera or its authorized distributors. Please refer to the
|
||
applicable agreement for further details.
|
||
*/
|
||
(header "symbol" (version "1.2"))
|
||
(symbol
|
||
(rect 0 0 216 152)
|
||
(text "pll" (rect 102 0 116 11)(font "Arial" (font_size 10)))
|
||
(text "inst" (rect 8 141 22 148)(font "Arial" ))
|
||
(port
|
||
(pt 0 64)
|
||
(input)
|
||
(text "inclk0" (rect 0 0 22 9)(font "Arial" (font_size 8)))
|
||
(text "inclk0" (rect 4 55 21 63)(font "Arial" (font_size 8)))
|
||
(line (pt 0 64)(pt 40 64))
|
||
)
|
||
(port
|
||
(pt 216 64)
|
||
(output)
|
||
(text "c0" (rect 0 0 9 9)(font "Arial" (font_size 8)))
|
||
(text "c0" (rect 204 55 210 63)(font "Arial" (font_size 8)))
|
||
)
|
||
(port
|
||
(pt 216 80)
|
||
(output)
|
||
(text "c1" (rect 0 0 9 9)(font "Arial" (font_size 8)))
|
||
(text "c1" (rect 204 71 210 79)(font "Arial" (font_size 8)))
|
||
)
|
||
(port
|
||
(pt 216 96)
|
||
(output)
|
||
(text "c2" (rect 0 0 9 9)(font "Arial" (font_size 8)))
|
||
(text "c2" (rect 204 87 211 95)(font "Arial" (font_size 8)))
|
||
)
|
||
(port
|
||
(pt 216 112)
|
||
(output)
|
||
(text "locked" (rect 0 0 24 9)(font "Arial" (font_size 8)))
|
||
(text "locked" (rect 191 103 211 111)(font "Arial" (font_size 8)))
|
||
)
|
||
(drawing
|
||
(text "Cyclone III" (rect 173 145 378 296)(font "Arial" ))
|
||
(text "inclk0 frequency: 5.000 MHz" (rect 50 63 187 132)(font "Arial" ))
|
||
(text "Operation Mode: Normal" (rect 50 71 175 148)(font "Arial" ))
|
||
(text "Clk " (rect 51 84 112 174)(font "Arial" ))
|
||
(text "Ratio" (rect 67 84 149 174)(font "Arial" ))
|
||
(text "Ph (dg)" (rect 88 84 198 174)(font "Arial" ))
|
||
(text "DC (%)" (rect 115 84 251 174)(font "Arial" ))
|
||
(text "c0" (rect 53 93 112 192)(font "Arial" ))
|
||
(text "69/4" (rect 68 93 149 192)(font "Arial" ))
|
||
(text "0.00" (rect 92 93 196 192)(font "Arial" ))
|
||
(text "50.00" (rect 117 93 250 192)(font "Arial" ))
|
||
(text "c1" (rect 53 102 112 210)(font "Arial" ))
|
||
(text "23/4" (rect 68 102 149 210)(font "Arial" ))
|
||
(text "0.00" (rect 92 102 196 210)(font "Arial" ))
|
||
(text "50.00" (rect 117 102 250 210)(font "Arial" ))
|
||
(text "c2" (rect 53 111 113 228)(font "Arial" ))
|
||
(text "69/4" (rect 68 111 149 228)(font "Arial" ))
|
||
(text "232.87" (rect 88 111 197 228)(font "Arial" ))
|
||
(text "50.00" (rect 117 111 250 228)(font "Arial" ))
|
||
(line (pt 0 0)(pt 217 0))
|
||
(line (pt 217 0)(pt 217 154))
|
||
(line (pt 0 154)(pt 217 154))
|
||
(line (pt 0 0)(pt 0 154))
|
||
(line (pt 48 82)(pt 138 82))
|
||
(line (pt 48 90)(pt 138 90))
|
||
(line (pt 48 99)(pt 138 99))
|
||
(line (pt 48 108)(pt 138 108))
|
||
(line (pt 48 117)(pt 138 117))
|
||
(line (pt 48 82)(pt 48 117))
|
||
(line (pt 64 82)(pt 64 117)(line_width 3))
|
||
(line (pt 85 82)(pt 85 117)(line_width 3))
|
||
(line (pt 112 82)(pt 112 117)(line_width 3))
|
||
(line (pt 137 82)(pt 137 117))
|
||
(line (pt 40 48)(pt 175 48))
|
||
(line (pt 175 48)(pt 175 136))
|
||
(line (pt 40 136)(pt 175 136))
|
||
(line (pt 40 48)(pt 40 136))
|
||
(line (pt 215 64)(pt 175 64))
|
||
(line (pt 215 80)(pt 175 80))
|
||
(line (pt 215 96)(pt 175 96))
|
||
(line (pt 215 112)(pt 175 112))
|
||
)
|
||
)
|
mcc216/pll.cmp | ||
---|---|---|
--Copyright (C) 1991-2013 Altera Corporation
|
||
--Your use of Altera Corporation's design tools, logic functions
|
||
--and other software and tools, and its AMPP partner logic
|
||
--functions, and any output files from any of the foregoing
|
||
--(including device programming or simulation files), and any
|
||
--associated documentation or information are expressly subject
|
||
--to the terms and conditions of the Altera Program License
|
||
--Subscription Agreement, Altera MegaCore Function License
|
||
--Agreement, or other applicable license agreement, including,
|
||
--without limitation, that your use is for the sole purpose of
|
||
--programming logic devices manufactured by Altera and sold by
|
||
--Altera or its authorized distributors. Please refer to the
|
||
--applicable agreement for further details.
|
||
|
||
|
||
component pll
|
||
PORT
|
||
(
|
||
inclk0 : IN STD_LOGIC := '0';
|
||
c0 : OUT STD_LOGIC ;
|
||
c1 : OUT STD_LOGIC ;
|
||
c2 : OUT STD_LOGIC ;
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
end component;
|
mcc216/pll.vhd | ||
---|---|---|
-- megafunction wizard: %ALTPLL%
|
||
-- GENERATION: STANDARD
|
||
-- VERSION: WM1.0
|
||
-- MODULE: altpll
|
||
|
||
-- ============================================================
|
||
-- File Name: pll.vhd
|
||
-- Megafunction Name(s):
|
||
-- altpll
|
||
--
|
||
-- Simulation Library Files(s):
|
||
-- altera_mf
|
||
-- ============================================================
|
||
-- ************************************************************
|
||
-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||
--
|
||
-- 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
|
||
-- ************************************************************
|
||
|
||
|
||
--Copyright (C) 1991-2013 Altera Corporation
|
||
--Your use of Altera Corporation's design tools, logic functions
|
||
--and other software and tools, and its AMPP partner logic
|
||
--functions, and any output files from any of the foregoing
|
||
--(including device programming or simulation files), and any
|
||
--associated documentation or information are expressly subject
|
||
--to the terms and conditions of the Altera Program License
|
||
--Subscription Agreement, Altera MegaCore Function License
|
||
--Agreement, or other applicable license agreement, including,
|
||
--without limitation, that your use is for the sole purpose of
|
||
--programming logic devices manufactured by Altera and sold by
|
||
--Altera or its authorized distributors. Please refer to the
|
||
--applicable agreement for further details.
|
||
|
||
|
||
LIBRARY ieee;
|
||
USE ieee.std_logic_1164.all;
|
||
|
||
LIBRARY altera_mf;
|
||
USE altera_mf.all;
|
||
|
||
ENTITY pll IS
|
||
PORT
|
||
(
|
||
inclk0 : IN STD_LOGIC := '0';
|
||
c0 : OUT STD_LOGIC ;
|
||
c1 : OUT STD_LOGIC ;
|
||
c2 : OUT STD_LOGIC ;
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
END pll;
|
||
|
||
|
||
ARCHITECTURE SYN OF pll IS
|
||
|
||
SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0);
|
||
SIGNAL sub_wire1 : STD_LOGIC ;
|
||
SIGNAL sub_wire2 : STD_LOGIC ;
|
||
SIGNAL sub_wire3 : STD_LOGIC ;
|
||
SIGNAL sub_wire4 : STD_LOGIC ;
|
||
SIGNAL sub_wire5 : STD_LOGIC ;
|
||
SIGNAL sub_wire6 : STD_LOGIC_VECTOR (1 DOWNTO 0);
|
||
SIGNAL sub_wire7_bv : BIT_VECTOR (0 DOWNTO 0);
|
||
SIGNAL sub_wire7 : STD_LOGIC_VECTOR (0 DOWNTO 0);
|
||
|
||
|
||
|
||
COMPONENT altpll
|
||
GENERIC (
|
||
bandwidth_type : STRING;
|
||
clk0_divide_by : NATURAL;
|
||
clk0_duty_cycle : NATURAL;
|
||
clk0_multiply_by : NATURAL;
|
||
clk0_phase_shift : STRING;
|
||
clk1_divide_by : NATURAL;
|
||
clk1_duty_cycle : NATURAL;
|
||
clk1_multiply_by : NATURAL;
|
||
clk1_phase_shift : STRING;
|
||
clk2_divide_by : NATURAL;
|
||
clk2_duty_cycle : NATURAL;
|
||
clk2_multiply_by : NATURAL;
|
||
clk2_phase_shift : STRING;
|
||
compensate_clock : STRING;
|
||
inclk0_input_frequency : NATURAL;
|
||
intended_device_family : STRING;
|
||
lpm_hint : STRING;
|
||
lpm_type : STRING;
|
||
operation_mode : STRING;
|
||
pll_type : STRING;
|
||
port_activeclock : STRING;
|
||
port_areset : STRING;
|
||
port_clkbad0 : STRING;
|
||
port_clkbad1 : STRING;
|
||
port_clkloss : STRING;
|
||
port_clkswitch : STRING;
|
||
port_configupdate : STRING;
|
||
port_fbin : STRING;
|
||
port_inclk0 : STRING;
|
||
port_inclk1 : STRING;
|
||
port_locked : STRING;
|
||
port_pfdena : STRING;
|
||
port_phasecounterselect : STRING;
|
||
port_phasedone : STRING;
|
||
port_phasestep : STRING;
|
||
port_phaseupdown : STRING;
|
||
port_pllena : STRING;
|
||
port_scanaclr : STRING;
|
||
port_scanclk : STRING;
|
||
port_scanclkena : STRING;
|
||
port_scandata : STRING;
|
||
port_scandataout : STRING;
|
||
port_scandone : STRING;
|
||
port_scanread : STRING;
|
||
port_scanwrite : STRING;
|
||
port_clk0 : STRING;
|
||
port_clk1 : STRING;
|
||
port_clk2 : STRING;
|
||
port_clk3 : STRING;
|
||
port_clk4 : STRING;
|
||
port_clk5 : STRING;
|
||
port_clkena0 : STRING;
|
||
port_clkena1 : STRING;
|
||
port_clkena2 : STRING;
|
||
port_clkena3 : STRING;
|
||
port_clkena4 : STRING;
|
||
port_clkena5 : STRING;
|
||
port_extclk0 : STRING;
|
||
port_extclk1 : STRING;
|
||
port_extclk2 : STRING;
|
||
port_extclk3 : STRING;
|
||
self_reset_on_loss_lock : STRING;
|
||
width_clock : NATURAL
|
||
);
|
||
PORT (
|
||
clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0);
|
||
inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
END COMPONENT;
|
||
|
||
BEGIN
|
||
sub_wire7_bv(0 DOWNTO 0) <= "0";
|
||
sub_wire7 <= To_stdlogicvector(sub_wire7_bv);
|
||
sub_wire4 <= sub_wire0(2);
|
||
sub_wire3 <= sub_wire0(0);
|
||
sub_wire1 <= sub_wire0(1);
|
||
c1 <= sub_wire1;
|
||
locked <= sub_wire2;
|
||
c0 <= sub_wire3;
|
||
c2 <= sub_wire4;
|
||
sub_wire5 <= inclk0;
|
||
sub_wire6 <= sub_wire7(0 DOWNTO 0) & sub_wire5;
|
||
|
||
altpll_component : altpll
|
||
GENERIC MAP (
|
||
bandwidth_type => "AUTO",
|
||
clk0_divide_by => 4,
|
||
clk0_duty_cycle => 50,
|
||
clk0_multiply_by => 69,
|
||
clk0_phase_shift => "0",
|
||
clk1_divide_by => 4,
|
||
clk1_duty_cycle => 50,
|
||
clk1_multiply_by => 23,
|
||
clk1_phase_shift => "0",
|
||
clk2_divide_by => 4,
|
||
clk2_duty_cycle => 50,
|
||
clk2_multiply_by => 69,
|
||
clk2_phase_shift => "7500",
|
||
compensate_clock => "CLK0",
|
||
inclk0_input_frequency => 200000,
|
||
intended_device_family => "Cyclone III",
|
||
lpm_hint => "CBX_MODULE_PREFIX=pll",
|
||
lpm_type => "altpll",
|
||
operation_mode => "NORMAL",
|
||
pll_type => "AUTO",
|
||
port_activeclock => "PORT_UNUSED",
|
||
port_areset => "PORT_UNUSED",
|
||
port_clkbad0 => "PORT_UNUSED",
|
||
port_clkbad1 => "PORT_UNUSED",
|
||
port_clkloss => "PORT_UNUSED",
|
||
port_clkswitch => "PORT_UNUSED",
|
||
port_configupdate => "PORT_UNUSED",
|
||
port_fbin => "PORT_UNUSED",
|
||
port_inclk0 => "PORT_USED",
|
||
port_inclk1 => "PORT_UNUSED",
|
||
port_locked => "PORT_USED",
|
||
port_pfdena => "PORT_UNUSED",
|
||
port_phasecounterselect => "PORT_UNUSED",
|
||
port_phasedone => "PORT_UNUSED",
|
||
port_phasestep => "PORT_UNUSED",
|
||
port_phaseupdown => "PORT_UNUSED",
|
||
port_pllena => "PORT_UNUSED",
|
||
port_scanaclr => "PORT_UNUSED",
|
||
port_scanclk => "PORT_UNUSED",
|
||
port_scanclkena => "PORT_UNUSED",
|
||
port_scandata => "PORT_UNUSED",
|
||
port_scandataout => "PORT_UNUSED",
|
||
port_scandone => "PORT_UNUSED",
|
||
port_scanread => "PORT_UNUSED",
|
||
port_scanwrite => "PORT_UNUSED",
|
||
port_clk0 => "PORT_USED",
|
||
port_clk1 => "PORT_USED",
|
||
port_clk2 => "PORT_USED",
|
||
port_clk3 => "PORT_UNUSED",
|
||
port_clk4 => "PORT_UNUSED",
|
||
port_clk5 => "PORT_UNUSED",
|
||
port_clkena0 => "PORT_UNUSED",
|
||
port_clkena1 => "PORT_UNUSED",
|
||
port_clkena2 => "PORT_UNUSED",
|
||
port_clkena3 => "PORT_UNUSED",
|
||
port_clkena4 => "PORT_UNUSED",
|
||
port_clkena5 => "PORT_UNUSED",
|
||
port_extclk0 => "PORT_UNUSED",
|
||
port_extclk1 => "PORT_UNUSED",
|
||
port_extclk2 => "PORT_UNUSED",
|
||
port_extclk3 => "PORT_UNUSED",
|
||
self_reset_on_loss_lock => "OFF",
|
||
width_clock => 5
|
||
)
|
||
PORT MAP (
|
||
inclk => sub_wire6,
|
||
clk => sub_wire0,
|
||
locked => sub_wire2
|
||
);
|
||
|
||
|
||
|
||
END SYN;
|
||
|
||
-- ============================================================
|
||
-- CNX file retrieval info
|
||
-- ============================================================
|
||
-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
|
||
-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "1"
|
||
-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
|
||
-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
|
||
-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
|
||
-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "40"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "40"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "40"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "86.250000"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "28.750000"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "86.250000"
|
||
-- Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
|
||
-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
|
||
-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
|
||
-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0"
|
||
-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "1"
|
||
-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
|
||
-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
|
||
-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "5.000"
|
||
-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
|
||
-- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||
-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
|
||
-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"
|
||
-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
|
||
-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
|
||
-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps"
|
||
-- Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "690"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "230"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "690"
|
||
-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "28.70000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "28.70000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "100.00000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "7.50000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "ns"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "ns"
|
||
-- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
|
||
-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
|
||
-- Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif"
|
||
-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
|
||
-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
|
||
-- Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
|
||
-- Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
|
||
-- Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
|
||
-- Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
|
||
-- Retrieval info: PRIVATE: SPREAD_USE STRING "0"
|
||
-- Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
|
||
-- Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
|
||
-- Retrieval info: PRIVATE: STICKY_CLK1 STRING "1"
|
||
-- Retrieval info: PRIVATE: STICKY_CLK2 STRING "1"
|
||
-- Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"
|
||
-- Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||
-- Retrieval info: PRIVATE: USE_CLK0 STRING "1"
|
||
-- Retrieval info: PRIVATE: USE_CLK1 STRING "1"
|
||
-- Retrieval info: PRIVATE: USE_CLK2 STRING "1"
|
||
-- Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"
|
||
-- Retrieval info: PRIVATE: USE_CLKENA1 STRING "0"
|
||
-- Retrieval info: PRIVATE: USE_CLKENA2 STRING "0"
|
||
-- Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"
|
||
-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
|
||
-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"
|
||
-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "4"
|
||
-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
|
||
-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "69"
|
||
-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
|
||
-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "4"
|
||
-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"
|
||
-- Retrieval info: CONSTANT: CLK1_MULTIPLY_BY NUMERIC "23"
|
||
-- Retrieval info: CONSTANT: CLK1_PHASE_SHIFT STRING "0"
|
||
-- Retrieval info: CONSTANT: CLK2_DIVIDE_BY NUMERIC "4"
|
||
-- Retrieval info: CONSTANT: CLK2_DUTY_CYCLE NUMERIC "50"
|
||
-- Retrieval info: CONSTANT: CLK2_MULTIPLY_BY NUMERIC "69"
|
||
-- Retrieval info: CONSTANT: CLK2_PHASE_SHIFT STRING "7500"
|
||
-- Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"
|
||
-- Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "200000"
|
||
-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||
-- Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"
|
||
-- Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"
|
||
-- Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO"
|
||
-- Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED"
|
||
-- Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_USED"
|
||
-- Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED"
|
||
-- Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_USED"
|
||
-- Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_USED"
|
||
-- Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED"
|
||
-- Retrieval info: CONSTANT: SELF_RESET_ON_LOSS_LOCK STRING "OFF"
|
||
-- Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5"
|
||
-- Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]"
|
||
-- Retrieval info: USED_PORT: @inclk 0 0 2 0 INPUT_CLK_EXT VCC "@inclk[1..0]"
|
||
-- Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0"
|
||
-- Retrieval info: USED_PORT: c1 0 0 0 0 OUTPUT_CLK_EXT VCC "c1"
|
||
-- Retrieval info: USED_PORT: c2 0 0 0 0 OUTPUT_CLK_EXT VCC "c2"
|
||
-- Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0"
|
||
-- Retrieval info: USED_PORT: locked 0 0 0 0 OUTPUT GND "locked"
|
||
-- Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0
|
||
-- Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0
|
||
-- Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0
|
||
-- Retrieval info: CONNECT: c1 0 0 0 0 @clk 0 0 1 1
|
||
-- Retrieval info: CONNECT: c2 0 0 0 0 @clk 0 0 1 2
|
||
-- Retrieval info: CONNECT: locked 0 0 0 0 @locked 0 0 0 0
|
||
-- Retrieval info: GEN_FILE: TYPE_NORMAL pll.vhd TRUE
|
||
-- Retrieval info: GEN_FILE: TYPE_NORMAL pll.ppf TRUE
|
||
-- Retrieval info: GEN_FILE: TYPE_NORMAL pll.inc FALSE
|
||
-- Retrieval info: GEN_FILE: TYPE_NORMAL pll.cmp TRUE
|
||
-- Retrieval info: GEN_FILE: TYPE_NORMAL pll.bsf TRUE
|
||
-- Retrieval info: GEN_FILE: TYPE_NORMAL pll_inst.vhd FALSE
|
||
-- Retrieval info: LIB_FILE: altera_mf
|
||
-- Retrieval info: CBX_MODULE_PREFIX: ON
|
mcc216/pll.ppf | ||
---|---|---|
<?xml version="1.0" encoding="UTF-8" ?>
|
||
<!DOCTYPE pinplan>
|
||
<pinplan intended_family="Cyclone III" variation_name="pll" megafunction_name="ALTPLL" specifies="all_ports">
|
||
<global>
|
||
<pin name="inclk0" direction="input" scope="external" source="clock" />
|
||
<pin name="c0" direction="output" scope="external" source="clock" />
|
||
<pin name="c1" direction="output" scope="external" source="clock" />
|
||
<pin name="c2" direction="output" scope="external" source="clock" />
|
||
<pin name="locked" direction="output" scope="external" />
|
||
|
||
</global>
|
||
</pinplan>
|
mcc216/atari800core.qsf | ||
---|---|---|
set_instance_assignment -name IO_MAXIMUM_TOGGLE_RATE "0 MHz" -to VGA_B[3]
|
||
|
||
|
||
set_global_assignment -name QIP_FILE pll.qip
|
||
set_global_assignment -name QIP_FILE pal_pll.qip
|
||
set_global_assignment -name QIP_FILE ntsc_pll.qip
|
||
set_global_assignment -name SDC_FILE atari800core.sdc
|
||
set_global_assignment -name VERILOG_FILE sdram_ctrl_3_ports.v
|
||
set_global_assignment -name VHDL_FILE atari800core_mcc.vhd
|
||
|
||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||
|
mcc216/atari800core_mcc.vhd | ||
---|---|---|
LIBRARY work;
|
||
|
||
ENTITY atari800core_mcc IS
|
||
GENERIC
|
||
(
|
||
TV : integer; -- 1 = PAL, 0=NTSC
|
||
VIDEO : integer; -- 1 = SVIDEO, 2 = VGA
|
||
SCANDOUBLE : integer; -- 1 = YES, 0=NO, (+ later scanlines etc)
|
||
internal_ram : integer
|
||
);
|
||
PORT
|
||
(
|
||
FPGA_CLK : IN STD_LOGIC;
|
||
... | ... | |
);
|
||
END COMPONENT;
|
||
|
||
COMPONENT pll
|
||
PORT(inclk0 : IN STD_LOGIC;
|
||
c0 : OUT STD_LOGIC;
|
||
c1 : OUT STD_LOGIC;
|
||
c2 : OUT STD_LOGIC;
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
END COMPONENT;
|
||
|
||
signal AUDIO_L_PCM : std_logic_vector(15 downto 0);
|
||
signal AUDIO_R_PCM : std_logic_vector(15 downto 0);
|
||
|
||
signal VGA_VS_RAW : std_logic;
|
||
signal VGA_HS_RAW : std_logic;
|
||
signal VIDEO_VS : std_logic;
|
||
signal VIDEO_HS : std_logic;
|
||
signal VIDEO_R : std_logic_vector(7 downto 0);
|
||
signal VIDEO_G : std_logic_vector(7 downto 0);
|
||
signal VIDEO_B : std_logic_vector(7 downto 0);
|
||
|
||
signal VIDEO_BLANK : std_logic;
|
||
signal VIDEO_BURST : std_logic;
|
||
signal VIDEO_START_OF_FIELD : std_logic;
|
||
signal VIDEO_ODD_LINE : std_logic;
|
||
|
||
signal PAL : std_logic;
|
||
|
||
signal JOY1_IN_n : std_logic_vector(4 downto 0);
|
||
signal JOY2_IN_n : std_logic_vector(4 downto 0);
|
||
... | ... | |
-- 6502 throttling
|
||
SIGNAL THROTTLE_COUNT_6502 : std_logic_vector(5 downto 0);
|
||
|
||
-- scandoubler
|
||
signal scandouble_clk : std_logic;
|
||
|
||
signal half_scandouble_enable_reg : std_logic;
|
||
signal half_scandouble_enable_next : std_logic;
|
||
|
||
function palette_from_scandouble( scandouble : integer ) return integer is
|
||
begin
|
||
if (scandouble = 1) then
|
||
return 0;
|
||
else
|
||
return 1;
|
||
end if;
|
||
end palette_from_scandouble;
|
||
|
||
-- svideo
|
||
signal svideo_dac_clk : std_logic;
|
||
|
||
signal svideo_y : std_logic_vector(7 downto 0);
|
||
signal svideo_c : std_logic_vector(5 downto 0);
|
||
|
||
BEGIN
|
||
|
||
dac_left : hq_dac
|
||
... | ... | |
dac_out => audio_r
|
||
);
|
||
|
||
mcc_pll : pll
|
||
PORT MAP(inclk0 => FPGA_CLK,
|
||
c0 => CLK_SDRAM,
|
||
c1 => CLK,
|
||
c2 => SDRAM_CLK,
|
||
locked => PLL_LOCKED);
|
||
gen_tv_pal : if tv=1 generate
|
||
mcc_pll : entity work.pal_pll
|
||
PORT MAP(inclk0 => FPGA_CLK,
|
||
c0 => CLK_SDRAM,
|
||
c1 => CLK,
|
||
c2 => SDRAM_CLK,
|
||
c3 => SVIDEO_DAC_CLK,
|
||
c4 => SCANDOUBLE_CLK,
|
||
locked => PLL_LOCKED);
|
||
end generate;
|
||
|
||
gen_tv_ntsc : if tv=0 generate
|
||
mcc_pll : entity work.ntsc_pll
|
||
PORT MAP(inclk0 => FPGA_CLK,
|
||
c0 => CLK_SDRAM,
|
||
c1 => CLK,
|
||
c2 => SDRAM_CLK,
|
||
c3 => SVIDEO_DAC_CLK,
|
||
c4 => SCANDOUBLE_CLK,
|
||
locked => PLL_LOCKED);
|
||
end generate;
|
||
|
||
reset_n <= PLL_LOCKED;
|
||
JOY1_IN_N <= JOY1_n(4)&JOY1_n(0)&JOY1_n(1)&JOY1_n(2)&JOY1_n(3);
|
||
JOY2_IN_N <= JOY2_n(4)&JOY2_n(0)&JOY2_n(1)&JOY2_n(2)&JOY2_n(3);
|
||
... | ... | |
-- THROTTLE
|
||
THROTTLE_COUNT_6502 <= std_logic_vector(to_unsigned(32-1,6));
|
||
|
||
-- VIDEO
|
||
VGA_HS <= not(VGA_HS_RAW xor VGA_VS_RAW);
|
||
VGA_VS <= not(VGA_VS_RAW);
|
||
|
||
--atari800xl : entity work.atari800core_helloworld
|
||
-- GENERIC MAP
|
||
-- (
|
||
... | ... | |
-- TODO - reset!
|
||
);
|
||
|
||
PAL <= '1' when TV=1 else '0';
|
||
|
||
atarixl_simple_sdram1 : entity work.atari800core_simple_sdram
|
||
GENERIC MAP
|
||
(
|
||
cycle_length => 16,
|
||
internal_rom => 1,
|
||
internal_ram => 0,
|
||
video_bits => 4
|
||
internal_ram => internal_ram,
|
||
video_bits => 8,
|
||
palette => palette_from_scandouble(scandouble)
|
||
)
|
||
PORT MAP
|
||
(
|
||
... | ... | |
--RESET_N => RESET_N and SDRAM_RESET_N and not(SYSTEM_RESET_REQUEST),
|
||
RESET_N => RESET_N and sdram_rdy,
|
||
|
||
VGA_VS => VGA_VS_RAW,
|
||
VGA_HS => VGA_HS_RAW,
|
||
VGA_B => VGA_B,
|
||
VGA_G => VGA_G,
|
||
VGA_R => VGA_R,
|
||
VIDEO_VS => VIDEO_VS,
|
||
VIDEO_HS => VIDEO_HS,
|
||
VIDEO_B => VIDEO_B,
|
||
VIDEO_G => VIDEO_G,
|
||
VIDEO_R => VIDEO_R,
|
||
VIDEO_BLANK =>VIDEO_BLANK,
|
||
VIDEO_BURST =>VIDEO_BURST,
|
||
VIDEO_START_OF_FIELD =>VIDEO_START_OF_FIELD,
|
||
VIDEO_ODD_LINE =>VIDEO_ODD_LINE,
|
||
|
||
AUDIO_L => AUDIO_L_PCM,
|
||
AUDIO_R => AUDIO_R_PCM,
|
||
... | ... | |
SDRAM_32BIT_WRITE_ENABLE => SDRAM_WIDTH_32bit_ACCESS,
|
||
SDRAM_16BIT_WRITE_ENABLE => SDRAM_WIDTH_16bit_ACCESS,
|
||
SDRAM_8BIT_WRITE_ENABLE => SDRAM_WIDTH_8bit_ACCESS,
|
||
SDRAM_REFRESH => SDRAM_REFRESH,
|
||
|
||
DMA_FETCH => '0',
|
||
DMA_READ_ENABLE => '0',
|
||
... | ... | |
|
||
RAM_SELECT => (others=>'0'),
|
||
ROM_SELECT => "000001",
|
||
PAL => '1',
|
||
PAL => PAL,
|
||
HALT => '0',
|
||
THROTTLE_COUNT_6502 => THROTTLE_COUNT_6502
|
||
);
|
||
|
||
--b2v_inst20 : sdram_statemachine_mcc
|
||
--GENERIC MAP(ADDRESS_WIDTH => 22,
|
||
-- AP_BIT => 10,
|
||
-- COLUMN_WIDTH => 8,
|
||
-- ROW_WIDTH => 12
|
||
-- )
|
||
--PORT MAP(CLK_SYSTEM => CLK,
|
||
-- CLK_SDRAM => CLK_SDRAM,
|
||
-- RESET_N => RESET_N,
|
||
-- READ_EN => SDRAM_READ_ENABLE,
|
||
-- WRITE_EN => SDRAM_WRITE_ENABLE,
|
||
-- REQUEST => SDRAM_REQUEST,
|
||
-- BYTE_ACCESS => WIDTH_8BIT_ACCESS,
|
||
-- WORD_ACCESS => WIDTH_16BIT_ACCESS,
|
||
-- LONGWORD_ACCESS => WIDTH_32BIT_ACCESS,
|
||
-- REFRESH => SDRAM_REFRESH,
|
||
-- ADDRESS_IN => SDRAM_ADDR,
|
||
-- DATA_IN => WRITE_DATA,
|
||
-- SDRAM_DQ => SDRAM_DQ,
|
||
-- REPLY => SDRAM_REQUEST_COMPLETE,
|
||
-- SDRAM_BA0 => SDRAM_BA(0),
|
||
-- SDRAM_BA1 => SDRAM_BA(1),
|
||
-- --SDRAM_CKE => SDRAM_A(12), -- TODO?
|
||
-- SDRAM_CS_N => SDRAM_CS_N,
|
||
-- SDRAM_RAS_N => SDRAM_RAS_N,
|
||
-- SDRAM_CAS_N => SDRAM_CAS_N,
|
||
-- SDRAM_WE_N => SDRAM_WE_N,
|
||
-- SDRAM_ldqm => SDRAM_DQM_n(0),
|
||
-- SDRAM_udqm => SDRAM_DQM_n(1),
|
||
-- DATA_OUT => SDRAM_DO,
|
||
-- SDRAM_ADDR => SDRAM_A(12 downto 0)); -- TODO?
|
||
|
||
process(clk_sdram,reset_n)
|
||
begin
|
||
if (reset_n='0') then
|
||
... | ... | |
rst => not(reset_n),
|
||
seq_cyc => seq_reg(11 downto 0),
|
||
seq_ph => seq_ph_reg,
|
||
refr_cyc => ref_reg,
|
||
--refr_cyc => ref_reg,
|
||
refr_cyc => SDRAM_REFRESH,
|
||
|
||
ap1_ram_sel => SDRAM_REQUEST_REG,
|
||
ap1_address => '0'&SDRAM_ADDR(22 downto 1),
|
||
... | ... | |
sdram_dq <= sdram_dq_o when sdram_dq_oe='1' else (others=>'Z');
|
||
sdram_dq_i <= sdram_dq;
|
||
sdram_a(12) <= '1';
|
||
|
||
-- Video options
|
||
gen_video_vga : if video=2 generate
|
||
gen_scandouble_off: if scandouble=0 generate
|
||
VGA_HS <= not(VIDEO_HS xor VIDEO_VS);
|
||
VGA_VS <= not(VIDEO_VS);
|
||
VGA_B <= VIDEO_B(7 downto 4);
|
||
VGA_G <= VIDEO_G(7 downto 4);
|
||
VGA_R <= VIDEO_R(7 downto 4);
|
||
end generate;
|
||
|
||
gen_scandouble_on: if scandouble=1 generate
|
||
process(scandouble_clk,reset_n)
|
||
begin
|
||
if (reset_n='0') then
|
||
half_scandouble_enable_reg <= '0';
|
||
elsif (scandouble_clk'event and scandouble_clk='1') then
|
||
half_scandouble_enable_reg <= half_scandouble_enable_next;
|
||
end if;
|
||
end process;
|
||
|
||
half_scandouble_enable_next <= not(half_scandouble_enable_reg);
|
||
|
||
scandoubler1: entity work.scandoubler
|
||
PORT MAP
|
||
(
|
||
CLK => SCANDOUBLE_CLK,
|
||
RESET_N => RESET_N and sdram_rdy,
|
||
|
||
VGA => '1',
|
||
COMPOSITE_ON_HSYNC => '0', -- TODO
|
||
|
||
colour_enable => half_scandouble_enable_reg,
|
||
doubled_enable => '1',
|
||
|
||
-- GTIA interface
|
||
colour_in => VIDEO_B,
|
||
vsync_in => VIDEO_VS,
|
||
hsync_in => VIDEO_HS,
|
||
|
||
-- TO TV...
|
||
R => VGA_R,
|
||
G => VGA_G,
|
||
B => VGA_B,
|
||
|
||
VSYNC => VGA_VS,
|
||
HSYNC => VGA_HS
|
||
);
|
||
end generate;
|
||
|
||
end generate;
|
||
|
||
gen_video_svideo: if video=1 generate
|
||
|
||
-- SVIDEO COMPONENT
|
||
svideo : entity work.svideo
|
||
PORT MAP
|
||
(
|
||
areset_n => RESET_N,
|
||
ecs_clk => CLK,
|
||
dac_clk => SVIDEO_DAC_CLK,
|
||
r_in => VIDEO_R,
|
||
g_in => VIDEO_G,
|
||
b_in => VIDEO_B,
|
||
sof => VIDEO_VS, -- base on vsync?
|
||
vpos_lsb => VIDEO_ODD_LINE,
|
||
blank => VIDEO_BLANK,
|
||
burst => VIDEO_BURST,
|
||
csync_n => not(VIDEO_HS xor VIDEO_VS),
|
||
|
||
y_out => svideo_y,
|
||
c_out => svideo_c,
|
||
|
||
pal_ntsc => not(pal)
|
||
);
|
||
VGA_B <= svideo_y(7 downto 4);
|
||
VGA_G <= svideo_y(3 downto 0);
|
||
VGA_R <= svideo_c(5 downto 2);
|
||
VGA_HS <= svideo_c(1);
|
||
VGA_VS <= svideo_c(0);
|
||
|
||
end generate;
|
||
|
||
END vhdl;
|
mcc216/build.sh | ||
---|---|---|
rm -rf build
|
||
mkdir build
|
||
cp atari800core_mcc.vhd build
|
||
cp pll.* build
|
||
cp sdram_ctrl_3_ports.v build
|
||
cp atari800core.sdc build
|
||
#!/usr/bin/perl -w
|
||
use strict;
|
||
|
||
cd build
|
||
../makeqsf ../atari800core.qsf ../../common/a8core ../../common/components
|
||
my $wanted_variant = shift @ARGV;
|
||
|
||
quartus_sh --flow compile atari800core
|
||
#variants...
|
||
my $PAL = 1;
|
||
my $NTSC = 0;
|
||
|
||
my $SVIDEO = 1;
|
||
my $VGA = 2;
|
||
|
||
#Added like this to the generated qsf
|
||
#set_parameter -name TV 1
|
||
|
||
my %variants =
|
||
(
|
||
"SIMPLE" =>
|
||
{
|
||
"TV" => $PAL,
|
||
"SCANDOUBLE" => 0,
|
||
"VIDEO" => $VGA,
|
||
"internal_ram" => 16384
|
||
},
|
||
"PAL_SVIDEO" =>
|
||
{
|
||
"TV" => $PAL,
|
||
"SCANDOUBLE" => 0,
|
||
"VIDEO" => $SVIDEO,
|
||
"internal_ram" => 0
|
||
},
|
||
"PAL_VGA" =>
|
||
{
|
||
"TV" => $PAL,
|
||
"SCANDOUBLE" => 1,
|
||
"VIDEO" => $VGA,
|
||
"internal_ram" => 0
|
||
},
|
||
"NTSC_SVIDEO" =>
|
||
{
|
||
"TV" => $NTSC,
|
||
"SCANDOUBLE" => 0,
|
||
"VIDEO" => $SVIDEO,
|
||
"internal_ram" => 0
|
||
},
|
||
"NTSC_VGA" =>
|
||
{
|
||
"TV" => $NTSC,
|
||
"SCANDOUBLE" => 1,
|
||
"VIDEO" => $VGA,
|
||
"internal_ram" => 0
|
||
}
|
||
);
|
||
|
||
if (not defined $wanted_variant or (not exists $variants{$wanted_variant} and $wanted_variant ne "ALL"))
|
||
{
|
||
die "Provide variant of ALL or ".join ",",sort keys %variants;
|
||
}
|
||
|
||
foreach my $variant (sort keys %variants)
|
||
{
|
||
next if ($wanted_variant ne $variant and $wanted_variant ne "ALL");
|
||
print "Building $variant\n";
|
||
|
||
my $dir = "build_$variant";
|
||
`rm -rf $dir`;
|
||
mkdir $dir;
|
||
`cp atari800core_mcc.vhd $dir`;
|
||
`cp *pll.* $dir`;
|
||
`cp sdram_ctrl_3_ports.v $dir`;
|
||
`cp atari800core.sdc $dir`;
|
||
|
||
chdir $dir;
|
||
`../makeqsf ../atari800core.qsf ../svideo ../../common/a8core ../../common/components`;
|
||
|
||
foreach my $key (sort keys %{$variants{$variant}})
|
||
{
|
||
my $val = $variants{$variant}->{$key};
|
||
`echo set_parameter -name $key $val >> atari800core.qsf`;
|
||
}
|
||
|
||
`quartus_sh --flow compile atari800core > build.log 2> build.err`;
|
||
|
||
`quartus_cpf --convert ../output_file.cof`;
|
||
my $vga = 1;
|
||
if ($variant =~ /SVIDEO/)
|
||
{
|
||
$vga = 0;
|
||
}
|
||
|
||
#TODO - generate automated version number
|
||
my $version = `svn info | grep Revision: | cut -c11`;
|
||
chomp $version;
|
||
$version.=".0";
|
||
`wine ../rbf2arg/rbf2arg.exe $vga A 0.3 "Atari 800XL" output_files/atari800core.rbf output_files/atari800core.arg`;
|
||
|
||
chdir "..";
|
||
}
|
||
|
||
|
||
#--for the MCC216 S-Video
|
||
#--rbf2arg 0 A <version.revison> "description" <filename.rbf> <filename.arg>
|
||
#--for the MCC216 VGA
|
||
#--rbf2arg 1 A <version.revison> "description" <filename.rbf> <filename.arg>
|
||
|
||
|
mcc216/makeqsf | ||
---|---|---|
my @vhdl = glob ("$_/*.vhd");
|
||
push @vhdl, glob ("$_/*.vhdl");
|
||
my @verilog = glob ("$_/*.v");
|
||
my @qip = glob ("$_/*.qip");
|
||
|
||
foreach (@verilog)
|
||
{
|
||
... | ... | |
{
|
||
print QSF_OUT "set_global_assignment -name VHDL_FILE $_\n";
|
||
}
|
||
|
||
foreach (@qip)
|
||
{
|
||
print QSF_OUT "set_global_assignment -name QIP_FILE $_\n";
|
||
}
|
||
}
|
||
|
||
close (QSF_OUT);
|
mcc216/ntsc_pll.cmp | ||
---|---|---|
--Copyright (C) 1991-2013 Altera Corporation
|
||
--Your use of Altera Corporation's design tools, logic functions
|
||
--and other software and tools, and its AMPP partner logic
|
||
--functions, and any output files from any of the foregoing
|
||
--(including device programming or simulation files), and any
|
||
--associated documentation or information are expressly subject
|
||
--to the terms and conditions of the Altera Program License
|
||
--Subscription Agreement, Altera MegaCore Function License
|
||
--Agreement, or other applicable license agreement, including,
|
||
--without limitation, that your use is for the sole purpose of
|
||
--programming logic devices manufactured by Altera and sold by
|
||
--Altera or its authorized distributors. Please refer to the
|
||
--applicable agreement for further details.
|
||
|
||
|
||
component ntsc_pll
|
||
PORT
|
||
(
|
||
inclk0 : IN STD_LOGIC := '0';
|
||
c0 : OUT STD_LOGIC ;
|
||
c1 : OUT STD_LOGIC ;
|
||
c2 : OUT STD_LOGIC ;
|
||
c3 : OUT STD_LOGIC ;
|
||
c4 : OUT STD_LOGIC ;
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
end component;
|
mcc216/ntsc_pll.ppf | ||
---|---|---|
<?xml version="1.0" encoding="UTF-8" ?>
|
||
<!DOCTYPE pinplan>
|
||
<pinplan intended_family="Cyclone III" variation_name="ntsc_pll" megafunction_name="ALTPLL" specifies="all_ports">
|
||
<global>
|
||
<pin name="inclk0" direction="input" scope="external" source="clock" />
|
||
<pin name="c0" direction="output" scope="external" source="clock" />
|
||
<pin name="c1" direction="output" scope="external" source="clock" />
|
||
<pin name="c2" direction="output" scope="external" source="clock" />
|
||
<pin name="c3" direction="output" scope="external" source="clock" />
|
||
<pin name="c4" direction="output" scope="external" source="clock" />
|
||
<pin name="locked" direction="output" scope="external" />
|
||
|
||
</global>
|
||
</pinplan>
|
mcc216/ntsc_pll.qip | ||
---|---|---|
set_global_assignment -name IP_TOOL_NAME "ALTPLL"
|
||
set_global_assignment -name IP_TOOL_VERSION "13.0"
|
||
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "ntsc_pll.vhd"]
|
||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "ntsc_pll.cmp"]
|
||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "ntsc_pll.ppf"]
|
mcc216/ntsc_pll.vhd | ||
---|---|---|
-- megafunction wizard: %ALTPLL%
|
||
-- GENERATION: STANDARD
|
||
-- VERSION: WM1.0
|
||
-- MODULE: altpll
|
||
|
||
-- ============================================================
|
||
-- File Name: ntsc_pll.vhd
|
||
-- Megafunction Name(s):
|
||
-- altpll
|
||
--
|
||
-- Simulation Library Files(s):
|
||
-- altera_mf
|
||
-- ============================================================
|
||
-- ************************************************************
|
||
-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||
--
|
||
-- 13.0.1 Build 232 06/12/2013 SP 1 SJ Web Edition
|
||
-- ************************************************************
|
||
|
||
|
||
--Copyright (C) 1991-2013 Altera Corporation
|
||
--Your use of Altera Corporation's design tools, logic functions
|
||
--and other software and tools, and its AMPP partner logic
|
||
--functions, and any output files from any of the foregoing
|
||
--(including device programming or simulation files), and any
|
||
--associated documentation or information are expressly subject
|
||
--to the terms and conditions of the Altera Program License
|
||
--Subscription Agreement, Altera MegaCore Function License
|
||
--Agreement, or other applicable license agreement, including,
|
||
--without limitation, that your use is for the sole purpose of
|
||
--programming logic devices manufactured by Altera and sold by
|
||
--Altera or its authorized distributors. Please refer to the
|
||
--applicable agreement for further details.
|
||
|
||
|
||
LIBRARY ieee;
|
||
USE ieee.std_logic_1164.all;
|
||
|
||
LIBRARY altera_mf;
|
||
USE altera_mf.all;
|
||
|
||
ENTITY ntsc_pll IS
|
||
PORT
|
||
(
|
||
inclk0 : IN STD_LOGIC := '0';
|
||
c0 : OUT STD_LOGIC ;
|
||
c1 : OUT STD_LOGIC ;
|
||
c2 : OUT STD_LOGIC ;
|
||
c3 : OUT STD_LOGIC ;
|
||
c4 : OUT STD_LOGIC ;
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
END ntsc_pll;
|
||
|
||
|
||
ARCHITECTURE SYN OF ntsc_pll IS
|
||
|
||
SIGNAL sub_wire0 : STD_LOGIC_VECTOR (4 DOWNTO 0);
|
||
SIGNAL sub_wire1 : STD_LOGIC ;
|
||
SIGNAL sub_wire2 : STD_LOGIC ;
|
||
SIGNAL sub_wire3 : STD_LOGIC ;
|
||
SIGNAL sub_wire4 : STD_LOGIC ;
|
||
SIGNAL sub_wire5 : STD_LOGIC ;
|
||
SIGNAL sub_wire6 : STD_LOGIC ;
|
||
SIGNAL sub_wire7 : STD_LOGIC ;
|
||
SIGNAL sub_wire8 : STD_LOGIC_VECTOR (1 DOWNTO 0);
|
||
SIGNAL sub_wire9_bv : BIT_VECTOR (0 DOWNTO 0);
|
||
SIGNAL sub_wire9 : STD_LOGIC_VECTOR (0 DOWNTO 0);
|
||
|
||
|
||
|
||
COMPONENT altpll
|
||
GENERIC (
|
||
bandwidth_type : STRING;
|
||
clk0_divide_by : NATURAL;
|
||
clk0_duty_cycle : NATURAL;
|
||
clk0_multiply_by : NATURAL;
|
||
clk0_phase_shift : STRING;
|
||
clk1_divide_by : NATURAL;
|
||
clk1_duty_cycle : NATURAL;
|
||
clk1_multiply_by : NATURAL;
|
||
clk1_phase_shift : STRING;
|
||
clk2_divide_by : NATURAL;
|
||
clk2_duty_cycle : NATURAL;
|
||
clk2_multiply_by : NATURAL;
|
||
clk2_phase_shift : STRING;
|
||
clk3_divide_by : NATURAL;
|
||
clk3_duty_cycle : NATURAL;
|
||
clk3_multiply_by : NATURAL;
|
||
clk3_phase_shift : STRING;
|
||
clk4_divide_by : NATURAL;
|
||
clk4_duty_cycle : NATURAL;
|
||
clk4_multiply_by : NATURAL;
|
||
clk4_phase_shift : STRING;
|
||
compensate_clock : STRING;
|
||
inclk0_input_frequency : NATURAL;
|
||
intended_device_family : STRING;
|
||
lpm_hint : STRING;
|
||
lpm_type : STRING;
|
||
operation_mode : STRING;
|
||
pll_type : STRING;
|
||
port_activeclock : STRING;
|
||
port_areset : STRING;
|
||
port_clkbad0 : STRING;
|
||
port_clkbad1 : STRING;
|
||
port_clkloss : STRING;
|
||
port_clkswitch : STRING;
|
||
port_configupdate : STRING;
|
||
port_fbin : STRING;
|
||
port_inclk0 : STRING;
|
||
port_inclk1 : STRING;
|
||
port_locked : STRING;
|
||
port_pfdena : STRING;
|
||
port_phasecounterselect : STRING;
|
||
port_phasedone : STRING;
|
||
port_phasestep : STRING;
|
||
port_phaseupdown : STRING;
|
||
port_pllena : STRING;
|
||
port_scanaclr : STRING;
|
||
port_scanclk : STRING;
|
||
port_scanclkena : STRING;
|
||
port_scandata : STRING;
|
||
port_scandataout : STRING;
|
||
port_scandone : STRING;
|
||
port_scanread : STRING;
|
||
port_scanwrite : STRING;
|
||
port_clk0 : STRING;
|
||
port_clk1 : STRING;
|
||
port_clk2 : STRING;
|
||
port_clk3 : STRING;
|
||
port_clk4 : STRING;
|
||
port_clk5 : STRING;
|
||
port_clkena0 : STRING;
|
||
port_clkena1 : STRING;
|
||
port_clkena2 : STRING;
|
||
port_clkena3 : STRING;
|
||
port_clkena4 : STRING;
|
||
port_clkena5 : STRING;
|
||
port_extclk0 : STRING;
|
||
port_extclk1 : STRING;
|
||
port_extclk2 : STRING;
|
||
port_extclk3 : STRING;
|
||
self_reset_on_loss_lock : STRING;
|
||
width_clock : NATURAL
|
||
);
|
||
PORT (
|
||
clk : OUT STD_LOGIC_VECTOR (4 DOWNTO 0);
|
||
inclk : IN STD_LOGIC_VECTOR (1 DOWNTO 0);
|
||
locked : OUT STD_LOGIC
|
||
);
|
||
END COMPONENT;
|
||
|
||
BEGIN
|
||
sub_wire9_bv(0 DOWNTO 0) <= "0";
|
||
sub_wire9 <= To_stdlogicvector(sub_wire9_bv);
|
||
sub_wire6 <= sub_wire0(4);
|
||
sub_wire5 <= sub_wire0(2);
|
||
sub_wire4 <= sub_wire0(0);
|
||
sub_wire2 <= sub_wire0(3);
|
||
sub_wire1 <= sub_wire0(1);
|
||
c1 <= sub_wire1;
|
||
c3 <= sub_wire2;
|
||
locked <= sub_wire3;
|
||
c0 <= sub_wire4;
|
||
c2 <= sub_wire5;
|
||
c4 <= sub_wire6;
|
||
sub_wire7 <= inclk0;
|
||
sub_wire8 <= sub_wire9(0 DOWNTO 0) & sub_wire7;
|
||
|
||
altpll_component : altpll
|
||
GENERIC MAP (
|
||
bandwidth_type => "AUTO",
|
||
clk0_divide_by => 6,
|
||
clk0_duty_cycle => 50,
|
||
clk0_multiply_by => 103,
|
||
clk0_phase_shift => "0",
|
||
clk1_divide_by => 18,
|
||
clk1_duty_cycle => 50,
|
||
clk1_multiply_by => 103,
|
||
clk1_phase_shift => "0",
|
||
clk2_divide_by => 6,
|
||
clk2_duty_cycle => 50,
|
||
clk2_multiply_by => 103,
|
||
clk2_phase_shift => "7500",
|
||
clk3_divide_by => 9,
|
||
clk3_duty_cycle => 50,
|
||
clk3_multiply_by => 206,
|
||
clk3_phase_shift => "0",
|
||
clk4_divide_by => 9,
|
||
clk4_duty_cycle => 50,
|
||
clk4_multiply_by => 103,
|
||
clk4_phase_shift => "0",
|
||
compensate_clock => "CLK0",
|
||
inclk0_input_frequency => 200000,
|
||
intended_device_family => "Cyclone III",
|
||
lpm_hint => "CBX_MODULE_PREFIX=ntsc_pll",
|
||
lpm_type => "altpll",
|
||
operation_mode => "NORMAL",
|
||
pll_type => "AUTO",
|
||
port_activeclock => "PORT_UNUSED",
|
||
port_areset => "PORT_UNUSED",
|
||
port_clkbad0 => "PORT_UNUSED",
|
||
port_clkbad1 => "PORT_UNUSED",
|
||
port_clkloss => "PORT_UNUSED",
|
||
port_clkswitch => "PORT_UNUSED",
|
||
port_configupdate => "PORT_UNUSED",
|
||
port_fbin => "PORT_UNUSED",
|
||
port_inclk0 => "PORT_USED",
|
||
port_inclk1 => "PORT_UNUSED",
|
||
port_locked => "PORT_USED",
|
||
port_pfdena => "PORT_UNUSED",
|
||
port_phasecounterselect => "PORT_UNUSED",
|
||
port_phasedone => "PORT_UNUSED",
|
||
port_phasestep => "PORT_UNUSED",
|
||
port_phaseupdown => "PORT_UNUSED",
|
||
port_pllena => "PORT_UNUSED",
|
||
port_scanaclr => "PORT_UNUSED",
|
||
port_scanclk => "PORT_UNUSED",
|
||
port_scanclkena => "PORT_UNUSED",
|
||
port_scandata => "PORT_UNUSED",
|
||
port_scandataout => "PORT_UNUSED",
|
||
port_scandone => "PORT_UNUSED",
|
||
port_scanread => "PORT_UNUSED",
|
||
port_scanwrite => "PORT_UNUSED",
|
||
port_clk0 => "PORT_USED",
|
||
port_clk1 => "PORT_USED",
|
||
port_clk2 => "PORT_USED",
|
||
port_clk3 => "PORT_USED",
|
||
port_clk4 => "PORT_USED",
|
||
port_clk5 => "PORT_UNUSED",
|
||
port_clkena0 => "PORT_UNUSED",
|
||
port_clkena1 => "PORT_UNUSED",
|
||
port_clkena2 => "PORT_UNUSED",
|
||
port_clkena3 => "PORT_UNUSED",
|
||
port_clkena4 => "PORT_UNUSED",
|
||
port_clkena5 => "PORT_UNUSED",
|
||
port_extclk0 => "PORT_UNUSED",
|
||
port_extclk1 => "PORT_UNUSED",
|
||
port_extclk2 => "PORT_UNUSED",
|
||
port_extclk3 => "PORT_UNUSED",
|
||
self_reset_on_loss_lock => "OFF",
|
||
width_clock => 5
|
||
)
|
||
PORT MAP (
|
||
inclk => sub_wire8,
|
||
clk => sub_wire0,
|
||
locked => sub_wire3
|
||
);
|
||
|
||
|
||
|
||
END SYN;
|
||
|
||
-- ============================================================
|
||
-- CNX file retrieval info
|
||
-- ============================================================
|
||
-- Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
|
||
-- Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
|
||
-- Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "1"
|
||
-- Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
|
||
-- Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
|
||
-- Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
|
||
-- Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "8"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "6"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR1 NUMERIC "18"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR2 NUMERIC "6"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR3 NUMERIC "9"
|
||
-- Retrieval info: PRIVATE: DIV_FACTOR4 NUMERIC "9"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE3 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: DUTY_CYCLE4 STRING "50.00000000"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "85.833336"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "28.611111"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "85.833336"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE3 STRING "114.444443"
|
||
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE4 STRING "57.222221"
|
||
-- Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
|
||
-- Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
|
||
-- Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
|
||
-- Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0"
|
||
-- Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "1"
|
||
-- Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
|
||
-- Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
|
||
-- Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "5.000"
|
||
-- Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
|
||
-- Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
|
||
-- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone III"
|
||
-- Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
|
||
-- Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "1"
|
||
-- Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
|
||
-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
|
||
-- Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT1 STRING "ps"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT2 STRING "ps"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT3 STRING "ps"
|
||
-- Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT4 STRING "ps"
|
||
-- Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK3 STRING "0"
|
||
-- Retrieval info: PRIVATE: MIRROR_CLK4 STRING "0"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "103"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "103"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "103"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR3 NUMERIC "206"
|
||
-- Retrieval info: PRIVATE: MULT_FACTOR4 NUMERIC "103"
|
||
-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "28.70000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "28.70000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "100.00000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ3 STRING "100.00000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ4 STRING "100.00000000"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE3 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE4 STRING "0"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT1 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT2 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT3 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT4 STRING "MHz"
|
||
-- Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT1 STRING "0.00000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT2 STRING "7.50000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT3 STRING "0.00000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT4 STRING "0.00000000"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT1 STRING "ns"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT2 STRING "ns"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT3 STRING "ps"
|
||
-- Retrieval info: PRIVATE: PHASE_SHIFT_UNIT4 STRING "ps"
|
||
-- Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
|
||
-- Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
|
||
-- Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
|
||
-- Retrieval info: PRIVATE: RECONFIG_FILE STRING "pll.mif"
|
||
-- Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
|
||
-- Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"
|
||
-- Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
|
||
-- Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
|
Also available in: Unified diff
First cut with svideo, all versions from generic