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