9 changed files with 432 additions and 232 deletions
-
59README.md
-
120led_test.pds
-
16source/src/output/ttl_output.v
-
245source/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