URL
https://opencores.org/ocsvn/yifive/yifive/trunk
Show entire file |
Details |
Blame |
View Log
Rev 18 |
Rev 21 |
Line 83... |
Line 83... |
if(en)
|
if(en)
|
begin
|
begin
|
if(clk_cnt == sck_half_period)
|
if(clk_cnt == sck_half_period)
|
begin
|
begin
|
spi_clk <= 1'b0;
|
spi_clk <= 1'b0;
|
spi_fall <= 1'b1;
|
end // if (clk_cnt == sck_half_period)
|
|
else if(clk_cnt == cfg_sck_period) begin
|
|
spi_clk <= 1'b1;
|
|
end
|
|
end else begin
|
|
spi_clk <= 1'b1;
|
|
end // else: !if(en)
|
|
end // else: !if(!reset_n)
|
|
end // always @ (posedge clk or negedge reset_n)
|
|
|
|
// Generate Free runnng spi_fall and rise pulse
|
|
// after en is asserted
|
|
always @(posedge clk or negedge rstn) begin
|
|
if(!rstn) begin
|
|
clk_cnt <= 'h1;
|
|
spi_fall <= 1'b0;
|
spi_rise <= 1'b0;
|
spi_rise <= 1'b0;
|
|
end // if (!reset_n)
|
|
else
|
|
begin
|
|
if(clk_cnt == sck_half_period)
|
|
begin
|
|
spi_fall <= 1'b0;
|
|
spi_rise <= 1'b1;
|
clk_cnt <= clk_cnt + 1'b1;
|
clk_cnt <= clk_cnt + 1'b1;
|
end // if (clk_cnt == sck_half_period)
|
end // if (clk_cnt == sck_half_period)
|
else begin
|
else begin
|
if(clk_cnt == cfg_sck_period)
|
if(clk_cnt == cfg_sck_period)
|
begin
|
begin
|
spi_clk <= 1'b1;
|
spi_fall <= 1'b1;
|
spi_fall <= 1'b0;
|
spi_rise <= 1'b0;
|
spi_rise <= 1'b1;
|
|
clk_cnt <= 'h1;
|
clk_cnt <= 'h1;
|
end // if (clk_cnt == cfg_sck_period)
|
end // if (clk_cnt == cfg_sck_period)
|
else
|
else
|
begin
|
begin
|
clk_cnt <= clk_cnt + 1'b1;
|
clk_cnt <= clk_cnt + 1'b1;
|
spi_fall <= 1'b0;
|
spi_fall <= 1'b0;
|
spi_rise <= 1'b0;
|
spi_rise <= 1'b0;
|
end // else: !if(clk_cnt == cfg_sck_period)
|
end // else: !if(clk_cnt == cfg_sck_period)
|
end // else: !if(clk_cnt == sck_half_period)
|
end // else: !if(clk_cnt == sck_half_period)
|
end // if (en)
|
|
else begin
|
|
clk_cnt <= 'h1;
|
|
spi_fall <= 1'b0;
|
|
spi_rise <= 1'b0;
|
|
end // else: !if(en)
|
|
end // else: !if(!reset_n)
|
end // else: !if(!reset_n)
|
end // always @ (posedge clk or negedge reset_n)
|
end // always @ (posedge clk or negedge reset_n)
|
|
|
endmodule
|
endmodule
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.