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 ) |
created by RocketIO wizard
Definition at line 143 of file cal_block_v1_4_1.vhd.
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_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_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_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_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_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_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_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_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_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_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_2 | ( DCLK , | |
RESET ) |
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_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_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_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_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_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_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_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_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_3 | ( DCLK ) |
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_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_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_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_8 | ( DCLK ) |
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;
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;