attribute syn_preserve : boolean;
signal clock_100, clock_120, clock_200, clock_240, clock_200_raw: std_logic;
signal sys_clk_i : std_logic;
-signal timer : unsigned(16 downto 0) := (others => '0');
+signal timer : unsigned(24 downto 0) := (others => '0');
signal clear_n_i : std_logic := '0';
signal reset_i : std_logic;
+signal debug_reset_handler : std_logic_vector(15 downto 0);
signal pll_lock : std_logic;
end generate;
-clear_n_i <= timer(16) when rising_edge(CLOCK_IN);
+clear_n_i <= timer(24) when rising_edge(CLOCK_IN);
process begin
wait until rising_edge(sys_clk_i);
- if timer(16) = '1' then
+
+ if timer(24) = '1' then
timer <= timer;
- else
+ elsif pll_lock = '1' then
timer <= timer + 1;
end if;
end process;
TRB_RESET_IN => RESET_FROM_NET, -- TRBnet reset signal (SYSCLK)
CLEAR_OUT => CLEAR_OUT, -- async reset out, USE WITH CARE!
RESET_OUT => reset_i, -- synchronous reset out (SYSCLK)
- DEBUG_OUT => open
+ DEBUG_OUT => debug_reset_handler
);
RESET_OUT <= reset_i;
---------------------------------------------------------------------------
DEBUG_OUT(0) <= pll_lock;
DEBUG_OUT(1) <= clear_n_i;
-DEBUG_OUT(31 downto 2) <= (others => '0');
+DEBUG_OUT(15 downto 2) <= debug_reset_handler(15 downto 2);
+DEBUG_OUT(31 downto 16) <= (others => '0');
BUS_TX.data <= (others => '0');
BUS_TX.unknown <= '1';
<Source name="../../../trbnet/media_interfaces/sync/tx_reset_fsm.vhd" type="VHDL" type_short="VHDL">
<Options/>
</Source>
- <Source name="../../../trbnet/media_interfaces/ecp5/serdes_sync_0/serdes_sync_0.vhd" type="VHDL" type_short="VHDL">
- <Options/>
- </Source>
<Source name="../tdc_release/TDC_record.vhd" type="VHDL" type_short="VHDL">
<Options/>
</Source>
<Source name="../../../trbnet/optical_link/f_divider.vhd" type="VHDL" type_short="VHDL">
<Options/>
</Source>
- <Source name="../../../trbnet/media_interfaces/ecp5/serdes_sync_0/serdes_sync_0.sbx" type="sbx" type_short="SBX">
+ <Source name="pcs/pcs.sbx" type="sbx" type_short="SBX">
<Options/>
</Source>
- <Source name="pcs/pcs.sbx" type="sbx" type_short="SBX">
+ <Source name="../../../trbnet/lattice/ecp5/FIFO/fifo_18x8k_oreg/fifo_18x8k_oreg.sbx" type="sbx" type_short="SBX">
<Options/>
</Source>
<Source name="../workdir/dirich.lpf" type="Logic Preference" type_short="LPF">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE strategy>
<Strategy version="1.0" predefined="0" description="" label="Strategy1">
+ <Property name="PROP_BD_CmdLineArgs" value="" time="0"/>
<Property name="PROP_BD_EdfHardtimer" value="Enable" time="0"/>
<Property name="PROP_BD_EdfInBusNameConv" value="None" time="0"/>
<Property name="PROP_BD_EdfInLibPath" value="" time="0"/>
end generate;
--- gen_chains : for i in 0 to 15 generate
--- process begin
--- wait until rising_edge(CLOCK_IN);
--- c(i)(4000 downto 1) <= c(i)(3999 downto 0);
--- c(i)(0) <= not c(i)(0) or INPUT(i+1);
--- PWM(i+1) <= c(i)(4000);
--- if reset_i = '1' then
--- c(i)(4000 downto 0) <= (others => '0');
--- end if;
--- end process;
---
--- end generate;
-
end architecture;
--- /dev/null
+// nodes file for parallel place&route
+
+[jspc29]
+SYSTEM = linux
+CORENUM = 3
+ENV = /d/jspc29/lattice/37_settings.sh
+WORKDIR = /d/jspc22/trb/git/dirich/dirich/workdir
+
+[jspc57]
+SYSTEM = linux
+CORENUM = 7
+ENV = /d/jspc29/lattice/37_settings.sh
+WORKDIR = /d/jspc22/trb/git/dirich/dirich/workdir