9 changed files with 432 additions and 232 deletions
-
59README.md
-
120led_test.pds
-
16source/src/output/ttl_output.v
-
247source/src/top.v
-
17source/src/zutils/zutils_multiplexer_2t1.v
-
114source/src/zutils/zutils_multiplexer_32t1.v
-
1source/src/zutils/zutils_multiplexer_4t1.v
-
36source/src/zutils/zutils_muti_debug_signal_gen.v
-
54source/src/zutils/zutils_pluse_generator.v
@ -0,0 +1,17 @@ |
|||
module zutils_multiplexer_2t1 ( |
|||
input choose, |
|||
input wire signal0, |
|||
input wire signal1, |
|||
output reg signalout |
|||
); |
|||
always @(*) begin |
|||
case (choose) |
|||
0: begin |
|||
signalout = signal0; |
|||
end |
|||
1: begin |
|||
signalout = signal1; |
|||
end |
|||
endcase |
|||
end |
|||
endmodule |
@ -0,0 +1,114 @@ |
|||
module zutils_multiplexer_32t1 ( |
|||
input [31:0] chooseindex, |
|||
input wire [31:0] signal, |
|||
output reg signalout |
|||
); |
|||
|
|||
|
|||
always @(*) begin |
|||
case (chooseindex) |
|||
0: begin |
|||
signalout = signal[0]; |
|||
end |
|||
1: begin |
|||
signalout = signal[1]; |
|||
end |
|||
2: begin |
|||
signalout = signal[2]; |
|||
end |
|||
3: begin |
|||
signalout = signal[3]; |
|||
end |
|||
4: begin |
|||
signalout = signal[4]; |
|||
end |
|||
5: begin |
|||
signalout = signal[5]; |
|||
end |
|||
6: begin |
|||
signalout = signal[6]; |
|||
end |
|||
7: begin |
|||
signalout = signal[7]; |
|||
end |
|||
8: begin |
|||
signalout = signal[8]; |
|||
end |
|||
9: begin |
|||
signalout = signal[9]; |
|||
end |
|||
10: begin |
|||
signalout = signal[10]; |
|||
end |
|||
11: begin |
|||
signalout = signal[11]; |
|||
end |
|||
12: begin |
|||
signalout = signal[12]; |
|||
end |
|||
13: begin |
|||
signalout = signal[13]; |
|||
end |
|||
14: begin |
|||
signalout = signal[14]; |
|||
end |
|||
15: begin |
|||
signalout = signal[15]; |
|||
end |
|||
|
|||
16: begin |
|||
signalout = signal[16]; |
|||
end |
|||
17: begin |
|||
signalout = signal[17]; |
|||
end |
|||
18: begin |
|||
signalout = signal[18]; |
|||
end |
|||
19: begin |
|||
signalout = signal[19]; |
|||
end |
|||
20: begin |
|||
signalout = signal[20]; |
|||
end |
|||
21: begin |
|||
signalout = signal[21]; |
|||
end |
|||
22: begin |
|||
signalout = signal[22]; |
|||
end |
|||
23: begin |
|||
signalout = signal[23]; |
|||
end |
|||
24: begin |
|||
signalout = signal[24]; |
|||
end |
|||
25: begin |
|||
signalout = signal[25]; |
|||
end |
|||
26: begin |
|||
signalout = signal[26]; |
|||
end |
|||
27: begin |
|||
signalout = signal[27]; |
|||
end |
|||
28: begin |
|||
signalout = signal[28]; |
|||
end |
|||
29: begin |
|||
signalout = signal[29]; |
|||
end |
|||
30: begin |
|||
signalout = signal[30]; |
|||
end |
|||
31: begin |
|||
signalout = signal[31]; |
|||
end |
|||
default: begin |
|||
signalout = 0; |
|||
end |
|||
endcase |
|||
end |
|||
|
|||
|
|||
endmodule |
@ -0,0 +1,36 @@ |
|||
module zutils_muti_debug_signal_gen #( |
|||
parameter SYS_CLOCK_FREQ = 50000000 |
|||
) ( |
|||
input clk, |
|||
input rst_n, |
|||
|
|||
input testflag, |
|||
|
|||
input [31:0] rawsig, |
|||
output wire [31:0] output_signal |
|||
|
|||
); |
|||
|
|||
wire [31:0] output_debug_signal; |
|||
|
|||
genvar gv_i; |
|||
generate |
|||
for (gv_i = 0; gv_i < 32; gv_i = gv_i + 1) begin |
|||
zutils_pwm_generator #( |
|||
.SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), |
|||
.OUTPUT_FREQ((gv_i + 1) * 100) |
|||
) pwm_gen ( |
|||
.clk(clk), |
|||
.rst_n(rst_n), |
|||
.output_signal(output_debug_signal[gv_i]) |
|||
); |
|||
|
|||
zutils_multiplexer_2t1 mux ( |
|||
.choose(testflag), |
|||
.signal0(rawsig[gv_i]), |
|||
.signal1(output_debug_signal[gv_i]), |
|||
.signalout(output_signal[gv_i]) |
|||
); |
|||
end |
|||
endgenerate |
|||
endmodule |
Write
Preview
Loading…
Cancel
Save
Reference in new issue