w11 - vhd 0.794
W11 CPU core and support modules
Loading...
Searching...
No Matches
sys_tst_mig_n4d.vhd
Go to the documentation of this file.
1-- $Id: sys_tst_mig_n4d.vhd 1247 2022-07-06 07:04:33Z mueller $
2-- SPDX-License-Identifier: GPL-3.0-or-later
3-- Copyright 2018-2022 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
4--
5------------------------------------------------------------------------------
6-- Module Name: sys_tst_mig_n4d - syn
7-- Description: test of nexyx4d ddr and its mig controller
8--
9-- Dependencies: vlib/xlib/bufg_unisim
10-- bplib/bpgen/s7_cmt_1ce1ce2c
11-- cdclib/cdc_signal_s1_as
12-- cdclib/cdc_pulse
13-- bplib/bpgen/bp_rs232_4line_iob
14-- rlink/rlink_sp2c
15-- tst_mig
16-- bplib/nexyx4d/migui_nexyx4d (generated core)
17-- bplib/sysmon/sysmonx_rbus_base
18-- rbus/rbd_usracc
19-- rbus/rb_sres_or_3
20--
21-- Test bench: tb/tb_tst_mig_n4d
22--
23-- Target Devices: generic
24-- Tool versions: viv 2017.2-2022.1; ghdl 0.34-2.0.0
25--
26-- Synthesized (viv):
27-- Date Rev viv Target flop lutl lutm bram slic
28-- 2022-07-05 1247 2022.1 xc7a100t-1l 4216 3821 412 1 1726
29-- 2019-08-10 1201 2019.1 xc7a100t-1l 4217 4173 440 1 1709 +clkmon
30-- 2019-02-02 1108 2018.3 xc7a100t-1l 4106 4145 440 1 1689
31-- 2019-02-02 1108 2017.2 xc7a100t-1l 4097 4310 440 1 1767
32-- 2019-01-02 1101 2017.2 xc7a100t-1l 4097 4310 457 1 1767
33--
34-- Revision History:
35-- Date Rev Version Comment
36-- 2022-07-05 1247 1.1.1 use bufg_unisim
37-- 2019-08-10 1201 1.1 use 100 MHz MIG SYS_CLK; add clock monitor
38-- 2018-12-30 1099 1.0 Initial version
39------------------------------------------------------------------------------
40--
41-- Usage of Nexys 4 Switches, Buttons, LEDs
42--
43-- SWI -- unused --
44--
45-- BTN
46-- (4) ce -- unused --
47-- (3) le issue MIG_SYS_RST
48-- (2) do light LED(12:15)
49-- (1) ri light LED(8:11)
50-- (0) up light LED(4:7)
51--
52-- LEDs
53-- (15) I_BTN(2) or R_FLG_UI_CLK (MIG UI clock monitor 75 MHz)
54-- (14) I_BTN(2) or R_FLG_CLKREF (CLKREF clock monitor 200 MHz)
55-- (13) I_BTN(2) or R_FLG_CLKSER (CLKSER clock monitor 120 MHz)
56-- (12) I_BTN(2) or R_FLG_XX_CLK (sysclk clock monitor 80 MHz)
57-- (11) I_BTN(1) or not APP_WDF_RDY
58-- (10) I_BTN(1) or not APP_RDY
59-- (8:9) I_BTN(1)
60-- (7) I_BTN(0) or not MIG_INIT_CALIB_COMPLETE
61-- (6) I_BTN(0) or MIG_UI_CLK_SYNC_RST
62-- (5) I_BTN(0)
63-- (4) I_BTN(0) or not LOCKED
64-- (3) not SER_MONI.txok (shows tx back pressure)
65-- (2) SER_MONI.txact (shows tx activity)
66-- (1) not SER_MONI.rxok (shows rx back pressure)
67-- (0) SER_MONI.rxact (shows rx activity)
68
69
70library ieee;
71use ieee.std_logic_1164.all;
72use ieee.numeric_std.all;
73
74use work.slvtypes.all;
75use work.xlib.all;
76use work.cdclib.all;
77use work.serportlib.all;
78use work.rblib.all;
79use work.rbdlib.all;
80use work.rlinklib.all;
81use work.bpgenlib.all;
82use work.sysmonrbuslib.all;
83use work.miglib_nexys4d.all;
84use work.sys_conf.all;
85
86-- ----------------------------------------------------------------------------
87
88entity sys_tst_mig_n4d is -- top level
89 -- implements nexys4d_mig_aif
90 port (
91 I_CLK100 : in slbit; -- 100 MHz clock
92 I_RXD : in slbit; -- receive data (board view)
93 O_TXD : out slbit; -- transmit data (board view)
94 O_RTS_N : out slbit; -- rx rts (board view; act.low)
95 I_CTS_N : in slbit; -- tx cts (board view; act.low)
96 I_SWI : in slv16; -- n4d switches
97 I_BTN : in slv5; -- n4d buttons
98 I_BTNRST_N : in slbit; -- n4d reset button
99 O_LED : out slv16; -- n4d leds
100 O_RGBLED0 : out slv3; -- n4d rgb-led 0
101 O_RGBLED1 : out slv3; -- n4d rgb-led 1
102 O_ANO_N : out slv8; -- 7 segment disp: anodes (act.low)
103 O_SEG_N : out slv8; -- 7 segment disp: segments (act.low)
104 DDR2_DQ : inout slv16; -- dram: data in/out
105 DDR2_DQS_P : inout slv2; -- dram: data strobe (diff-p)
106 DDR2_DQS_N : inout slv2; -- dram: data strobe (diff-n)
107 DDR2_ADDR : out slv13; -- dram: address
108 DDR2_BA : out slv3; -- dram: bank address
109 DDR2_RAS_N : out slbit; -- dram: row addr strobe (act.low)
110 DDR2_CAS_N : out slbit; -- dram: column addr strobe (act.low)
111 DDR2_WE_N : out slbit; -- dram: write enable (act.low)
112 DDR2_CK_P : out slv1; -- dram: clock (diff-p)
113 DDR2_CK_N : out slv1; -- dram: clock (diff-n)
114 DDR2_CKE : out slv1; -- dram: clock enable
115 DDR2_CS_N : out slv1; -- dram: chip select (act.low)
116 DDR2_DM : out slv2; -- dram: data input mask
117 DDR2_ODT : out slv1 -- dram: on-die termination
118 );
120
121architecture syn of sys_tst_mig_n4d is
122
123 signal CLK100_BUF : slbit := '0';
124
125 signal XX_CLK : slbit := '0'; -- kept to keep clock setup similar
126 signal XX_CE_USEC : slbit := '0'; -- to w11a or other 'normal' systems
127 signal XX_CE_MSEC : slbit := '0'; --
128
129 signal CLK : slbit := '0';
130 signal CE_USEC : slbit := '0';
131 signal CE_MSEC : slbit := '0';
132
133 signal CLKS : slbit := '0';
134 signal CES_MSEC : slbit := '0';
135
136 signal CLKREF : slbit := '0';
137
138 signal LOCKED : slbit := '0'; -- raw LOCKED
139 signal LOCKED_CLKMIG : slbit := '0'; -- sync'ed to CLKMIG
140
141 signal RXD : slbit := '1';
142 signal TXD : slbit := '0';
143 signal RTS_N : slbit := '0';
144 signal CTS_N : slbit := '0';
145
146 signal SWI : slv16 := (others=>'0');
147 signal BTN : slv5 := (others=>'0');
148 signal LED : slv16 := (others=>'0');
149 signal DSP_DAT : slv32 := (others=>'0');
150 signal DSP_DP : slv8 := (others=>'0');
151
152 signal RB_MREQ : rb_mreq_type := rb_mreq_init;
153 signal RB_SRES : rb_sres_type := rb_sres_init;
154 signal RB_LAM : slv16 := (others=>'0');
155 signal RB_STAT : slv4 := (others=>'0');
156
157 signal SER_MONI : serport_moni_type := serport_moni_init;
158
159 signal RB_SRES_TST : rb_sres_type := rb_sres_init;
160 signal RB_SRES_SYSMON : rb_sres_type := rb_sres_init;
161 signal RB_SRES_USRACC : rb_sres_type := rb_sres_init;
162
163 signal RB_LAM_TST : slbit := '0';
164
165 signal APP_ADDR : slv(mig_mawidth-1 downto 0) := (others=>'0');
166 signal APP_CMD : slv3 := (others=>'0');
167 signal APP_EN : slbit := '0';
168 signal APP_WDF_DATA : slv(mig_dwidth-1 downto 0) := (others=>'0');
169 signal APP_WDF_END : slbit := '0';
170 signal APP_WDF_MASK : slv(mig_mwidth-1 downto 0) := (others=>'0');
171 signal APP_WDF_WREN : slbit := '0';
172 signal APP_RD_DATA : slv(mig_dwidth-1 downto 0) := (others=>'0');
173 signal APP_RD_DATA_END : slbit := '0';
174 signal APP_RD_DATA_VALID : slbit := '0';
175 signal APP_RDY : slbit := '0';
176 signal APP_WDF_RDY : slbit := '0';
177 signal APP_SR_REQ : slbit := '0';
178 signal APP_REF_REQ : slbit := '0';
179 signal APP_ZQ_REQ : slbit := '0';
180 signal APP_SR_ACTIVE : slbit := '0';
181 signal APP_REF_ACK : slbit := '0';
182 signal APP_ZQ_ACK : slbit := '0';
183 signal MIG_UI_CLK : slbit := '0';
184 signal MIG_UI_CLK_SYNC_RST : slbit := '0';
186 signal MIG_SYS_RST : slbit := '0';
187
188 signal XADC_TEMP : slv12 := (others=>'0'); -- xadc die temp; on CLK
189
190 signal R_CNT_UI_CLK : slv(25 downto 0) := (others=>'0');
191 signal R_CNT_CLKREF : slv(26 downto 0) := (others=>'0');
192 signal R_CNT_CLKSER : slv(25 downto 0) := (others=>'0');
193 signal R_CNT_XX_CLK : slv(25 downto 0) := (others=>'0');
194 signal R_FLG_UI_CLK : slbit := '0';
195 signal R_FLG_CLKREF : slbit := '0';
196 signal R_FLG_CLKSER : slbit := '0';
197 signal R_FLG_XX_CLK : slbit := '0';
198
199 constant rbaddr_rbmon : slv16 := x"ffe8"; -- ffe8/0008: 1111 1111 1110 1xxx
200 constant rbaddr_sysmon: slv16 := x"fb00"; -- fb00/0080: 1111 1011 0xxx xxxx
201
202 constant sysid_proj : slv16 := x"0105"; -- tst_mig
203 constant sysid_board : slv8 := x"08"; -- nexys4d
204 constant sysid_vers : slv8 := x"00";
205
206begin
207
208 CLK100_BUFG: bufg_unisim
209 port map (
210 I => I_CLK100,
211 O => CLK100_BUF
212 );
213
214 GEN_CLKALL : s7_cmt_1ce1ce2c -- clock generator system ------------
215 generic map (
216 CLKIN_PERIOD => 10.0,
217 CLKIN_JITTER => 0.01,
218 STARTUP_WAIT => false,
219 CLK0_VCODIV => sys_conf_clksys_vcodivide,
220 CLK0_VCOMUL => sys_conf_clksys_vcomultiply,
221 CLK0_OUTDIV => sys_conf_clksys_outdivide,
222 CLK0_GENTYPE => sys_conf_clksys_gentype,
223 CLK0_CDUWIDTH => 7,
224 CLK0_USECDIV => sys_conf_clksys_mhz,
225 CLK0_MSECDIV => 1000,
226 CLK1_VCODIV => sys_conf_clkser_vcodivide,
227 CLK1_VCOMUL => sys_conf_clkser_vcomultiply,
228 CLK1_OUTDIV => sys_conf_clkser_outdivide,
229 CLK1_GENTYPE => sys_conf_clkser_gentype,
230 CLK1_CDUWIDTH => 7,
231 CLK1_USECDIV => sys_conf_clkser_mhz,
232 CLK1_MSECDIV => 1000,
233 CLK23_VCODIV => 1,
234 CLK23_VCOMUL => 12, -- vco 1200 MHz
235 CLK2_OUTDIV => 12, -- mig sys 100.0 MHz (unused)
236 CLK3_OUTDIV => 6, -- mig ref 200.0 MHz
237 CLK23_GENTYPE => "PLL")
238 port map (
239 CLKIN => CLK100_BUF,
240 CLK0 => XX_CLK,
241 CE0_USEC => XX_CE_USEC,
242 CE0_MSEC => XX_CE_MSEC,
243 CLK1 => CLKS,
244 CE1_USEC => open,
245 CE1_MSEC => CES_MSEC,
246 CLK2 => open,
247 CLK3 => CLKREF,
248 LOCKED => LOCKED
249 );
250
251 -- Note: CLK0 is generated as in 'normal' systems to keep PPL/MMCM setup
252 -- as similar as possible. The CE_USEC and CE_MSEC pulses are forwarded
253 -- from the 80 MHz CLK0 domain to the 75.000 MHz MIG UI_CLK domain
254
255 CDC_CEUSEC : cdc_pulse -- provide CLK side CE_USEC
256 generic map (
257 POUT_SINGLE => true,
258 BUSY_WACK => false)
259 port map (
260 CLKM => XX_CLK,
261 RESET => '0',
262 CLKS => CLK,
263 PIN => XX_CE_USEC,
264 BUSY => open,
265 POUT => CE_USEC
266 );
267
268 CDC_CEMSEC : cdc_pulse -- provide CLK side CE_MSEC
269 generic map (
270 POUT_SINGLE => true,
271 BUSY_WACK => false)
272 port map (
273 CLKM => XX_CLK,
274 RESET => '0',
275 CLKS => CLK,
276 PIN => XX_CE_MSEC,
277 BUSY => open,
278 POUT => CE_MSEC
279 );
280
281 CDC_CLKMIG_LOCKED : cdc_signal_s1_as
282 port map (
283 CLKO => CLK100_BUF,
284 DI => LOCKED,
286 );
287
288 IOB_RS232 : bp_rs232_4line_iob -- serport iob ----------------------
289 port map (
290 CLK => CLKS,
291 RXD => RXD,
292 TXD => TXD,
293 CTS_N => CTS_N,
294 RTS_N => RTS_N,
295 I_RXD => I_RXD,
296 O_TXD => O_TXD,
297 I_CTS_N => I_CTS_N,
298 O_RTS_N => O_RTS_N
299 );
300
301 RLINK : rlink_sp2c
302 generic map (
303 BTOWIDTH => 8, -- 256 cycles, for slow mem iface
304 RTAWIDTH => 12,
305 SYSID => sysid_proj & sysid_board & sysid_vers ,
306 IFAWIDTH => 5, -- 32 word input fifo
307 OFAWIDTH => 5, -- 32 word output fifo
308 ENAPIN_RLMON => sbcntl_sbf_rlmon,
309 ENAPIN_RBMON => sbcntl_sbf_rbmon,
310 CDWIDTH => 12,
311 CDINIT => sys_conf_ser2rri_cdinit,
312 RBMON_AWIDTH => 0,
314 port map (
315 CLK => CLK,
316 CE_USEC => CE_USEC,
317 CE_MSEC => CE_MSEC,
318 CE_INT => CE_MSEC,
319 RESET => '0', -- FIXME: no RESET
320 CLKS => CLKS,
322 ENAXON => '0',
323 ESCFILL => '0',
324 RXSD => RXD,
325 TXSD => TXD,
326 CTS_N => CTS_N,
327 RTS_N => RTS_N,
328 RB_MREQ => RB_MREQ,
329 RB_SRES => RB_SRES,
330 RB_LAM => RB_LAM,
331 RB_STAT => RB_STAT,
332 RL_MONI => open,
334 );
335
336 TST : entity work.tst_mig
337 generic map (
338 RB_ADDR => slv(to_unsigned(2#0000000000000000#,16)),
339 MAWIDTH => mig_mawidth,
340 MWIDTH => mig_mwidth)
341 port map (
342 CLK => CLK,
343 CE_USEC => CE_USEC,
344 RESET => '0', -- FIXME: no RESET
345 RB_MREQ => RB_MREQ,
347 RB_STAT => RB_STAT,
350 APP_CMD => APP_CMD,
351 APP_EN => APP_EN,
359 APP_RDY => APP_RDY,
370 );
371
372 MIG_CTL: migui_nexys4d -- MIG iface -----------------
373 port map (
374 DDR2_DQ => DDR2_DQ,
375 DDR2_DQS_P => DDR2_DQS_P,
376 DDR2_DQS_N => DDR2_DQS_N,
377 DDR2_ADDR => DDR2_ADDR,
378 DDR2_BA => DDR2_BA,
379 DDR2_RAS_N => DDR2_RAS_N,
380 DDR2_CAS_N => DDR2_CAS_N,
381 DDR2_WE_N => DDR2_WE_N,
382 DDR2_CK_P => DDR2_CK_P,
383 DDR2_CK_N => DDR2_CK_N,
384 DDR2_CKE => DDR2_CKE,
385 DDR2_CS_N => DDR2_CS_N,
386 DDR2_DM => DDR2_DM,
387 DDR2_ODT => DDR2_ODT,
388 APP_ADDR => APP_ADDR,
389 APP_CMD => APP_CMD,
390 APP_EN => APP_EN,
391 APP_WDF_DATA => APP_WDF_DATA,
392 APP_WDF_END => APP_WDF_END,
393 APP_WDF_MASK => APP_WDF_MASK,
394 APP_WDF_WREN => APP_WDF_WREN,
395 APP_RD_DATA => APP_RD_DATA,
396 APP_RD_DATA_END => APP_RD_DATA_END,
397 APP_RD_DATA_VALID => APP_RD_DATA_VALID,
398 APP_RDY => APP_RDY,
399 APP_WDF_RDY => APP_WDF_RDY,
400 APP_SR_REQ => APP_SR_REQ,
401 APP_REF_REQ => APP_REF_REQ,
402 APP_ZQ_REQ => APP_ZQ_REQ,
403 APP_SR_ACTIVE => APP_SR_ACTIVE,
404 APP_REF_ACK => APP_REF_ACK,
405 APP_ZQ_ACK => APP_ZQ_ACK,
406 UI_CLK => CLK,
407 UI_CLK_SYNC_RST => MIG_UI_CLK_SYNC_RST,
408 INIT_CALIB_COMPLETE => MIG_INIT_CALIB_COMPLETE,
409 SYS_CLK_I => CLK100_BUF,
410 CLK_REF_I => CLKREF,
411 DEVICE_TEMP_I => XADC_TEMP,
412 SYS_RST => MIG_SYS_RST
413 );
414
415 MIG_SYS_RST <= (not LOCKED_CLKMIG) or I_BTN(3); -- provisional !
416
418 generic map ( -- use default INIT_ (Vccint=1.00)
419 CLK_MHZ => sys_conf_clksys_mhz,
421 port map (
422 CLK => CLK,
423 RESET => '0', -- FIXME: no RESET
424 RB_MREQ => RB_MREQ,
426 ALM => open,
427 OT => open,
428 TEMP => XADC_TEMP
429 );
430
431 UARB : rbd_usracc
432 port map (
433 CLK => CLK,
434 RB_MREQ => RB_MREQ,
436 );
437
438 RB_SRES_OR : rb_sres_or_3 -- rbus or ---------------------------
439 port map (
440 RB_SRES_1 => RB_SRES_TST,
441 RB_SRES_2 => RB_SRES_SYSMON,
442 RB_SRES_3 => RB_SRES_USRACC,
443 RB_SRES_OR => RB_SRES
444 );
445
446 proc_mon_ui_clk: process (CLK, I_BTN(3))
447 begin
448
449 if I_BTN(3) = '1' then
450 R_FLG_UI_CLK <= '1';
451 R_CNT_UI_CLK <= (others=>'0');
452 end if;
453 if rising_edge(CLK) then
454 if unsigned(R_CNT_UI_CLK) = 37500000-1 then
456 R_CNT_UI_CLK <= (others=>'0');
457 else
458 R_CNT_UI_CLK <= slv(unsigned(R_CNT_UI_CLK) + 1);
459 end if;
460 end if;
461
462 end process proc_mon_ui_clk;
463
464 proc_mon_clkref: process (CLKREF, I_BTN(3))
465 begin
466
467 if I_BTN(3) = '1' then
468 R_FLG_CLKREF <= '1';
469 R_CNT_CLKREF <= (others=>'0');
470 end if;
471 if rising_edge(CLKREF) then
472 if unsigned(R_CNT_CLKREF) = 100000000-1 then
474 R_CNT_CLKREF <= (others=>'0');
475 else
476 R_CNT_CLKREF <= slv(unsigned(R_CNT_CLKREF) + 1);
477 end if;
478 end if;
479
480 end process proc_mon_clkref;
481
482 proc_mon_clkser: process (CLKS, I_BTN(3))
483 begin
484
485 if I_BTN(3) = '1' then
486 R_FLG_CLKSER <= '1';
487 R_CNT_CLKSER <= (others=>'0');
488 end if;
489 if rising_edge(CLKS) then
490 if unsigned(R_CNT_CLKSER) = 60000000-1 then
492 R_CNT_CLKSER <= (others=>'0');
493 else
494 R_CNT_CLKSER <= slv(unsigned(R_CNT_CLKSER) + 1);
495 end if;
496 end if;
497
498 end process proc_mon_clkser;
499
500 proc_mon_xx_clk: process (XX_CLK, I_BTN(3))
501 begin
502
503 if I_BTN(3) = '1' then
504 R_FLG_XX_CLK <= '1';
505 R_CNT_XX_CLK <= (others=>'0');
506 end if;
507 if rising_edge(XX_CLK) then
508 if unsigned(R_CNT_XX_CLK) = 40000000-1 then
510 R_CNT_XX_CLK <= (others=>'0');
511 else
512 R_CNT_XX_CLK <= slv(unsigned(R_CNT_XX_CLK) + 1);
513 end if;
514 end if;
515
516 end process proc_mon_xx_clk;
517
518 RB_LAM(0) <= RB_LAM_TST;
519
520 -- LED group(0:3): rlink traffic
521 O_LED(0) <= SER_MONI.rxact;
522 O_LED(1) <= not SER_MONI.rxok;
523 O_LED(2) <= SER_MONI.txact;
524 O_LED(3) <= not SER_MONI.txok;
525
526 -- LED group(4:7) serious error conditions
527 O_LED(4) <= I_BTN(0) or not LOCKED;
528 O_LED(5) <= I_BTN(0);
529 O_LED(6) <= I_BTN(0) or MIG_UI_CLK_SYNC_RST;
530 O_LED(7) <= I_BTN(0) or not MIG_INIT_CALIB_COMPLETE;
531
532 -- LED group(8:11) for activity
533 O_LED(8) <= I_BTN(1);
534 O_LED(9) <= I_BTN(1);
535 O_LED(10) <= I_BTN(1) or not APP_RDY;
536 O_LED(11) <= I_BTN(1) or not APP_WDF_RDY;
537
538 -- LED group(12:15) for clock monitoring
539 O_LED(12) <= I_BTN(2) or R_FLG_XX_CLK;
540 O_LED(13) <= I_BTN(2) or R_FLG_CLKSER;
541 O_LED(14) <= I_BTN(2) or R_FLG_CLKREF;
542 O_LED(15) <= I_BTN(2) or R_FLG_UI_CLK;
543
544 -- RGB LEDs unused
545 O_RGBLED0 <= (others=>'0');
546 O_RGBLED1 <= (others=>'0');
547 -- 7 segment disp unused
548 O_ANO_N <= (others=>'1');
549 O_SEG_N <= (others=>'1');
550
551end syn;
in I std_ulogic
Definition: bufg_unisim.vhd:29
out O std_ulogic
Definition: bufg_unisim.vhd:27
in CLK slbit
Definition: rbd_usracc.vhd:40
in RB_MREQ rb_mreq_type
Definition: rbd_usracc.vhd:41
out RB_SRES rb_sres_type
Definition: rbd_usracc.vhd:43
Definition: rblib.vhd:32
std_logic_vector( 12 downto 0) slv13
Definition: slvtypes.vhd:45
std_logic_vector( 3 downto 0) slv4
Definition: slvtypes.vhd:36
std_logic_vector( 4 downto 0) slv5
Definition: slvtypes.vhd:37
std_logic_vector( 11 downto 0) slv12
Definition: slvtypes.vhd:44
std_logic_vector( 2 downto 0) slv3
Definition: slvtypes.vhd:35
std_logic_vector( 0 downto 0) slv1
Definition: slvtypes.vhd:33
std_logic_vector( 31 downto 0) slv32
Definition: slvtypes.vhd:59
std_logic_vector( 15 downto 0) slv16
Definition: slvtypes.vhd:48
std_logic slbit
Definition: slvtypes.vhd:30
std_logic_vector( 7 downto 0) slv8
Definition: slvtypes.vhd:40
std_logic_vector( 1 downto 0) slv2
Definition: slvtypes.vhd:34
std_logic_vector slv
Definition: slvtypes.vhd:31
slv( 25 downto 0) :=( others => '0') R_CNT_XX_CLK
slv16 := x"ffe8" rbaddr_rbmon
slv12 :=( others => '0') XADC_TEMP
slbit := '0' MIG_SYS_RST
slbit := '0' APP_SR_ACTIVE
slv32 :=( others => '0') DSP_DAT
slbit := '0' MIG_INIT_CALIB_COMPLETE
slv16 := x"0105" sysid_proj
slv16 :=( others => '0') SWI
slv4 :=( others => '0') RB_STAT
slv8 := x"08" sysid_board
rb_sres_type := rb_sres_init RB_SRES_SYSMON
slbit := '0' APP_REF_ACK
rb_mreq_type := rb_mreq_init RB_MREQ
slbit := '0' R_FLG_CLKREF
serport_moni_type := serport_moni_init SER_MONI
slbit := '0' APP_RD_DATA_VALID
slbit := '0' APP_RD_DATA_END
slv( mig_dwidth- 1 downto 0) :=( others => '0') APP_RD_DATA
slv( mig_mawidth- 1 downto 0) :=( others => '0') APP_ADDR
slbit := '0' APP_REF_REQ
slbit := '0' R_FLG_UI_CLK
slv( 25 downto 0) :=( others => '0') R_CNT_UI_CLK
rb_sres_type := rb_sres_init RB_SRES
slbit := '0' R_FLG_XX_CLK
slv3 :=( others => '0') APP_CMD
slbit := '0' LOCKED_CLKMIG
slv16 :=( others => '0') LED
slv( mig_mwidth- 1 downto 0) :=( others => '0') APP_WDF_MASK
slbit := '0' R_FLG_CLKSER
slv( 25 downto 0) :=( others => '0') R_CNT_CLKSER
slv( 26 downto 0) :=( others => '0') R_CNT_CLKREF
slbit := '0' APP_WDF_END
slv8 := x"00" sysid_vers
slbit := '0' MIG_UI_CLK_SYNC_RST
rb_sres_type := rb_sres_init RB_SRES_TST
slv8 :=( others => '0') DSP_DP
slbit := '0' APP_WDF_RDY
slv16 := x"fb00" rbaddr_sysmon
rb_sres_type := rb_sres_init RB_SRES_USRACC
slv16 :=( others => '0') RB_LAM
slbit := '0' APP_WDF_WREN
slv5 :=( others => '0') BTN
slv( mig_dwidth- 1 downto 0) :=( others => '0') APP_WDF_DATA
in I_BTNRST_N slbit
out DDR2_RAS_N slbit
inout DDR2_DQS_P slv2
inout DDR2_DQS_N slv2
inout DDR2_DQ slv16
out DDR2_WE_N slbit
out DDR2_CAS_N slbit
out DDR2_ADDR slv13
out O_RTS_N slbit
CLK_MHZ integer := 250
RB_ADDR slv16 := x"fb00"
in RB_MREQ rb_mreq_type
out RB_SRES rb_sres_type
in RESET slbit := '0'
out APP_SR_REQ slbit
Definition: tst_mig.vhd:106
in RESET slbit
Definition: tst_mig.vhd:89
MAWIDTH natural := 28
Definition: tst_mig.vhd:84
in CE_USEC slbit
Definition: tst_mig.vhd:88
MWIDTH natural := 16
Definition: tst_mig.vhd:85
in APP_WDF_RDY slbit
Definition: tst_mig.vhd:105
out APP_WDF_MASK slv( MWIDTH- 1 downto 0)
Definition: tst_mig.vhd:99
out RB_LAM slbit
Definition: tst_mig.vhd:93
in APP_RD_DATA_VALID slbit
Definition: tst_mig.vhd:103
out RB_STAT slv4
Definition: tst_mig.vhd:92
in MIG_INIT_CALIB_COMPLETE slbit
Definition: tst_mig.vhd:113
out APP_WDF_END slbit
Definition: tst_mig.vhd:98
in CLK slbit
Definition: tst_mig.vhd:87
in MIG_UI_CLK_SYNC_RST slbit
Definition: tst_mig.vhd:112
RB_ADDR slv16 := slv( to_unsigned( 2#0000000000000000#, 16) )
Definition: tst_mig.vhd:83
in APP_RD_DATA slv( 8* MWIDTH- 1 downto 0)
Definition: tst_mig.vhd:101
in APP_RDY slbit
Definition: tst_mig.vhd:104
in RB_MREQ rb_mreq_type
Definition: tst_mig.vhd:90
in APP_SR_ACTIVE slbit
Definition: tst_mig.vhd:109
out APP_REF_REQ slbit
Definition: tst_mig.vhd:107
out APP_WDF_WREN slbit
Definition: tst_mig.vhd:100
in MIG_DEVICE_TEMP_I slv12
Definition: tst_mig.vhd:115
in APP_RD_DATA_END slbit
Definition: tst_mig.vhd:102
out APP_ZQ_REQ slbit
Definition: tst_mig.vhd:108
out RB_SRES rb_sres_type
Definition: tst_mig.vhd:91
in APP_ZQ_ACK slbit
Definition: tst_mig.vhd:111
out APP_EN slbit
Definition: tst_mig.vhd:96
out APP_WDF_DATA slv( 8* MWIDTH- 1 downto 0)
Definition: tst_mig.vhd:97
out APP_ADDR slv( MAWIDTH- 1 downto 0)
Definition: tst_mig.vhd:94
in APP_REF_ACK slbit
Definition: tst_mig.vhd:110
out APP_CMD slv3
Definition: tst_mig.vhd:95
Definition: xlib.vhd:35