Line 5... |
Line 5... |
//
|
//
|
// $RCSfile: altera_tse_pcs_pma_gige.v,v $
|
// $RCSfile: altera_tse_pcs_pma_gige.v,v $
|
// $Source: /ipbu/cvs/sio/projects/TriSpeedEthernet/src/RTL/Top_level_modules/altera_tse_pcs_pma_gige.v,v $
|
// $Source: /ipbu/cvs/sio/projects/TriSpeedEthernet/src/RTL/Top_level_modules/altera_tse_pcs_pma_gige.v,v $
|
//
|
//
|
// $Revision: #1 $
|
// $Revision: #1 $
|
// $Date: 2011/11/10 $
|
// $Date: 2012/06/21 $
|
// Check in by : $Author: max $
|
// Check in by : $Author: swbranch $
|
// Author : Arul Paniandi
|
// Author : Arul Paniandi
|
//
|
//
|
// Project : Triple Speed Ethernet
|
// Project : Triple Speed Ethernet
|
//
|
//
|
// Description :
|
// Description :
|
Line 311... |
Line 311... |
defparam
|
defparam
|
altera_tse_top_1000_base_x_strx_gx_inst.PHY_IDENTIFIER = PHY_IDENTIFIER,
|
altera_tse_top_1000_base_x_strx_gx_inst.PHY_IDENTIFIER = PHY_IDENTIFIER,
|
altera_tse_top_1000_base_x_strx_gx_inst.DEV_VERSION = DEV_VERSION,
|
altera_tse_top_1000_base_x_strx_gx_inst.DEV_VERSION = DEV_VERSION,
|
altera_tse_top_1000_base_x_strx_gx_inst.ENABLE_SGMII = ENABLE_SGMII;
|
altera_tse_top_1000_base_x_strx_gx_inst.ENABLE_SGMII = ENABLE_SGMII;
|
|
|
//Resets the Reset Sequencer for the rising edge of Reset signal
|
|
// ---------------------------------------------------------------
|
// Based on PHYIP , when user assert reset - it hold the reset sequencer block in reset.
|
reg reset_p1, reset_p2;
|
// , reset sequencing only start then reset_sequnece end.
|
reg reset_posedge;
|
wire reset_sync;
|
always@(posedge clk)
|
reg reset_start;
|
begin
|
|
reset_p1 <= reset;
|
altera_tse_reset_synchronizer reset_sync_u0 (
|
reset_p2 <= reset_p1;
|
.clk(clk),
|
reset_posedge <= reset_p1 & ~reset_p2;
|
.reset_in(reset),
|
|
.reset_out(reset_sync)
|
|
);
|
|
|
|
always@(posedge clk or posedge reset_sync) begin
|
|
if (reset_sync) begin
|
|
reset_start <= 1'b1;
|
|
end
|
|
else begin
|
|
reset_start <= 1'b0;
|
end
|
end
|
|
end
|
|
|
|
|
// Export powerdown signal or wire it internally
|
// Export powerdown signal or wire it internally
|
// ---------------------------------------------
|
// ---------------------------------------------
|
reg data_in_d1,gxb_pwrdn_in_sig_clk;
|
reg data_in_d1,gxb_pwrdn_in_sig_clk;
|
generate if (EXPORT_PWRDN == 1)
|
generate if (EXPORT_PWRDN == 1)
|
Line 356... |
Line 367... |
// ----------------------------------------
|
// ----------------------------------------
|
// ALTGX Reset Sequencer
|
// ALTGX Reset Sequencer
|
altera_tse_reset_sequencer altera_tse_reset_sequencer_inst(
|
altera_tse_reset_sequencer altera_tse_reset_sequencer_inst(
|
// User inputs and outputs
|
// User inputs and outputs
|
.clock(clk),
|
.clock(clk),
|
.reset_all(reset | gxb_pwrdn_in_sig_clk),
|
.reset_all(reset_start | gxb_pwrdn_in_sig_clk),
|
//.reset_tx_digital(reset_ref_clk),
|
//.reset_tx_digital(reset_ref_clk),
|
//.reset_rx_digital(reset_ref_clk),
|
//.reset_rx_digital(reset_ref_clk),
|
.powerdown_all(reset_posedge),
|
.powerdown_all(reset_sync),
|
.tx_ready(), // output
|
.tx_ready(), // output
|
.rx_ready(), // output
|
.rx_ready(), // output
|
// I/O transceiver and status
|
// I/O transceiver and status
|
.pll_powerdown(pll_powerdown_sqcnr),// output
|
.pll_powerdown(pll_powerdown_sqcnr),// output
|
.tx_digitalreset(tx_digitalreset_sqcnr),// output
|
.tx_digitalreset(tx_digitalreset_sqcnr),// output
|