URL
https://opencores.org/ocsvn/freq_div/freq_div/trunk
[/] [freq_div/] [trunk/] [rtl/] [even.v] - Diff between revs 2 and 3
Go to most recent revision |
Only display areas with differences |
Details |
Blame |
View Log
Rev 2 |
Rev 3 |
|
|
`include "defines.v"
|
`include "defines.v"
|
|
|
module even(clk, out, P, reset, not_zero);
|
module even(clk, out, P, reset, not_zero, enable);
|
|
|
input clk;
|
input clk;
|
output out;
|
output out;
|
input [`SIZE-1:0] P;
|
input [`SIZE-1:0] P;
|
input reset;
|
input reset;
|
input not_zero;
|
input not_zero;
|
|
input enable;
|
|
|
reg [`SIZE-1:0] counter;
|
reg [`SIZE-1:0] counter;
|
reg out_counter;
|
reg out_counter;
|
wire [`SIZE-1:0] div_2;
|
wire [`SIZE-1:0] div_2;
|
|
|
|
|
assign out = (clk & !not_zero) | (out_counter & not_zero);
|
assign out = (clk & !not_zero) | (out_counter & not_zero);
|
assign div_2 = {1'b0, P[`SIZE-1:1]};
|
assign div_2 = {1'b0, P[`SIZE-1:1]};
|
|
|
always @(posedge reset or posedge clk)
|
always @(posedge reset or posedge clk)
|
begin
|
begin
|
if(reset)
|
if(reset)
|
begin
|
begin
|
counter <= 1;
|
counter <= 1;
|
out_counter <= 1;
|
out_counter <= 1;
|
end
|
end
|
else
|
else if(enable)
|
begin
|
begin
|
if(counter == 1)
|
if(counter == 1)
|
begin
|
begin
|
counter <= div_2;
|
counter <= div_2;
|
out_counter <= ~out_counter;
|
out_counter <= ~out_counter;
|
end
|
end
|
else
|
else
|
begin
|
begin
|
counter <= counter-1;
|
counter <= counter-1;
|
end
|
end
|
end
|
end
|
end
|
end
|
|
|
endmodule //even
|
endmodule //even
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.