Changeset 10129 for firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl
- Timestamp:
- 02/04/11 14:35:11 (14 years ago)
- Location:
- firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl
- Files:
-
- 4 added
- 1 deleted
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/clock_generator_var_ps_struct.vhd
r10123 r10129 3 3 -- Created: 4 4 -- by - dneise.UNKNOWN (E5B-LABOR6) 5 -- at - 09:36:36 27.01.20115 -- at - 15:27:49 04.02.2011 6 6 -- 7 7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) … … 13 13 ENTITY clock_generator_var_ps IS 14 14 PORT( 15 CLK : IN std_logic; 16 RST_IN : IN std_logic; 17 direction : IN std_logic; 18 do_shift : IN std_logic; 19 CLK_25 : OUT std_logic; 20 CLK_25_PS : OUT std_logic; 21 CLK_50 : OUT std_logic; 22 DCM_locked : OUT std_logic; 23 LOCKED_extraOUT : OUT std_logic; 24 PSCLK_OUT : OUT std_logic; 25 PSDONE_extraOUT : OUT std_logic; 26 PSINCDEC_OUT : OUT std_logic; 27 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 28 ready : OUT std_logic := '0'; 29 -- status: 30 shifting : OUT std_logic := '0' 15 CLK : IN std_logic; 16 RST_IN : IN std_logic; 17 direction : IN std_logic; 18 do_shift : IN std_logic; 19 CLK_25 : OUT std_logic; 20 CLK_25_PS : OUT std_logic; 21 CLK_50 : OUT std_logic; 22 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0') 31 23 ); 32 24 … … 40 32 -- Created: 41 33 -- by - dneise.UNKNOWN (E5B-LABOR6) 42 -- at - 09:36:36 27.01.201134 -- at - 15:27:49 04.02.2011 43 35 -- 44 36 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) … … 99 91 PORT ( 100 92 CLK : IN std_logic ; 93 rst : IN std_logic ; --asynch in of DCM 101 94 -- interface to: clock_generator_variable_PS_struct.vhd 102 95 PSCLK : OUT std_logic ; … … 127 120 BEGIN 128 121 129 -- ModuleWare code(v1.9) for instance 'U_5' of 'assignment'130 PSCLK_OUT <= PSCLK_IN;131 132 -- ModuleWare code(v1.9) for instance 'U_7' of 'assignment'133 PSINCDEC_OUT <= PSINCDEC_IN;134 135 -- ModuleWare code(v1.9) for instance 'U_8' of 'assignment'136 PSDONE_extraOUT <= PSDONE_OUT;137 138 -- ModuleWare code(v1.9) for instance 'U_9' of 'assignment'139 LOCKED_extraOUT <= LOCKED_OUT;140 141 122 -- Instance port mappings. 142 123 U_0 : dcm_50_to_25 … … 166 147 PORT MAP ( 167 148 CLK => CLK0_OUT, 149 rst => RST_IN, 168 150 PSCLK => PSCLK_IN, 169 151 PSEN => PSEN_IN, … … 173 155 shift_phase => do_shift, 174 156 direction => direction, 175 shifting => shifting,176 ready => ready,157 shifting => OPEN, 158 ready => OPEN, 177 159 offset => offset, 178 DCM_locked => DCM_locked160 DCM_locked => OPEN 179 161 ); 180 162 -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/control_manager_beha.vhd
r10072 r10129 24 24 clk : IN std_logic; 25 25 ram_data_out : IN std_logic_vector (15 DOWNTO 0); 26 config_ready, config_started : OUT std_logic := '0'; 26 config_ready : OUT std_logic := '0'; 27 config_started : OUT std_logic := '0'; 27 28 config_start : IN std_logic; 28 29 config_data : INOUT std_logic_vector (15 DOWNTO 0) := (others => 'Z'); -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/control_unit_struct.vhd
r10121 r10129 2 2 -- 3 3 -- Created: 4 -- by - d aqct3.UNKNOWN (IHP110)5 -- at - 1 2:52:19 06.01.20114 -- by - dneise.UNKNOWN (E5B-LABOR6) 5 -- at - 11:39:13 04.02.2011 6 6 -- 7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009. 1 (Build 12)7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) 8 8 -- 9 9 LIBRARY ieee; … … 41 41 -- 42 42 -- Created: 43 -- by - d aqct3.UNKNOWN (IHP110)44 -- at - 1 2:52:20 06.01.201143 -- by - dneise.UNKNOWN (E5B-LABOR6) 44 -- at - 11:39:13 04.02.2011 45 45 -- 46 -- Generated by Mentor Graphics' HDL Designer(TM) 2009. 1 (Build 12)46 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) 47 47 -- 48 48 LIBRARY ieee; -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_board.ucf
r10123 r10129 125 125 NET RSRLOAD LOC = H1 | IOSTANDARD=LVCMOS25; #ok 126 126 # 127 NET D 0_SRCLKLOC = F2 | IOSTANDARD=LVCMOS25; #ok128 NET D 1_SRCLKLOC = F3 | IOSTANDARD=LVCMOS25; #ok129 NET D 2_SRCLKLOC = R3 | IOSTANDARD=LVCMOS25; #ok130 NET D 3_SRCLKLOC = V1 | IOSTANDARD=LVCMOS25; #ok127 NET DSRCLK<0> LOC = F2 | IOSTANDARD=LVCMOS25; #ok 128 NET DSRCLK<1> LOC = F3 | IOSTANDARD=LVCMOS25; #ok 129 NET DSRCLK<2> LOC = R3 | IOSTANDARD=LVCMOS25; #ok 130 NET DSRCLK<3> LOC = V1 | IOSTANDARD=LVCMOS25; #ok 131 131 132 132 # Testpoints near DRS Chips … … 138 138 NET D_T<4> LOC = K5 | IOSTANDARD=LVCMOS25; #ok 139 139 NET D_T<5> LOC = L4 | IOSTANDARD=LVCMOS25; #ok 140 NET D_T_in<0> LOC = M3 | IOSTANDARD=LVCMOS25 | pullup; #ok was: NET D_T<6> LOC = M3141 NET D_T_in<1> LOC = T3 | IOSTANDARD=LVCMOS25 | pullup; #ok was: NET D_T<7> LOC = T3142 #NET D_T<6> LOC = M3 | IOSTANDARD=LVCMOS25; #ok143 #NET D_T<7> LOC = T3 | IOSTANDARD=LVCMOS25; #ok140 #NET D_T_in<0> LOC = M3 | IOSTANDARD=LVCMOS25 | pullup; #ok was: NET D_T<6> LOC = M3 141 #NET D_T_in<1> LOC = T3 | IOSTANDARD=LVCMOS25 | pullup; #ok was: NET D_T<7> LOC = T3 142 NET D_T<6> LOC = M3 | IOSTANDARD=LVCMOS25; #ok 143 NET D_T<7> LOC = T3 | IOSTANDARD=LVCMOS25; #ok 144 144 NET D_T2<0> LOC = U2 | IOSTANDARD=LVCMOS25; #ok was D_T<8> 145 145 NET D_T2<1> LOC = V2 | IOSTANDARD=LVCMOS25; #ok was D_T<9> 146 NET D_T2<2> LOC = W3 | IOSTANDARD=LVCMOS25; #ok aka D_TA was D_T<10>147 NET D_T2<3> LOC = AA3 | IOSTANDARD=LVCMOS25; #ok aka D_TB was D_T<11>148 149 146 #NET D_T2<2> LOC = W3 | IOSTANDARD=LVCMOS25; #ok aka D_TA was D_T<10> 147 #NET D_T2<3> LOC = AA3 | IOSTANDARD=LVCMOS25; #ok aka D_TB was D_T<11> 148 NET D_T_in<0> LOC = W3 | IOSTANDARD=LVCMOS25 | pullup; #ok aka D_TA was D_T<10> 149 NET D_T_in<1> LOC = AA3 | IOSTANDARD=LVCMOS25 | pullup; #ok aka D_TB was D_T<11> 150 150 151 151 # ADC Signals … … 244 244 NET MISO LOC = C12 | IOSTANDARD=LVCMOS33; #ok 245 245 246 NET T 0_CSLOC = C15 | IOSTANDARD=LVCMOS33; #ok247 NET T 1_CSLOC = C16 | IOSTANDARD=LVCMOS33; #ok248 NET T 2_CSLOC = C17 | IOSTANDARD=LVCMOS33; #ok249 NET T 3_CSLOC = C18 | IOSTANDARD=LVCMOS33; #ok246 NET TCS<0> LOC = C15 | IOSTANDARD=LVCMOS33; #ok 247 NET TCS<1> LOC = C16 | IOSTANDARD=LVCMOS33; #ok 248 NET TCS<2> LOC = C17 | IOSTANDARD=LVCMOS33; #ok 249 NET TCS<3> LOC = C18 | IOSTANDARD=LVCMOS33; #ok 250 250 NET DAC_CS LOC = C20 | IOSTANDARD=LVCMOS33; #ok 251 251 NET EE_CS LOC = C21 | IOSTANDARD=LVCMOS33; #ok -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_board.ucf.bak
r10123 r10129 140 140 #NET D_T_in<0> LOC = M3 | IOSTANDARD=LVCMOS25 | pullup; #ok was: NET D_T<6> LOC = M3 141 141 #NET D_T_in<1> LOC = T3 | IOSTANDARD=LVCMOS25 | pullup; #ok was: NET D_T<7> LOC = T3 142 NET D_T<6> LOC = M3 | IOSTANDARD=LVCMOS25 | pullup; #ok143 NET D_T<7> LOC = T3 | IOSTANDARD=LVCMOS25 | pullup; #ok142 NET D_T<6> LOC = M3 | IOSTANDARD=LVCMOS25; #ok 143 NET D_T<7> LOC = T3 | IOSTANDARD=LVCMOS25; #ok 144 144 NET D_T2<0> LOC = U2 | IOSTANDARD=LVCMOS25; #ok was D_T<8> 145 145 NET D_T2<1> LOC = V2 | IOSTANDARD=LVCMOS25; #ok was D_T<9> 146 NET D_T2<2> LOC = W3 | IOSTANDARD=LVCMOS25; #ok aka D_TA was D_T<10>147 NET D_T2<3> LOC = AA3 | IOSTANDARD=LVCMOS25; #ok aka D_TB was D_T<11>148 149 146 #NET D_T2<2> LOC = W3 | IOSTANDARD=LVCMOS25; #ok aka D_TA was D_T<10> 147 #NET D_T2<3> LOC = AA3 | IOSTANDARD=LVCMOS25; #ok aka D_TB was D_T<11> 148 NET D_T_in<0> LOC = W3 | IOSTANDARD=LVCMOS25 | pullup; #ok aka D_TA was D_T<10> 149 NET D_T_in<1> LOC = AA3 | IOSTANDARD=LVCMOS25 | pullup; #ok aka D_TB was D_T<11> 150 150 151 151 # ADC Signals … … 244 244 NET MISO LOC = C12 | IOSTANDARD=LVCMOS33; #ok 245 245 246 NET T 0_CSLOC = C15 | IOSTANDARD=LVCMOS33; #ok247 NET T 1_CSLOC = C16 | IOSTANDARD=LVCMOS33; #ok248 NET T 2_CSLOC = C17 | IOSTANDARD=LVCMOS33; #ok249 NET T 3_CSLOC = C18 | IOSTANDARD=LVCMOS33; #ok246 NET TCS<0> LOC = C15 | IOSTANDARD=LVCMOS33; #ok 247 NET TCS<1> LOC = C16 | IOSTANDARD=LVCMOS33; #ok 248 NET TCS<2> LOC = C17 | IOSTANDARD=LVCMOS33; #ok 249 NET TCS<3> LOC = C18 | IOSTANDARD=LVCMOS33; #ok 250 250 NET DAC_CS LOC = C20 | IOSTANDARD=LVCMOS33; #ok 251 251 NET EE_CS LOC = C21 | IOSTANDARD=LVCMOS33; #ok -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_board_struct.vhd
r10123 r10129 3 3 -- Created: 4 4 -- by - dneise.UNKNOWN (E5B-LABOR6) 5 -- at - 1 7:58:59 27.01.20115 -- at - 15:27:51 04.02.2011 6 6 -- 7 7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) … … 28 28 RS485_C_DI : IN std_logic; 29 29 RS485_E_DI : IN std_logic; 30 RS485_E_DO : IN std_logic;31 30 TRG : IN STD_LOGIC; 32 31 W_INT : IN std_logic; … … 36 35 AMBER_LED : OUT std_logic; 37 36 A_CLK : OUT std_logic_vector (3 DOWNTO 0); 38 D0_SRCLK : OUT STD_LOGIC;39 D1_SRCLK : OUT STD_LOGIC;40 D2_SRCLK : OUT STD_LOGIC;41 D3_SRCLK : OUT STD_LOGIC;42 37 DAC_CS : OUT std_logic; 43 38 DENABLE : OUT std_logic := '0'; 39 DSRCLK : OUT std_logic_vector (3 DOWNTO 0) := (others => '0'); 44 40 DWRITE : OUT std_logic := '0'; 45 41 D_A : OUT std_logic_vector (3 DOWNTO 0) := (others => '0'); 46 D_T : OUT std_logic_vector ( 5DOWNTO 0) := (OTHERS => '0');47 D_T2 : OUT std_logic_vector ( 3DOWNTO 0) := (others => '0');42 D_T : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 43 D_T2 : OUT std_logic_vector (1 DOWNTO 0) := (others => '0'); 48 44 EE_CS : OUT std_logic; 49 45 GREEN_LED : OUT std_logic; … … 55 51 RS485_C_RE : OUT std_logic; 56 52 RS485_E_DE : OUT std_logic; 53 RS485_E_DO : OUT std_logic; 57 54 RS485_E_RE : OUT std_logic; 58 55 RSRLOAD : OUT std_logic := '0'; 59 56 SRIN : OUT std_logic := '0'; 60 57 S_CLK : OUT std_logic; 61 T0_CS : OUT std_logic; 62 T1_CS : OUT std_logic; 63 T2_CS : OUT std_logic; 64 T3_CS : OUT std_logic; 58 TCS : OUT std_logic_vector (3 DOWNTO 0); 65 59 TRG_V : OUT std_logic; 66 60 W_A : OUT std_logic_vector (9 DOWNTO 0); … … 82 76 -- Created: 83 77 -- by - dneise.UNKNOWN (E5B-LABOR6) 84 -- at - 1 7:58:59 27.01.201178 -- at - 15:27:51 04.02.2011 85 79 -- 86 80 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) … … 102 96 103 97 -- Internal signal declarations 104 SIGNAL CLK25_OUT : std_logic; 105 SIGNAL CLK25_PSOUT : std_logic; 106 SIGNAL CLK50_OUT : std_logic; 107 SIGNAL CLK_25_PS : std_logic; 108 SIGNAL CLK_25_PS1 : std_logic; 109 SIGNAL CLK_50 : std_logic; 110 SIGNAL DCM_locked : std_logic; 111 SIGNAL LOCKED_extraOUT : std_logic; 112 SIGNAL PSCLK_OUT : std_logic; 113 SIGNAL PSDONE_extraOUT : std_logic; 114 SIGNAL PSINCDEC_OUT : std_logic; 115 SIGNAL PS_DIR_IN : std_logic; 116 SIGNAL SRCLK : std_logic := '0'; 117 SIGNAL adc_clk_en : std_logic := '0'; 118 SIGNAL adc_data_array : adc_data_array_type; 119 SIGNAL board_id : std_logic_vector(3 DOWNTO 0); 120 SIGNAL crate_id : std_logic_vector(1 DOWNTO 0); 121 SIGNAL drs_channel_id : std_logic_vector(3 DOWNTO 0) := (others => '0'); 122 SIGNAL dummy : std_logic; 123 SIGNAL led : std_logic_vector(7 DOWNTO 0) := (OTHERS => '0'); 124 SIGNAL ready : std_logic := '0'; 125 SIGNAL sensor_cs : std_logic_vector(3 DOWNTO 0); 126 -- status: 127 SIGNAL shifting : std_logic := '0'; 128 129 -- Implicit buffer signal declarations 130 SIGNAL SRIN_internal : std_logic; 98 SIGNAL CLK_25_PS : std_logic; 99 SIGNAL CLK_25_PS1 : std_logic; 100 SIGNAL CLK_50 : std_logic; 101 SIGNAL SRCLK : std_logic := '0'; 102 SIGNAL adc_clk_en : std_logic := '0'; 103 SIGNAL adc_data_array : adc_data_array_type; 104 SIGNAL alarm_refclk_too_high : std_logic := '0'; 105 SIGNAL alarm_refclk_too_low : std_logic := '0'; 106 SIGNAL board_id : std_logic_vector(3 DOWNTO 0); 107 SIGNAL counter_result : std_logic_vector(11 DOWNTO 0) := (others => '0'); 108 SIGNAL crate_id : std_logic_vector(1 DOWNTO 0); 109 SIGNAL led : std_logic_vector(7 DOWNTO 0) := (OTHERS => '0'); 131 110 132 111 … … 147 126 board_id : IN std_logic_vector (3 DOWNTO 0); 148 127 crate_id : IN std_logic_vector (1 DOWNTO 0); 128 drs_refclk_in : IN std_logic ; -- used TO check if DRS REFCLK exsists, if not DENABLE inhibit 129 plllock_in : IN std_logic_vector (3 DOWNTO 0); -- high level, if dominowave is running and DRS PLL locked 149 130 trigger : IN std_logic ; 150 131 wiz_int : IN std_logic ; 151 CLK25_OUT : OUT std_logic ;152 CLK25_PSOUT : OUT std_logic ;153 CLK50_OUT : OUT std_logic ;154 132 CLK_25_PS : OUT std_logic ; 155 133 CLK_50 : OUT std_logic ; 156 DCM_locked : OUT std_logic ; 157 LOCKED_extraOUT : OUT std_logic ; 158 PSCLK_OUT : OUT std_logic ; 159 PSDONE_extraOUT : OUT std_logic ; 160 PSINCDEC_OUT : OUT std_logic ; 161 PS_DIR_IN : OUT std_logic ; 162 RSRLOAD : OUT std_logic := '0'; 163 SRCLK : OUT std_logic := '0'; 164 SRIN_out : OUT std_logic := '0'; 165 adc_clk_en : OUT std_logic := '0'; 166 adc_oeb : OUT std_logic := '1'; 134 RSRLOAD : OUT std_logic := '0'; 135 SRCLK : OUT std_logic := '0'; 136 SRIN_out : OUT std_logic := '0'; 137 adc_clk_en : OUT std_logic := '0'; 138 adc_oeb : OUT std_logic := '1'; 167 139 additional_flasher_out : OUT std_logic ; 140 alarm_refclk_too_high : OUT std_logic := '0'; -- default domino wave off 141 alarm_refclk_too_low : OUT std_logic := '0'; -- default domino wave off 168 142 amber : OUT std_logic ; 143 counter_result : OUT std_logic_vector (11 DOWNTO 0) := (others => '0'); 169 144 dac_cs : OUT std_logic ; 170 denable : OUT std_logic := '0'; -- default domino wave off171 drs_channel_id : OUT std_logic_vector (3 DOWNTO 0) := (others => '0');172 drs_dwrite : OUT std_logic := '1';145 denable : OUT std_logic := '0'; -- default domino wave off 146 drs_channel_id : OUT std_logic_vector (3 DOWNTO 0) := (others => '0'); 147 drs_dwrite : OUT std_logic := '1'; 173 148 green : OUT std_logic ; 174 led : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 175 mosi : OUT std_logic := '0'; 176 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 177 ready : OUT std_logic := '0'; 149 led : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 150 mosi : OUT std_logic := '0'; 178 151 red : OUT std_logic ; 179 152 sclk : OUT std_logic ; 180 153 sensor_cs : OUT std_logic_vector (3 DOWNTO 0); 181 -- status:182 shifting : OUT std_logic := '0';183 154 wiz_addr : OUT std_logic_vector (9 DOWNTO 0); 184 wiz_cs : OUT std_logic := '1';185 wiz_rd : OUT std_logic := '1';186 wiz_reset : OUT std_logic := '1';187 wiz_wr : OUT std_logic := '1';155 wiz_cs : OUT std_logic := '1'; 156 wiz_rd : OUT std_logic := '1'; 157 wiz_reset : OUT std_logic := '1'; 158 wiz_wr : OUT std_logic := '1'; 188 159 sio : INOUT std_logic ; 189 160 wiz_data : INOUT std_logic_vector (15 DOWNTO 0) … … 199 170 BEGIN 200 171 -- Architecture concurrent statements 201 -- HDL Embedded Text Block 1 eb_ID 172 -- HDL Embedded Text Block 1 SRCLK 173 DSRCLK <= ( SRCLK, SRCLK,SRCLK,SRCLK); 174 175 -- HDL Embedded Text Block 2 ADC_CLK 176 A_CLK <= (CLK_25_PS, CLK_25_PS, CLK_25_PS, CLK_25_PS); 177 178 -- HDL Embedded Text Block 3 ADC_DATA 179 adc_data_array <= ( A0_D, A1_D, A2_D, A3_D ); 180 181 -- HDL Embedded Text Block 4 eb_ID 202 182 -- hard-wired IDs 203 183 board_id <= LINE(5 downto 2); 204 184 crate_id <= LINE(1 downto 0); 205 185 206 -- HDL Embedded Text Block 2 ADC_CLK207 -- ADC_CLK 2208 A_CLK (0) <= CLK_25_PS;209 A_CLK (1) <= CLK_25_PS;210 A_CLK (2) <= CLK_25_PS;211 A_CLK (3) <= CLK_25_PS;212 213 -- HDL Embedded Text Block 3 ADC_DATA214 -- ADC_DATA 3215 adc_data_array (0) <= A0_D;216 adc_data_array (1) <= A1_D;217 adc_data_array (2) <= A2_D;218 adc_data_array (3) <= A3_D;219 220 -- HDL Embedded Text Block 4 SRCLK221 -- SRCLK 4222 D0_SRCLK <= SRCLK;223 D1_SRCLK <= SRCLK;224 D2_SRCLK <= SRCLK;225 D3_SRCLK <= SRCLK;226 227 -- HDL Embedded Text Block 5 T_CS228 -- T_CS 5229 T0_CS <= sensor_cs (0);230 T1_CS <= sensor_cs (1);231 T2_CS <= sensor_cs (2);232 T3_CS <= sensor_cs (3);233 234 -- HDL Embedded Text Block 6 MISC235 -- MISC 6236 237 RS485_C_RE <= '0';238 RS485_C_DE <= '0';239 RS485_C_DO <= RS485_C_DI;240 241 242 243 -- DENABLE <= '0'; -- domino wave stopped244 -- DENABLE <= '1'; -- domino wave running245 246 247 EE_CS <= '1';248 249 -- HDL Embedded Text Block 7 eb1250 D_T(5 downto 0) <= (others => '0');251 252 -- HDL Embedded Text Block 8 eb2253 -- eb2 8254 D_A <= drs_channel_id;255 256 186 -- HDL Embedded Text Block 9 eb3 257 -- eb3 9 258 --A0_T(0) <= ready; 259 --A0_T(1) <= shifting; 260 --A0_T(2) <= CLK25_PSOUT; 261 --A0_T(3) <= PS_DIR_IN; 262 --A0_T(4) <= PS_DO_IN; 263 --A0_T(5) <= PSINCDEC_OUT; 264 265 266 267 A1_T(0) <= SRIN_internal; 268 A1_T(1) <= PSDONE_extraOUT; 269 A1_T(2) <= PSCLK_OUT; 270 A1_T(3) <= LOCKED_extraOUT; 271 272 A1_T(4) <= drs_channel_id(0); 273 A1_T(5) <= drs_channel_id(1); 274 A1_T(6) <= drs_channel_id(2); 275 A1_T(7) <= drs_channel_id(3); 276 277 A0_T(5 downto 0) <= (others => '0'); 278 A0_T(6) <= REFCLK; 279 A0_T(7) <= RS485_E_DI; 187 -- testpins D_T2 are used as MAX3485 outputs. 188 189 --D_T <= (others => '0'); 190 --D_T2 <= ( others => '0' ); 191 -- A0_T(7 downto 0) <= (others => '0'); 192 --A1_T(7 downto 0) <= (others => '0'); 193 194 A1_T <= counter_result ( 7 downto 0); 195 D_T(3 downto 0) <= counter_result ( 11 downto 8); 196 D_T(4) <= alarm_refclk_too_low; 197 D_T(5) <= alarm_refclk_too_high; 198 D_T(6) <= '0'; 199 D_T(7) <= '0'; 200 201 -- led output is driven by w5300 modul 202 -- for debugging only. 203 A0_T <= led; 204 205 -- MAX3485 for FTM trigger ID is switched into receive mode 280 206 RS485_E_RE <= '0'; 281 207 RS485_E_DE <= '0'; 282 283 D_T2 <= D_PLLLCK; 208 -- in receive mode, the DI input of this MAX is in 'don't care' state 209 RS485_E_DO <= '0'; 210 -- the receive pin is fed out as well 211 D_T2(1) <= RS485_E_DI; 212 213 -- additional MAX3485 is switched to shutdown mode 214 RS485_C_RE <= '1'; --inverted logic 215 RS485_C_DE <= '0'; 216 RS485_C_DO <= '0'; 217 -- MAX3485 receiver out pit is fed out... should be HIGH-Z 218 D_T2(0) <= RS485_C_DI; 219 220 -- EEPROM is not used on FAD. CS is always high. 221 EE_CS <= '1'; 284 222 285 223 286 224 -- ModuleWare code(v1.9) for instance 'I0' of 'and' 287 225 CLK_25_PS <= adc_clk_en AND CLK_25_PS1; 288 289 -- ModuleWare code(v1.9) for instance 'I3' of 'assignment'290 DAC_CS <= dummy;291 226 292 227 -- Instance port mappings. … … 306 241 board_id => board_id, 307 242 crate_id => crate_id, 243 drs_refclk_in => REFCLK, 244 plllock_in => D_PLLLCK, 308 245 trigger => TRG, 309 246 wiz_int => W_INT, 310 CLK25_OUT => CLK25_OUT,311 CLK25_PSOUT => CLK25_PSOUT,312 CLK50_OUT => CLK50_OUT,313 247 CLK_25_PS => CLK_25_PS1, 314 248 CLK_50 => CLK_50, 315 DCM_locked => DCM_locked,316 LOCKED_extraOUT => LOCKED_extraOUT,317 PSCLK_OUT => PSCLK_OUT,318 PSDONE_extraOUT => PSDONE_extraOUT,319 PSINCDEC_OUT => PSINCDEC_OUT,320 PS_DIR_IN => PS_DIR_IN,321 249 RSRLOAD => RSRLOAD, 322 250 SRCLK => SRCLK, 323 SRIN_out => SRIN _internal,251 SRIN_out => SRIN, 324 252 adc_clk_en => adc_clk_en, 325 253 adc_oeb => OE_ADC, 326 254 additional_flasher_out => TRG_V, 255 alarm_refclk_too_high => alarm_refclk_too_high, 256 alarm_refclk_too_low => alarm_refclk_too_low, 327 257 amber => AMBER_LED, 328 dac_cs => dummy, 258 counter_result => counter_result, 259 dac_cs => DAC_CS, 329 260 denable => DENABLE, 330 drs_channel_id => drs_channel_id,261 drs_channel_id => D_A, 331 262 drs_dwrite => DWRITE, 332 263 green => RED_LED, 333 264 led => led, 334 265 mosi => MOSI, 335 offset => OPEN,336 ready => ready,337 266 red => GREEN_LED, 338 267 sclk => S_CLK, 339 sensor_cs => sensor_cs, 340 shifting => shifting, 268 sensor_cs => TCS, 341 269 wiz_addr => W_A, 342 270 wiz_cs => W_CS, … … 348 276 ); 349 277 350 -- Implicit buffered output assignments351 SRIN <= SRIN_internal;352 353 278 END struct; -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_definitions.vhd
r10123 r10129 47 47 48 48 constant FIRST_PORT : integer := 5000; 49 constant CAM_IP_PREFIX : ip_type := (1 92, 168, 0, 0);49 constant CAM_IP_PREFIX : ip_type := (10, 0, 0, 0); 50 50 constant IP_offset : integer := 128; 51 51 constant CAM_MAC_prefix : mac_type := (X"FAC7", X"0FAD", X"0000"); -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_definitions.vhd.bak
r10123 r10129 17 17 18 18 type mac_type is array (0 to 2) of std_logic_vector (15 downto 0); 19 type mac_list_type is array (0 to 3) of mac_type;20 19 type ip_type is array (0 to 3) of integer; 21 type ip_list_type is array (0 to 3) of ip_type; 20 21 type mac_list_type is array (0 to 2) of mac_type; 22 type ip_list_type is array (0 to 2) of ip_type; 22 23 -- Network Settings 23 24 -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/fad_main_struct.vhd
r10123 r10129 3 3 -- Created: 4 4 -- by - dneise.UNKNOWN (E5B-LABOR6) 5 -- at - 1 7:58:58 27.01.20115 -- at - 15:27:49 04.02.2011 6 6 -- 7 7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) … … 28 28 board_id : IN std_logic_vector (3 DOWNTO 0); 29 29 crate_id : IN std_logic_vector (1 DOWNTO 0); 30 drs_refclk_in : IN std_logic; -- used to check if DRS REFCLK exsists, if not DENABLE inhibit 31 plllock_in : IN std_logic_vector (3 DOWNTO 0); -- high level, if dominowave is running and DRS PLL locked 30 32 trigger : IN std_logic; 31 33 wiz_int : IN std_logic; 32 CLK25_OUT : OUT std_logic;33 CLK25_PSOUT : OUT std_logic;34 CLK50_OUT : OUT std_logic;35 34 CLK_25_PS : OUT std_logic; 36 35 CLK_50 : OUT std_logic; 37 DCM_locked : OUT std_logic; 38 LOCKED_extraOUT : OUT std_logic; 39 PSCLK_OUT : OUT std_logic; 40 PSDONE_extraOUT : OUT std_logic; 41 PSINCDEC_OUT : OUT std_logic; 42 PS_DIR_IN : OUT std_logic; 43 RSRLOAD : OUT std_logic := '0'; 44 SRCLK : OUT std_logic := '0'; 45 SRIN_out : OUT std_logic := '0'; 46 adc_clk_en : OUT std_logic := '0'; 47 adc_oeb : OUT std_logic := '1'; 36 RSRLOAD : OUT std_logic := '0'; 37 SRCLK : OUT std_logic := '0'; 38 SRIN_out : OUT std_logic := '0'; 39 adc_clk_en : OUT std_logic := '0'; 40 adc_oeb : OUT std_logic := '1'; 48 41 additional_flasher_out : OUT std_logic; 42 alarm_refclk_too_high : OUT std_logic := '0'; -- default domino wave off 43 alarm_refclk_too_low : OUT std_logic := '0'; -- default domino wave off 49 44 amber : OUT std_logic; 45 counter_result : OUT std_logic_vector (11 DOWNTO 0) := (others => '0'); 50 46 dac_cs : OUT std_logic; 51 denable : OUT std_logic := '0'; -- default domino wave off52 drs_channel_id : OUT std_logic_vector (3 DOWNTO 0) := (others => '0');53 drs_dwrite : OUT std_logic := '1';47 denable : OUT std_logic := '0'; -- default domino wave off 48 drs_channel_id : OUT std_logic_vector (3 DOWNTO 0) := (others => '0'); 49 drs_dwrite : OUT std_logic := '1'; 54 50 green : OUT std_logic; 55 led : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 56 mosi : OUT std_logic := '0'; 57 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 58 ready : OUT std_logic := '0'; 51 led : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 52 mosi : OUT std_logic := '0'; 59 53 red : OUT std_logic; 60 54 sclk : OUT std_logic; 61 55 sensor_cs : OUT std_logic_vector (3 DOWNTO 0); 62 -- status:63 shifting : OUT std_logic := '0';64 56 wiz_addr : OUT std_logic_vector (9 DOWNTO 0); 65 wiz_cs : OUT std_logic := '1';66 wiz_rd : OUT std_logic := '1';67 wiz_reset : OUT std_logic := '1';68 wiz_wr : OUT std_logic := '1';57 wiz_cs : OUT std_logic := '1'; 58 wiz_rd : OUT std_logic := '1'; 59 wiz_reset : OUT std_logic := '1'; 60 wiz_wr : OUT std_logic := '1'; 69 61 sio : INOUT std_logic; 70 62 wiz_data : INOUT std_logic_vector (15 DOWNTO 0) … … 80 72 -- Created: 81 73 -- by - dneise.UNKNOWN (E5B-LABOR6) 82 -- at - 1 7:58:58 27.01.201174 -- at - 15:27:50 04.02.2011 83 75 -- 84 76 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) … … 133 125 SIGNAL dac_array : dac_array_type; 134 126 SIGNAL data_out : std_logic_vector(63 DOWNTO 0); 127 SIGNAL denable_inhibit : std_logic := '0'; -- default domino wave off 128 SIGNAL denable_prim : std_logic := '0'; -- default domino wave off 129 SIGNAL din1 : std_logic := '0'; -- default domino wave off 135 130 SIGNAL dout : std_logic; 136 131 SIGNAL dout1 : std_logic; 137 SIGNAL drs_address : std_logic_vector(3 DOWNTO 0) := (others => '0');138 SIGNAL drs_address_mode : std_logic;139 SIGNAL drs_channel_internal : std_logic_vector(3 DOWNTO 0) := (others => '0');140 132 SIGNAL drs_clk_en : std_logic := '0'; 141 133 SIGNAL drs_read_s_cell : std_logic := '0'; … … 191 183 192 184 -- Implicit buffer signal declarations 193 SIGNAL CLK_25_PS_internal : std_logic; 194 SIGNAL CLK_50_internal : std_logic; 185 SIGNAL CLK_25_PS_internal : std_logic; 186 SIGNAL CLK_50_internal : std_logic; 187 SIGNAL alarm_refclk_too_high_internal : std_logic; 188 SIGNAL alarm_refclk_too_low_internal : std_logic; 195 189 196 190 197 191 -- Component Declarations 192 COMPONENT REFCLK_counter 193 PORT ( 194 clk : IN std_logic; 195 refclk_in : IN std_logic; 196 alarm_refclk_too_high : OUT std_logic := '0'; 197 alarm_refclk_too_low : OUT std_logic := '0'; 198 counter_result : OUT std_logic_vector (11 DOWNTO 0) := (others => '0') 199 ); 200 END COMPONENT; 198 201 COMPONENT adc_buffer 199 202 PORT ( … … 207 210 COMPONENT clock_generator_var_ps 208 211 PORT ( 209 CLK : IN std_logic ; 210 RST_IN : IN std_logic ; 211 direction : IN std_logic ; 212 do_shift : IN std_logic ; 213 CLK_25 : OUT std_logic ; 214 CLK_25_PS : OUT std_logic ; 215 CLK_50 : OUT std_logic ; 216 DCM_locked : OUT std_logic ; 217 LOCKED_extraOUT : OUT std_logic ; 218 PSCLK_OUT : OUT std_logic ; 219 PSDONE_extraOUT : OUT std_logic ; 220 PSINCDEC_OUT : OUT std_logic ; 221 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0'); 222 ready : OUT std_logic := '0'; 223 -- status: 224 shifting : OUT std_logic := '0' 212 CLK : IN std_logic ; 213 RST_IN : IN std_logic ; 214 direction : IN std_logic ; 215 do_shift : IN std_logic ; 216 CLK_25 : OUT std_logic ; 217 CLK_25_PS : OUT std_logic ; 218 CLK_50 : OUT std_logic ; 219 offset : OUT std_logic_vector (7 DOWNTO 0) := (OTHERS => '0') 225 220 ); 226 221 END COMPONENT; … … 487 482 -- Optional embedded configurations 488 483 -- pragma synthesis_off 484 FOR ALL : REFCLK_counter USE ENTITY FACT_FAD_lib.REFCLK_counter; 489 485 FOR ALL : adc_buffer USE ENTITY FACT_FAD_lib.adc_buffer; 490 486 FOR ALL : clock_generator_var_ps USE ENTITY FACT_FAD_lib.clock_generator_var_ps; … … 514 510 sclk <= sclk_enable AND sclk1; 515 511 512 -- ModuleWare code(v1.9) for instance 'U_5' of 'and' 513 denable <= denable_prim AND din1; 514 516 515 -- ModuleWare code(v1.9) for instance 'U_11' of 'and' 517 516 dout1 <= dout AND trigger_enable; 518 517 519 -- ModuleWare code(v1.9) for instance 'U_5' of 'assignment' 520 PS_DIR_IN <= ps_direction; 521 522 -- ModuleWare code(v1.9) for instance 'U_6' of 'assignment' 523 CLK50_OUT <= CLK_50_internal; 524 525 -- ModuleWare code(v1.9) for instance 'U_7' of 'assignment' 526 CLK25_OUT <= CLK_25; 527 528 -- ModuleWare code(v1.9) for instance 'U_8' of 'assignment' 529 CLK25_PSOUT <= CLK_25_PS_internal; 530 531 -- ModuleWare code(v1.9) for instance 'U_0' of 'mux' 532 u_0combo_proc: PROCESS(drs_channel_internal, drs_address, 533 drs_address_mode) 534 BEGIN 535 CASE drs_address_mode IS 536 WHEN '0' => drs_channel_id <= drs_channel_internal; 537 WHEN '1' => drs_channel_id <= drs_address; 538 WHEN OTHERS => drs_channel_id <= (OTHERS => 'X'); 539 END CASE; 540 END PROCESS u_0combo_proc; 518 -- ModuleWare code(v1.9) for instance 'U_7' of 'inv' 519 din1 <= NOT(denable_inhibit); 520 521 -- ModuleWare code(v1.9) for instance 'U_6' of 'or' 522 denable_inhibit <= alarm_refclk_too_low_internal 523 OR alarm_refclk_too_high_internal; 541 524 542 525 -- ModuleWare code(v1.9) for instance 'U_9' of 'or' … … 547 530 548 531 -- Instance port mappings. 532 REFCLK_counter_main : REFCLK_counter 533 PORT MAP ( 534 clk => CLK_50_internal, 535 refclk_in => drs_refclk_in, 536 counter_result => counter_result, 537 alarm_refclk_too_high => alarm_refclk_too_high_internal, 538 alarm_refclk_too_low => alarm_refclk_too_low_internal 539 ); 549 540 I_main_adc_buffer : adc_buffer 550 541 PORT MAP ( … … 557 548 U_2 : clock_generator_var_ps 558 549 PORT MAP ( 559 CLK => CLK, 560 RST_IN => ps_reset, 561 direction => ps_direction, 562 do_shift => ps_do_phase_shift, 563 CLK_25 => CLK_25, 564 CLK_25_PS => CLK_25_PS_internal, 565 CLK_50 => CLK_50_internal, 566 DCM_locked => DCM_locked, 567 LOCKED_extraOUT => LOCKED_extraOUT, 568 PSCLK_OUT => PSCLK_OUT, 569 PSDONE_extraOUT => PSDONE_extraOUT, 570 PSINCDEC_OUT => PSINCDEC_OUT, 571 offset => offset, 572 ready => ready, 573 shifting => shifting 550 CLK => CLK, 551 RST_IN => ps_reset, 552 direction => ps_direction, 553 do_shift => ps_do_phase_shift, 554 CLK_25 => CLK_25, 555 CLK_25_PS => CLK_25_PS_internal, 556 CLK_50 => CLK_50_internal, 557 offset => OPEN 574 558 ); 575 559 U_3 : continous_pulser … … 648 632 adc_clk_en => adc_clk_en, 649 633 adc_otr => adc_otr, 650 drs_channel_id => drs_channel_i nternal,634 drs_channel_id => drs_channel_id, 651 635 drs_readout_ready => drs_readout_ready, 652 636 drs_readout_ready_ack => drs_readout_ready_ack, … … 791 775 BoardID => board_id, 792 776 CrateID => crate_id, 793 denable => denable ,777 denable => denable_prim, 794 778 dwrite_enable => dwrite_enable, 795 779 sclk_enable => sclk_enable, … … 804 788 805 789 -- Implicit buffered output assignments 806 CLK_25_PS <= CLK_25_PS_internal; 807 CLK_50 <= CLK_50_internal; 790 CLK_25_PS <= CLK_25_PS_internal; 791 CLK_50 <= CLK_50_internal; 792 alarm_refclk_too_high <= alarm_refclk_too_high_internal; 793 alarm_refclk_too_low <= alarm_refclk_too_low_internal; 808 794 809 795 END struct; -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/phase_shifter.vhd
r9912 r10129 9 9 library ieee; 10 10 use ieee.std_logic_1164.all; 11 use IEEE.STD_LOGIC_ARITH.all; 12 use ieee.STD_LOGIC_UNSIGNED.all; 11 use IEEE.NUMERIC_STD.all; 13 12 14 13 library FACT_FAD_lib; … … 20 19 PORT( 21 20 CLK : IN std_logic; 21 rst : in std_logic; --asynch in of DCM 22 22 23 23 -- interface to: clock_generator_variable_PS_struct.vhd … … 72 72 73 73 architecture first_behave of phase_shifter is 74 74 constant OFFS_MIN : integer := -128; 75 constant OFFS_MAX : integer := 127; 76 75 77 type states is (INIT, READY_STATE, SHIFTING_STATE, WAITINGFORDONE); 76 78 signal state,next_state : states := INIT; 77 79 78 80 signal local_direction : std_logic; 81 signal offset_int : integer range OFFS_MIN to OFFS_MAX := 0; 82 83 79 84 80 85 begin 81 86 82 87 -- concurrent statements: 83 84 88 DCM_locked <= LOCKED; 85 89 PSCLK <= CLK; 90 offset <= std_logic_vector(to_signed(offset_int,8)); 86 91 87 92 -- MAIN FSM: go to next state if rising edge, or to INIT if LOCKED not high. 88 FSM_Registers: process(CLK, LOCKED )93 FSM_Registers: process(CLK, LOCKED, rst) 89 94 begin 90 if LOCKED = '0' then 95 if rst = '1' then 96 state <= INIT; 97 elsif LOCKED = '0' then 91 98 state <= INIT; 92 99 elsif Rising_edge(CLK) then … … 96 103 97 104 -- MAIN FSM 98 FSM_logic: process(state, PSDONE, LOCKED, shift_phase )105 FSM_logic: process(state, PSDONE, LOCKED, shift_phase, direction, local_direction) 99 106 begin 100 107 next_state <= state; … … 103 110 -- INIT state: here the FSM is idling, when LOCKED is not HIGH. 104 111 when INIT => 105 ready <= '0'; 112 ready <= '0'; 113 offset_int <= 0; 106 114 shifting <= '0'; 107 115 PSEN <= '0'; … … 139 147 if (PSDONE = '1') then 140 148 next_state <= READY_STATE; 149 if (local_direction = '1') then 150 if (offset_int < OFFS_MAX) then 151 offset_int <= offset_int + 1; 152 end if; 153 else 154 if (offset_int > OFFS_MIN) then 155 offset_int <= offset_int - 1; 156 end if; 157 end if; 141 158 else 142 159 next_state <= WAITINGFORDONE; -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/phase_shifter.vhd.bak
r10074 r10129 9 9 library ieee; 10 10 use ieee.std_logic_1164.all; 11 use IEEE.STD_LOGIC_ARITH.all; 12 use ieee.STD_LOGIC_UNSIGNED.all; 11 use IEEE.NUMERIC_STD.all; 13 12 14 13 library FACT_FAD_lib; … … 20 19 PORT( 21 20 CLK : IN std_logic; 21 rst : in std_logic; --asynch in of DCM 22 22 23 23 -- interface to: clock_generator_variable_PS_struct.vhd … … 72 72 73 73 architecture first_behave of phase_shifter is 74 74 constant OFFS_MIN : integer := -128; 75 constant OFFS_MAX : integer := 127; 76 75 77 type states is (INIT, READY_STATE, SHIFTING_STATE, WAITINGFORDONE); 76 78 signal state,next_state : states := INIT; 77 79 78 80 signal local_direction : std_logic; 81 signal offset_int : integer range OFFS_MIN to OFFS_MAX := 0; 82 83 79 84 80 85 begin 81 86 82 87 -- concurrent statements: 83 84 88 DCM_locked <= LOCKED; 85 89 PSCLK <= CLK; 90 offset <= std_logic_vector(to_signed(offset_int,8)); 86 91 87 92 -- MAIN FSM: go to next state if rising edge, or to INIT if LOCKED not high. 88 FSM_Registers: process(CLK, LOCKED )93 FSM_Registers: process(CLK, LOCKED, rst) 89 94 begin 90 if LOCKED = '0' then 95 if Rising_edge(rst) then 96 state <= INIT; 97 elsif LOCKED = '0' then 91 98 state <= INIT; 92 99 elsif Rising_edge(CLK) then … … 96 103 97 104 -- MAIN FSM 98 FSM_logic: process(state, PSDONE, LOCKED, shift_phase )105 FSM_logic: process(state, PSDONE, LOCKED, shift_phase, direction, local_direction) 99 106 begin 100 107 next_state <= state; … … 103 110 -- INIT state: here the FSM is idling, when LOCKED is not HIGH. 104 111 when INIT => 105 ready <= '0'; 112 ready <= '0'; 113 offset_int <= 0; 106 114 shifting <= '0'; 107 115 PSEN <= '0'; … … 139 147 if (PSDONE = '1') then 140 148 next_state <= READY_STATE; 149 if (local_direction = '1') then 150 if (offset_int < OFFS_MAX) then 151 offset_int <= offset_int + 1; 152 end if; 153 else 154 if (offset_int > OFFS_MIN) then 155 offset_int <= offset_int - 1; 156 end if; 157 end if; 141 158 else 142 159 next_state <= WAITINGFORDONE; -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/spi_interface_struct.vhd
r10121 r10129 2 2 -- 3 3 -- Created: 4 -- by - d aqct3.UNKNOWN (IHP110)5 -- at - 1 2:52:20 06.01.20114 -- by - dneise.UNKNOWN (E5B-LABOR6) 5 -- at - 16:13:08 03.02.2011 6 6 -- 7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009. 1 (Build 12)7 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) 8 8 -- 9 9 LIBRARY ieee; … … 37 37 -- 38 38 -- Created: 39 -- by - d aqct3.UNKNOWN (IHP110)40 -- at - 1 2:52:20 06.01.201139 -- by - dneise.UNKNOWN (E5B-LABOR6) 40 -- at - 16:13:08 03.02.2011 41 41 -- 42 -- Generated by Mentor Graphics' HDL Designer(TM) 2009. 1 (Build 12)42 -- Generated by Mentor Graphics' HDL Designer(TM) 2009.2 (Build 10) 43 43 -- 44 44 LIBRARY ieee; … … 57 57 58 58 -- Internal signal declarations 59 SIGNAL T_sensor_start : std_logic; 59 60 SIGNAL dac_config_ready : std_logic; 60 61 SIGNAL dac_config_start : std_logic; … … 70 71 71 72 -- Component Declarations 72 COMPONENT spi_clock_generator73 COMPONENT clk_divider 73 74 GENERIC ( 74 CLK_DIVIDER : integer := 25 --2 MHz @ 50 MHz75 DIVIDER : integer := 25 75 76 ); 76 77 PORT ( … … 119 120 -- Optional embedded configurations 120 121 -- pragma synthesis_off 121 FOR ALL : spi_clock_generator USE ENTITY FACT_FAD_lib.spi_clock_generator;122 FOR ALL : clk_divider USE ENTITY FACT_FAD_lib.clk_divider; 122 123 FOR ALL : spi_controller USE ENTITY FACT_FAD_lib.spi_controller; 123 124 FOR ALL : spi_distributor USE ENTITY FACT_FAD_lib.spi_distributor; … … 128 129 129 130 -- Instance port mappings. 130 I _spi_clkgen : spi_clock_generator131 I1 : clk_divider 131 132 GENERIC MAP ( 132 CLK_DIVIDER => 25 --2 MHz @ 50 MHz133 DIVIDER => 25 133 134 ) 134 135 PORT MAP ( 135 136 clk => clk_50MHz, 136 137 sclk => sclk_internal 138 ); 139 Measure_Temperature_Timer : clk_divider 140 GENERIC MAP ( 141 DIVIDER => 25 142 ) 143 PORT MAP ( 144 clk => sclk_internal, 145 sclk => T_sensor_start 137 146 ); 138 147 I_spi_controller : spi_controller -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/w5300_modul.vhd
r10123 r10129 318 318 ip_loc <= ( CAM_IP_PREFIX(0) , CAM_IP_PREFIX(1) , IP_offset + conv_integer(cid) , IP_offset + conv_integer(bid) ); 319 319 end if; 320 else -- FAD is tested, ei ghther at ETHZ or at TUDO AND eighther with FMP or without.320 else -- FAD is tested, either at ETHZ or at TUDO AND either with FMP or without. 321 321 if ( FAD_at_ETHZ = '0' ) then 322 322 -- easy FAD is at TUDO -> only one choice. -
firmware/FAD/FACT_FAD_20MHz_VAR_PS/FACT_FAD_lib/hdl/w5300_modul.vhd.bak
r10123 r10129 445 445 -- Own IP-Address 446 446 when IP => 447 led(0) <= '1';448 led(1) <= '1';449 led(2) <= '1';450 451 447 par_addr <= W5300_SIPR; 452 448 par_data (15 downto 8) <= conv_std_logic_vector(ip_loc(0),8); … … 474 470 -- Socket Init 475 471 when SI => 476 led(3) <= '1';477 472 par_addr <= W5300_S0_MR + socket_cnt * W5300_S_INC; 478 473 par_data <= X"0101"; -- ALIGN, TCP … … 506 501 end if; 507 502 when SI6 => 508 led(4) <= '1';509 503 par_addr <= W5300_S0_CR + socket_cnt * W5300_S_INC; 510 504 par_data <= X"0002"; -- LISTEN … … 520 514 521 515 when ESTABLISH => 522 led(5) <= '1';523 516 socks_waiting <= '1'; 524 517 socks_connected <= '0';
Note:
See TracChangeset
for help on using the changeset viewer.