URL
https://opencores.org/ocsvn/sgmii/sgmii/trunk
Show entire file |
Details |
Blame |
View Log
Rev 9 |
Rev 20 |
Line 85... |
Line 85... |
|
|
// rinit state bit, triggered by spulse, waits while rhold = 1
|
// rinit state bit, triggered by spulse, waits while rhold = 1
|
assign rinit_next = spulse | (rinit & (rhold | ~rdonei | rdpulse)) | timed_reset_in_progress;
|
assign rinit_next = spulse | (rinit & (rhold | ~rdonei | rdpulse)) | timed_reset_in_progress;
|
always @(posedge clock or posedge aclr)
|
always @(posedge clock or posedge aclr)
|
if (aclr == 1'b1)
|
if (aclr == 1'b1)
|
rinit <= 0;
|
rinit <= 1;
|
else
|
else
|
rinit <= rinit_next;
|
rinit <= rinit_next;
|
|
|
// optional internal 'rdone' generation logic, if rdone_is_edge_sensitive==1
|
// optional internal 'rdone' generation logic, if rdone_is_edge_sensitive==1
|
generate
|
generate
|
Line 174... |
Line 174... |
|
|
if (reset_hold_cycles == 1)
|
if (reset_hold_cycles == 1)
|
// a single-cycle reset pulse needs 1 register
|
// a single-cycle reset pulse needs 1 register
|
always @(posedge clock or posedge aclr)
|
always @(posedge clock or posedge aclr)
|
if (aclr == 1'b1)
|
if (aclr == 1'b1)
|
zspulse <= 0;
|
zspulse <= 1;
|
else
|
else
|
zspulse <= spulse;
|
zspulse <= spulse;
|
else begin
|
else begin
|
// multi-cycle reset pulse needs a counter
|
// multi-cycle reset pulse needs a counter
|
always @(posedge clock or posedge aclr)
|
always @(posedge clock or posedge aclr)
|
begin
|
begin
|
if (aclr == 1'b1)
|
if (aclr == 1'b1)
|
zspulse <= 0;
|
zspulse <= {rhc_bits + 1 { 1'b1}};
|
else if (spulse == 1)
|
else if (spulse == 1)
|
zspulse <= rhc_load_constant[rhc_bits:0];
|
zspulse <= rhc_load_constant[rhc_bits:0];
|
else if (zspulse[rhc_bits] == 1)
|
else if (zspulse[rhc_bits] == 1)
|
zspulse <= zspulse - 1'b1;
|
zspulse <= zspulse - 1'b1;
|
end
|
end
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.