-../tdc/releases/tdc_v2.1.6
\ No newline at end of file
+../tdc/releases/tdc_v2.2
\ No newline at end of file
--TDC settings
constant NUM_TDC_MODULES : integer range 1 to 4 := 1; -- number of tdc modules to implement
- constant NUM_TDC_CHANNELS : integer range 1 to 65 := 3; -- number of tdc channels per module
+ constant NUM_TDC_CHANNELS : integer range 1 to 65 := 41; -- number of tdc channels per module
constant NUM_TDC_CHANNELS_POWER2 : integer range 0 to 6 := 5; --the nearest power of two, for convenience reasons
constant DOUBLE_EDGE_TYPE : integer range 0 to 3 := 3; --double edge type: 0, 1, 2, 3
-- 0: single edge only,
TOPNAME => "trb3sc_tdctemplate",
lm_license_file_for_synplify => "27000\@lxcad01.gsi.de",
lm_license_file_for_par => "1702\@hadeb05.gsi.de",
-lattice_path => '/opt/lattice/diamond/3.4_x64/',
+lattice_path => '/opt/lattice/diamond/3.5_x64/',
synplify_path => '/opt/synplicity/J-2014.09-SP2',
#synplify_command => "/opt/lattice/diamond/3.5_x64/bin/lin64/synpwrap -fg -options",
synplify_command => "/opt/synplicity/J-2014.09-SP2/bin/synplify_premier_dp",
-nodelist_file => 'nodelist_gsi_template.txt',
+nodelist_file => 'nodes_gsi_template.txt',
include_TDC => 1,
+MULTICYCLE FROM CLKNET "clk_sys" TO CLKNET "clk_full" 1 X ;
+MULTICYCLE FROM CLKNET "clk_full" TO CLKNET "clk_sys" 2 X ;
+
+MULTICYCLE FROM CELL "THE_TDC/GEN_Channels*Channels/Channel200/RingBuffer*FIFO/*" CLKNET clk_full TO CELL "THE_TDC/GEN_Channels*Channels/Channel200/RingBuffer*FIFO/*" CLKNET clk_sys 2x;
+MULTICYCLE FROM CELL "THE_TDC/ReferenceChannel/Channel200/RingBuffer*FIFO/*" CLKNET clk_full TO CELL "THE_TDC/ReferenceChannel/Channel200/RingBuffer*FIFO/*" CLKNET clk_sys 2x;
+
+MULTICYCLE FROM CELL "THE_CLOCK_RESET/THE_RESET_HANDLER/final_reset*" CLKNET clk_sys TO CLKNET clk_sys 5x;
+MULTICYCLE FROM CELL "THE_TDC/reset_tdc*" TO CLKNET clk_full 2x;
add_file -vhdl -lib work "../../trb3sc/tdc_release/tdc_version.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/tdc_components.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/bit_sync.vhd"
-add_file -vhdl -lib work "../../trb3sc/tdc_release/BusHandler.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/BusHandler_record.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/Channel_200.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/Channel.vhd"
-add_file -vhdl -lib work "../../trb3sc/tdc_release/Encoder_304_Bit.vhd"
+add_file -vhdl -lib work "../../trb3sc/tdc_release/Encoder_288_Bit.vhd"
+#add_file -vhdl -lib work "../../trb3sc/tdc_release/Encoder_304_Bit.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/fallingEdgeDetect.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/hit_mux.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/LogicAnalyser.vhd"
-add_file -vhdl -lib work "../../trb3sc/tdc_release/Readout.vhd"
+add_file -vhdl -lib work "../../trb3sc/tdc_release/Readout_record.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/risingEdgeDetect.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/ROM_encoder_ecp3.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/ShiftRegisterSISO.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/Stretcher_A.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/Stretcher_B.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/Stretcher.vhd"
-add_file -vhdl -lib work "../../trb3sc/tdc_release/TDC.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/TDC_record.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/TriggerHandler.vhd"
add_file -vhdl -lib work "../../trb3sc/tdc_release/up_counter.vhd"
DEBUG => c_YES,
SIMULATION => c_NO)
port map (
- RESET => reset_i,
- CLK_TDC => clk_full_osc,
- CLK_READOUT => clk_sys, -- Clock for the readout
- REFERENCE_TIME => TRIG_LEFT, -- Reference time input
- HIT_IN => hit_in_i(NUM_TDC_CHANNELS-1 downto 1), -- Channel start signals
- HIT_CAL_IN => clk_cal, -- Hits for calibrating the TDC
+ RESET => reset_i,
+ CLK_TDC => clk_full_osc,
+ CLK_READOUT => clk_sys, -- Clock for the readout
+ REFERENCE_TIME => TRIG_LEFT, -- Reference time input
+ HIT_IN => hit_in_i(NUM_TDC_CHANNELS-1 downto 1), -- Channel start signals
+ HIT_CAL_IN => clk_cal, -- Hits for calibrating the TDC
-- Trigger signals from handler
- READOUT_RX => readout_rx,
- READOUT_TX => readout_tx(0),
- --
- LOGIC_ANALYSER_OUT => logic_analyser_i,
+ BUSRDO_RX => readout_rx,
+ BUSRDO_TX => readout_tx(0),
+ -- Slow control bus
BUS_RX => bustdc_rx,
- BUS_TX => bustdc_tx
+ BUS_TX => bustdc_tx,
+ -- Dubug signals
+ LOGIC_ANALYSER_OUT => logic_analyser_i
);
-- For single edge measurements
#synplify_command => "/opt/lattice/diamond/3.5_x64/bin/lin64/synpwrap -fg -options",
synplify_command => "/opt/synplicity/J-2014.09-SP2/bin/synplify_premier_dp",
-nodelist_file => 'nodelist_gsi_template.txt',
+nodelist_file => 'nodes_gsi_template.txt',
include_TDC => 1,