cal_block_v1_4_1.rtl Architecture Reference

RocketIO calibration module. More...

Inheritance diagram for cal_block_v1_4_1.rtl:

Inheritance graph
[legend]
Collaboration diagram for cal_block_v1_4_1.rtl:

Collaboration graph
[legend]

List of all members.


Functions

string  ExtendString ( string_in: in string , string_len: in integer )
 extend string
boolean  StringToBool ( S: in string )
 cast string to bool

Processes

PROCESS_2  ( DCLK , RESET )
 Sync Reset.
PROCESS_3  ( DCLK )
 User Data Input.
PROCESS_4  ( DCLK )
 User DRP Address.
PROCESS_5  ( DCLK )
 User Data Write Enable.
PROCESS_6  ( DCLK )
PROCESS_7  ( DCLK )
PROCESS_8  ( DCLK )
 User Data Output.
PROCESS_9  ( DCLK )
 User Data Ready.
PROCESS_10  ( DCLK )
 Active signal to indicate a Calibration Block operation.
PROCESS_11  ( DCLK )
PROCESS_12  ( DCLK )
PROCESS_13  ( DCLK )
PROCESS_14  ( DCLK )
PROCESS_15  ( DCLK )
PROCESS_16  ( DCLK )
 GT Data Ready.
PROCESS_17  ( DCLK )
 Calibration Block (CB) FSM reset.
PROCESS_18  ( cb_state , sd_req , user_req , gt_drdy_r )
 Calibration Block (CB) FSM.
PROCESS_19  ( DCLK )
 Signal Detect Request for DRP operation.
PROCESS_20  ( DCLK )
 Indicates Signal Detect DRP Read.
PROCESS_21  ( DCLK )
 Indicates Signal Detect DRP Write.
PROCESS_22  ( DCLK )
 Signal Detect DRP Write Working Register.
PROCESS_23  ( sd_state )
 Generate DRP Addresses for Signal Detect.
PROCESS_24  ( DCLK )
 Assert when Signal Detect DRP Operation is Complete.
PROCESS_25  ( DCLK )
PROCESS_26  ( DCLK )
PROCESS_27  ( sd_state , RX_SIGNAL_DETECT , sd_drp_done )
PROCESS_28  ( DCLK )
 DRP Read/Write FSM reset.
PROCESS_29  ( drp_state , drp_rd , drp_wr , gt_drdy_r )
 DRP Read/Write FSM.

Constants

C_DRP_DWIDTH  integer := 16
C_DRP_AWIDTH  integer := 8
C_RESET  std_logic_vector ( 3 downto 0 ) := " 0001 "
C_IDLE  std_logic_vector ( 3 downto 0 ) := " 0010 "
C_SD_DRP_OP  std_logic_vector ( 3 downto 0 ) := " 0100 "
C_USER_DRP_OP  std_logic_vector ( 3 downto 0 ) := " 1000 "
C_DRP_IDLE  std_logic_vector ( 4 downto 0 ) := " 00001 "
C_DRP_READ  std_logic_vector ( 4 downto 0 ) := " 00010 "
C_DRP_WRITE  std_logic_vector ( 4 downto 0 ) := " 00100 "
C_DRP_WAIT  std_logic_vector ( 4 downto 0 ) := " 01000 "
C_DRP_COMPLETE  std_logic_vector ( 4 downto 0 ) := " 10000 "
C_SD_IDLE  std_logic_vector ( 13 downto 0 ) := " 00000000000001 "
C_SD_RD_PT_ON  std_logic_vector ( 13 downto 0 ) := " 00000000000010 "
C_SD_MD_PT_ON  std_logic_vector ( 13 downto 0 ) := " 00000000000100 "
C_SD_WR_PT_ON  std_logic_vector ( 13 downto 0 ) := " 00000000001000 "
C_SD_RD_RXDIGRX_ON  std_logic_vector ( 13 downto 0 ) := " 00000000010000 "
C_SD_MD_RXDIGRX_ON  std_logic_vector ( 13 downto 0 ) := " 00000000100000 "
C_SD_WR_RXDIGRX_ON  std_logic_vector ( 13 downto 0 ) := " 00000001000000 "
C_SD_WAIT  std_logic_vector ( 13 downto 0 ) := " 00000010000000 "
C_SD_RD_RXDIGRX_RESTORE  std_logic_vector ( 13 downto 0 ) := " 00000100000000 "
C_SD_MD_RXDIGRX_RESTORE  std_logic_vector ( 13 downto 0 ) := " 00001000000000 "
C_SD_WR_RXDIGRX_RESTORE  std_logic_vector ( 13 downto 0 ) := " 00010000000000 "
C_SD_RD_PT_OFF  std_logic_vector ( 13 downto 0 ) := " 00100000000000 "
C_SD_MD_PT_OFF  std_logic_vector ( 13 downto 0 ) := " 01000000000000 "
C_SD_WR_PT_OFF  std_logic_vector ( 13 downto 0 ) := " 10000000000000 "
C_MGTA_RX_DIGRX_ADDR  std_logic_vector ( 7 downto 0 ) := " 01111101 "
C_MGTA_TX_PT_ADDR  std_logic_vector ( 7 downto 0 ) := " 01001100 "
C_MGTB_RX_DIGRX_ADDR  std_logic_vector ( 7 downto 0 ) := " 01011001 "
C_MGTB_TX_PT_ADDR  std_logic_vector ( 7 downto 0 ) := " 01001110 "

Signals

reset_r  std_logic_vector ( 1 downto 0 )
user_di_r  std_logic_vector ( C_DRP_DWIDTH-1 downto 0 ) := ( others = > ' 0 ' )
user_daddr_r  std_logic_vector ( C_DRP_AWIDTH-3 downto 0 )
user_den_r  std_logic
user_req  std_logic
user_dwe_r  std_logic
user_drdy_i  std_logic
gt_drdy_r  std_logic := ' 0 '
gt_do_r  std_logic_vector ( C_DRP_DWIDTH-1 downto 0 ) := ( others = > ' 0 ' )
rxdigrx_cache  std_logic
txpost_tap_pd_cache  std_logic
gt_do_r_sel  std_logic_vector ( 2 downto 0 )
gt_daddr_sel  std_logic_vector ( 2 downto 0 )
c_rx_digrx_addr  std_logic_vector ( C_DRP_AWIDTH-1 downto 0 )
c_tx_pt_addr  std_logic_vector ( C_DRP_AWIDTH-1 downto 0 )
c_txpost_tap_pd_bin  std_logic
c_rxdigrx_bin  std_logic
user_sel  std_logic
sd_sel  std_logic
sd_req  std_logic := ' 0 '
sd_read  std_logic := ' 0 '
sd_write  std_logic := ' 0 '
sd_drp_done  std_logic := ' 0 '
sd_wr_wreg  std_logic_vector ( C_DRP_DWIDTH-1 downto 0 ) := ( others = > ' 0 ' )
sd_addr_r  std_logic_vector ( C_DRP_AWIDTH-3 downto 0 )
drp_rd  std_logic
drp_wr  std_logic
cb_state  std_logic_vector ( 3 downto 0 )
cb_next_state  std_logic_vector ( 3 downto 0 )
drp_state  std_logic_vector ( 4 downto 0 )
drp_next_state  std_logic_vector ( 4 downto 0 )
sd_state  std_logic_vector ( 13 downto 0 )
sd_next_state  std_logic_vector ( 13 downto 0 )


Detailed Description

RocketIO calibration module.

created by RocketIO wizard

Definition at line 143 of file cal_block_v1_4_1.vhd.


Member Function Documentation

[Function]
string ExtendString ( string_in in string ,
string_len in integer )

extend string

Definition at line 149 of file cal_block_v1_4_1.vhd.

00149   function ExtendString (string_in  : string;
00150                          string_len : integer) 
00151     return string is
00152     variable string_out : string(1 to string_len) := (others => ' ');
00153 
00154   begin
00155     if string_in'length > string_len then
00156       string_out := string_in(1 to string_len);
00157     else
00158       string_out(1 to string_in'length) := string_in;
00159     end if;
00160     return string_out;
00161   end ExtendString;

[Process]
PROCESS_10 ( DCLK )

Active signal to indicate a Calibration Block operation.

Definition at line 411 of file cal_block_v1_4_1.vhd.

00411   process (DCLK)
00412   begin
00413     if (rising_edge(DCLK)) then
00414       if (cb_state = C_RESET) then
00415         ACTIVE <= '0';
00416       else
00417         if ((not (cb_state = C_IDLE)) and
00418             (not (cb_state = C_USER_DRP_OP))) then
00419           ACTIVE <= '1';
00420         else
00421           ACTIVE <= '0';
00422         end if;
00423       end if;
00424     end if;
00425   end process;

[Process]
PROCESS_11 ( DCLK )

Storing the value of RXDIGRX. The value is written from the default parameter upon reset or when the user writes to DRP register in those bits location.

Definition at line 430 of file cal_block_v1_4_1.vhd.

00430   process (DCLK)
00431   begin
00432     if (rising_edge(DCLK)) then
00433       if (reset_r(0) = '1') then
00434         rxdigrx_cache <= c_rxdigrx_bin;
00435       elsif ((drp_state = C_DRP_WRITE) and
00436              (cb_state = C_USER_DRP_OP) and
00437              (user_daddr_r(5 downto 0) = c_rx_digrx_addr(5 downto 0))) then
00438         rxdigrx_cache <= user_di_r(1);
00439       end if;
00440     end if;
00441   end process;

[Process]
PROCESS_12 ( DCLK )

Storing the value of TXPOST_TAP_PD. The value is written from the default parameter upon reset or when the user writes to DRP register in those bits location.

Definition at line 446 of file cal_block_v1_4_1.vhd.

00446   process (DCLK)
00447   begin
00448     if (rising_edge(DCLK)) then
00449       if (reset_r(0) = '1') then
00450         txpost_tap_pd_cache <= c_txpost_tap_pd_bin;
00451       elsif ((drp_state = C_DRP_WRITE) and
00452              (cb_state = C_USER_DRP_OP) and
00453              (user_daddr_r(5 downto 0) = c_tx_pt_addr(5 downto 0))) then
00454         txpost_tap_pd_cache <= user_di_r(12);
00455       end if;
00456     end if;
00457   end process;

[Process]
PROCESS_13 ( DCLK )

GT Data Output: the data output is generated either from a Signal Detect FSM operation or a user access.

Definition at line 465 of file cal_block_v1_4_1.vhd.

00465   process (DCLK)
00466   begin
00467     if (rising_edge(DCLK)) then
00468 
00469       if (gt_do_r_sel(2) = '1') then
00470         gt_do_r <= sd_wr_wreg;
00471       elsif (gt_do_r_sel = "001") then
00472         gt_do_r <= user_di_r;
00473       else
00474         null;
00475       end if;
00476 
00477     end if;
00478   end process;

[Process]
PROCESS_14 ( DCLK )

GT DRP Address: the DRP address is generated either from a Signal Detect FSM operation, or a user access. DRP address ranges from 0x40 to 0x7F.

Definition at line 485 of file cal_block_v1_4_1.vhd.

00485   process (DCLK)
00486   begin
00487     if (rising_edge(DCLK)) then
00488 
00489       if (gt_daddr_sel(2) = '1') then
00490         GT_DADDR(5 downto 0) <= sd_addr_r(5 downto 0);
00491       elsif (gt_daddr_sel = "001") then
00492         GT_DADDR(5 downto 0) <= user_daddr_r(5 downto 0);
00493       else
00494         null;
00495       end if;
00496 
00497       GT_DADDR(7 downto 6) <= "01";
00498 
00499     end if;
00500   end process;

[Process]
PROCESS_15 ( DCLK )

GT Data Enable: the data enable is generated whenever there is a DRP Read or a DRP Write

Definition at line 504 of file cal_block_v1_4_1.vhd.

00504   process (DCLK)
00505   begin
00506     if (rising_edge(DCLK)) then
00507       if (reset_r(0) = '1') then
00508         GT_DEN <= '0';
00509       else
00510         if ((drp_state = C_DRP_IDLE) and
00511             ((drp_wr = '1') or (drp_rd = '1'))) then
00512           GT_DEN <= '1';
00513         else
00514           GT_DEN <= '0';
00515         end if;
00516       end if;
00517     end if;
00518   end process;

[Process]
PROCESS_16 ( DCLK )

GT Data Ready.

Definition at line 524 of file cal_block_v1_4_1.vhd.

00524   process (DCLK)
00525   begin
00526     if (rising_edge(DCLK)) then
00527       gt_drdy_r <= GT_DRDY;
00528     end if;
00529   end process;

[Process]
PROCESS_17 ( DCLK )

Calibration Block (CB) FSM reset.

Definition at line 540 of file cal_block_v1_4_1.vhd.

00540   process (DCLK)
00541   begin
00542     if (rising_edge(DCLK)) then
00543       if (reset_r(0) = '1') then
00544         cb_state <= C_RESET;
00545       else
00546         cb_state <= cb_next_state;
00547       end if;
00548     end if;
00549   end process;

[Process]
PROCESS_18 ( cb_state ,
sd_req ,
user_req ,
gt_drdy_r )

Calibration Block (CB) FSM.

Definition at line 552 of file cal_block_v1_4_1.vhd.

00552   process (cb_state, sd_req, user_req, gt_drdy_r)
00553     variable cb_fsm_name : string(1 to 25);
00554   begin
00555     case cb_state is
00556 
00557       when C_RESET =>
00558 
00559         cb_next_state <= C_IDLE;
00560         cb_fsm_name   := ExtendString("C_RESET", 25);
00561 
00562       when C_IDLE =>
00563 
00564         if (sd_req = '1') then
00565           cb_next_state <= C_SD_DRP_OP;
00566         elsif (user_req = '1') then
00567           cb_next_state <= C_USER_DRP_OP;
00568         else
00569           cb_next_state <= C_IDLE;
00570         end if;
00571 
00572         cb_fsm_name := ExtendString("C_IDLE", 25);
00573 
00574       when C_SD_DRP_OP =>
00575 
00576         if (gt_drdy_r = '1') then
00577           cb_next_state <= C_IDLE;
00578         else
00579           cb_next_state <= C_SD_DRP_OP;
00580         end if;
00581 
00582         cb_fsm_name := ExtendString("C_SD_DRP_OP", 25);
00583 
00584       when C_USER_DRP_OP =>
00585 
00586         if (gt_drdy_r = '1') then
00587           cb_next_state <= C_IDLE;
00588         else
00589           cb_next_state <= C_USER_DRP_OP;
00590         end if;
00591 
00592         cb_fsm_name := ExtendString("C_USER_DRP_OP", 25);
00593 
00594       when others =>
00595 
00596         cb_next_state <= C_IDLE;
00597         cb_fsm_name   := ExtendString("default", 25);
00598 
00599     end case;
00600   end process;

[Process]
PROCESS_19 ( DCLK )

Signal Detect Request for DRP operation.

Definition at line 606 of file cal_block_v1_4_1.vhd.

00606   process (DCLK)
00607   begin
00608     if (rising_edge(DCLK)) then
00609       if ((sd_state = C_SD_IDLE) or (sd_drp_done = '1')) then
00610         sd_req <= '0';
00611       else
00612         sd_req <= sd_read or sd_write;
00613       end if;
00614     end if;
00615   end process;

[Process]
PROCESS_2 ( DCLK ,
RESET )

Sync Reset.

Definition at line 302 of file cal_block_v1_4_1.vhd.

00302   process (DCLK, RESET)
00303   begin
00304     if (RESET = '1') then
00305       reset_r <= "11";
00306     elsif (rising_edge(DCLK)) then
00307       reset_r <= '0' & reset_r(1);
00308     end if;
00309   end process;

[Process]
PROCESS_20 ( DCLK )

Indicates Signal Detect DRP Read.

Definition at line 618 of file cal_block_v1_4_1.vhd.

00618   process (DCLK)
00619   begin
00620     if (rising_edge(DCLK)) then
00621       if ((sd_state = C_SD_IDLE) or (sd_drp_done = '1')) then
00622         sd_read <= '0';
00623       else
00624         if ((sd_state = C_SD_RD_PT_ON) or
00625             (sd_state = C_SD_RD_RXDIGRX_ON) or
00626             (sd_state = C_SD_RD_RXDIGRX_RESTORE) or
00627             (sd_state = C_SD_RD_PT_OFF)) then  
00628           sd_read <= '1';
00629         else
00630           sd_read <= '0';
00631         end if;
00632       end if;
00633     end if;
00634   end process;

[Process]
PROCESS_21 ( DCLK )

Indicates Signal Detect DRP Write.

Definition at line 637 of file cal_block_v1_4_1.vhd.

00637   process (DCLK)
00638   begin
00639     if (rising_edge(DCLK)) then
00640       if ((sd_state = C_SD_IDLE) or (sd_drp_done = '1')) then
00641         sd_write <= '0';
00642       else
00643         if ((sd_state = C_SD_WR_PT_ON) or
00644             (sd_state = C_SD_WR_RXDIGRX_ON) or
00645             (sd_state = C_SD_WR_RXDIGRX_RESTORE) or
00646             (sd_state = C_SD_WR_PT_OFF)) then  
00647           sd_write <= '1';
00648         else
00649           sd_write <= '0';
00650         end if;
00651       end if;
00652     end if;
00653   end process;

[Process]
PROCESS_22 ( DCLK )

Signal Detect DRP Write Working Register.

Definition at line 656 of file cal_block_v1_4_1.vhd.

00656   process (DCLK)
00657   begin
00658     if (rising_edge(DCLK)) then
00659       if ((cb_state = C_SD_DRP_OP) and (sd_read = '1') and (GT_DRDY = '1')) then
00660         sd_wr_wreg <= GT_DI;
00661       else
00662         case sd_state is
00663 
00664           when C_SD_MD_PT_ON =>
00665             sd_wr_wreg <= sd_wr_wreg(15 downto 13) & '0' &
00666                           sd_wr_wreg(11 downto 0);
00667           when C_SD_MD_RXDIGRX_ON =>
00668             sd_wr_wreg <= sd_wr_wreg(15 downto 2) & '1' & sd_wr_wreg(0);
00669           when C_SD_MD_RXDIGRX_RESTORE =>
00670             sd_wr_wreg <= sd_wr_wreg(15 downto 2) & rxdigrx_cache &
00671                           sd_wr_wreg(0);
00672           when C_SD_MD_PT_OFF =>
00673             sd_wr_wreg <= sd_wr_wreg(15 downto 13) & txpost_tap_pd_cache &
00674                           sd_wr_wreg(11 downto 0);
00675           when others =>
00676             null;
00677         end case;
00678       end if;
00679     end if;
00680   end process;

[Process]
PROCESS_23 ( sd_state )

Generate DRP Addresses for Signal Detect.

Definition at line 683 of file cal_block_v1_4_1.vhd.

00683   process (sd_state)
00684   begin
00685     case sd_state is
00686       when C_SD_RD_PT_ON =>
00687         sd_addr_r(5 downto 0) <= c_tx_pt_addr(5 downto 0);
00688       when C_SD_WR_PT_ON =>
00689         sd_addr_r(5 downto 0) <= c_tx_pt_addr(5 downto 0);
00690       when C_SD_RD_PT_OFF =>
00691         sd_addr_r(5 downto 0) <= c_tx_pt_addr(5 downto 0);
00692       when C_SD_WR_PT_OFF =>
00693         sd_addr_r(5 downto 0) <= c_tx_pt_addr(5 downto 0);
00694       when C_SD_RD_RXDIGRX_ON =>
00695         sd_addr_r(5 downto 0) <= c_rx_digrx_addr(5 downto 0);
00696       when C_SD_WR_RXDIGRX_ON =>
00697         sd_addr_r(5 downto 0) <= c_rx_digrx_addr(5 downto 0);
00698       when C_SD_RD_RXDIGRX_RESTORE =>
00699         sd_addr_r(5 downto 0) <= c_rx_digrx_addr(5 downto 0);
00700       when C_SD_WR_RXDIGRX_RESTORE =>
00701         sd_addr_r(5 downto 0) <= c_rx_digrx_addr(5 downto 0);
00702       when others =>
00703         sd_addr_r(5 downto 0) <= c_tx_pt_addr(5 downto 0);
00704     end case;
00705   end process;

[Process]
PROCESS_24 ( DCLK )

Assert when Signal Detect DRP Operation is Complete.

Definition at line 708 of file cal_block_v1_4_1.vhd.

00708   process (DCLK)
00709   begin
00710     if (rising_edge(DCLK)) then
00711       if ((GT_DRDY = '1') and (cb_state = C_SD_DRP_OP)) then
00712         sd_drp_done <= '1';
00713       else
00714         sd_drp_done <= '0';
00715       end if;
00716     end if;
00717   end process;

[Process]
PROCESS_25 ( DCLK )

GT_LOOPBACK, GT_TXENC8B10BUSE and GT_TXBYPASS8B10B Switch the GT11 to serial loopback mode and enable 8B10B when the Signal Detect is Low.

Definition at line 722 of file cal_block_v1_4_1.vhd.

00722   process (DCLK)
00723   begin
00724     if (rising_edge(DCLK)) then
00725       if (reset_r(0) = '1') then
00726         GT_LOOPBACK <= "00";
00727       elsif (RX_SIGNAL_DETECT = '0') then
00728         GT_LOOPBACK <= "11";
00729       else
00730         GT_LOOPBACK <= USER_LOOPBACK;
00731       end if;
00732     end if;
00733   end process;

[Process]
PROCESS_26 ( DCLK )

Signal Detect Block FSM: The SD FSM is triggered when RX_SIGNAL_DETECT goes Low

Definition at line 743 of file cal_block_v1_4_1.vhd.

00743   process (DCLK)
00744   begin
00745     if (rising_edge(DCLK)) then
00746       if (reset_r(0) = '1') then
00747         sd_state <= C_SD_IDLE;
00748       else
00749         sd_state <= sd_next_state;
00750       end if;
00751     end if;
00752   end process;

[Process]
PROCESS_28 ( DCLK )

DRP Read/Write FSM reset.

Definition at line 901 of file cal_block_v1_4_1.vhd.

00901   process (DCLK)
00902   begin
00903     if (rising_edge(DCLK)) then
00904       if (reset_r(0) = '1') then
00905         drp_state <= C_DRP_IDLE;
00906       else
00907         drp_state <= drp_next_state;
00908       end if;
00909     end if;
00910   end process;

[Process]
PROCESS_29 ( drp_state ,
drp_rd ,
drp_wr ,
gt_drdy_r )

DRP Read/Write FSM.

Definition at line 913 of file cal_block_v1_4_1.vhd.

00913   process (drp_state, drp_rd, drp_wr, gt_drdy_r)
00914     variable drp_fsm_name : string(1 to 25);
00915   begin
00916     case drp_state is
00917       when C_DRP_IDLE =>
00918 
00919         if (drp_wr = '1') then
00920           drp_next_state <= C_DRP_WRITE;
00921         else
00922           if (drp_rd = '1') then
00923             drp_next_state <= C_DRP_READ;
00924           else
00925             drp_next_state <= C_DRP_IDLE;
00926           end if;
00927         end if;
00928 
00929         drp_fsm_name := ExtendString("C_DRP_IDLE", 25);
00930 
00931       when C_DRP_READ =>
00932 
00933         drp_next_state <= C_DRP_WAIT;
00934         drp_fsm_name   := ExtendString("C_DRP_READ", 25);
00935 
00936       when C_DRP_WRITE =>
00937 
00938         drp_next_state <= C_DRP_WAIT;
00939         drp_fsm_name   := ExtendString("C_DRP_WRITE", 25);
00940 
00941       when C_DRP_WAIT =>
00942 
00943         if (gt_drdy_r = '1') then
00944           drp_next_state <= C_DRP_COMPLETE;
00945         else
00946           drp_next_state <= C_DRP_WAIT;
00947         end if;
00948 
00949         drp_fsm_name := ExtendString("C_DRP_WAIT", 25);
00950 
00951       when C_DRP_COMPLETE =>
00952 
00953         drp_next_state <= C_DRP_IDLE;
00954         drp_fsm_name   := ExtendString("C_DRP_COMPLETE", 25);
00955 
00956       when others =>
00957         drp_next_state <= C_DRP_IDLE;
00958         drp_fsm_name   := ExtendString("default", 25);
00959 
00960     end case;
00961   end process;

[Process]
PROCESS_3 ( DCLK )

User Data Input.

Definition at line 315 of file cal_block_v1_4_1.vhd.

00315   process (DCLK)
00316   begin
00317     if (rising_edge(DCLK)) then
00318       if (USER_DEN = '1') then
00319         user_di_r <= USER_DI;
00320       end if;
00321     end if;
00322   end process;

[Process]
PROCESS_4 ( DCLK )

User DRP Address.

Definition at line 325 of file cal_block_v1_4_1.vhd.

00325   process (DCLK)
00326   begin
00327     if (rising_edge(DCLK)) then
00328       if (USER_DEN = '1') then
00329         user_daddr_r <= USER_DADDR(C_DRP_AWIDTH-3 downto 0);
00330       end if;
00331     end if;
00332   end process;

[Process]
PROCESS_5 ( DCLK )

User Data Write Enable.

Definition at line 335 of file cal_block_v1_4_1.vhd.

00335   process (DCLK)
00336   begin
00337     if (rising_edge(DCLK)) then
00338       if (reset_r(0) = '1') then
00339         user_dwe_r <= '0';
00340       elsif (USER_DEN = '1') then
00341         user_dwe_r <= USER_DWE;
00342       end if;
00343     end if;
00344   end process;

[Process]
PROCESS_6 ( DCLK )

Register the user_den_r when the user is granted access from the Arbitration FSM

Definition at line 348 of file cal_block_v1_4_1.vhd.

00348   process (DCLK)
00349   begin
00350     if (rising_edge(DCLK)) then
00351       if ((reset_r(0) = '1') or
00352           (cb_state = C_USER_DRP_OP) or
00353           ((USER_DADDR(7) = '1') or (USER_DADDR(6) = '0'))) then
00354         user_den_r <= '0';
00355       elsif (user_den_r = '0') then
00356         user_den_r <= USER_DEN;
00357       end if;
00358     end if;
00359   end process;

[Process]
PROCESS_7 ( DCLK )

Generate the user request (user_req) signal when the user is not accessing the same DRP addresses as the Calibration Block or when the Calibration Block is in idle, reset, or wait states.

Definition at line 364 of file cal_block_v1_4_1.vhd.

00364   process (DCLK)
00365   begin
00366     if (rising_edge(DCLK)) then
00367       if ((reset_r(0) = '1') or (cb_state = C_USER_DRP_OP)) then
00368 
00369         user_req <= '0';
00370 
00371       elsif (
00372         (not(user_daddr_r(5 downto 0) = c_rx_digrx_addr(5 downto 0))) and
00373         (not(user_daddr_r(5 downto 0) = c_tx_pt_addr(5 downto 0)))
00374         ) then
00375 
00376         user_req <= user_den_r;
00377 
00378       elsif ((sd_state = C_SD_IDLE) or (sd_state = C_SD_WAIT)) then
00379 
00380         user_req <= user_den_r;
00381 
00382       end if;
00383     end if;
00384   end process;

[Process]
PROCESS_8 ( DCLK )

User Data Output.

Definition at line 387 of file cal_block_v1_4_1.vhd.

00387   process (DCLK)
00388   begin
00389     if (rising_edge(DCLK)) then
00390       if ((cb_state = C_USER_DRP_OP) and (GT_DRDY = '1')) then
00391         USER_DO <= GT_DI;
00392       end if;
00393     end if;
00394   end process;

[Process]
PROCESS_9 ( DCLK )

User Data Ready.

Definition at line 397 of file cal_block_v1_4_1.vhd.

00397   process (DCLK)
00398   begin
00399     if (rising_edge(DCLK)) then
00400       if ((reset_r(0) = '1') or (user_drdy_i = '1')) then
00401         user_drdy_i <= '0';
00402       elsif (cb_state = C_USER_DRP_OP) then
00403         user_drdy_i <= GT_DRDY;
00404       end if;
00405     end if;
00406   end process;

[Function]
boolean StringToBool ( S in string )

cast string to bool

Definition at line 164 of file cal_block_v1_4_1.vhd.

00164   function StringToBool (S : string) return boolean is
00165   begin
00166     if (ExtendString(S, 5) = "TRUE ") then
00167       return true;
00168     elsif (ExtendString(S, 5) = "FALSE") then
00169       return false;
00170     else
00171       return false;
00172     end if;
00173   end function StringToBool;


The documentation for this class was generated from the following file:

Author: M.Niegl
Generated on Tue Nov 4 00:49:14 2008 for BCM-AAA by doxygen 1.5.7.1-20081012