forked from p_lusterinc_xsync/xsync_fpge
8 changed files with 153 additions and 130 deletions
-
110led_test.pds
-
1source/src/config.v
-
6source/src/internal/internal_clock_generator.v
-
3source/src/internal/internal_genlock_generator.v
-
57source/src/internal/internal_sig_generator_en_contrler.v
-
4source/src/internal/internal_timecode_generator.v
-
40source/src/spi_reg_bus.v
-
62source/src/top.v
@ -0,0 +1,57 @@ |
|||
`include "../config.v" |
|||
module internal_sig_generator_en_contrler #( |
|||
parameter REG_START_ADD = 0, |
|||
parameter SYS_CLOCK_FREQ = 10000000 |
|||
) ( |
|||
|
|||
input clk, //! 时钟输入 |
|||
input rst_n, //! 复位输入 |
|||
|
|||
input [31:0] addr, //! 寄存器地址 |
|||
input [31:0] wr_data, //! 写入数据 |
|||
input wr_en, //! 写使能 |
|||
output wire [31:0] rd_data, //! 读出数据 |
|||
|
|||
output en0, |
|||
output en1, |
|||
output en2 |
|||
|
|||
); |
|||
|
|||
reg [31:0] r1_en; //!使能控制 |
|||
wire [31:0] reg_wr_index; |
|||
|
|||
zutils_register_advanced #( |
|||
.REG_START_ADD(REG_START_ADD) |
|||
) _register ( |
|||
.clk (clk), |
|||
.rst_n (rst_n), |
|||
.addr (addr), |
|||
.wr_data (wr_data), |
|||
.wr_en (wr_en), |
|||
.rd_data (rd_data), |
|||
.reg1 (r1_en), |
|||
.reg_wr_sig(reg_wr_sig), |
|||
.reg_index (reg_wr_index) |
|||
); |
|||
|
|||
always @(posedge clk or negedge rst_n) begin |
|||
if (!rst_n) begin |
|||
r1_en <= 0; |
|||
end else begin |
|||
if (reg_wr_sig) begin |
|||
case (reg_wr_index) |
|||
1: r1_en <= wr_data; |
|||
default: begin |
|||
end |
|||
endcase |
|||
end |
|||
end |
|||
end |
|||
|
|||
assign en0 = r1_en[0]; |
|||
assign en1 = r1_en[1]; |
|||
assign en2 = r1_en[2]; |
|||
|
|||
|
|||
endmodule |
Write
Preview
Loading…
Cancel
Save
Reference in new issue