FPGA实验三——计数器、波形仿真、SignalTap

1. 设计一个 0-17 的计数器

实验要求:当计数值为17的时候,OV输出1,其他输出0

① 例化子模块(Verilog HDL代码)

module ADD_17(clk,OUT,OV);
input clk;
output reg [5-1:0]OUT;
output reg OV;

always @(posedge clk) begin
    if(OUT >= 17) begin
        OUT <= 1'b0;
    end
    else begin
        OUT <= OUT + 1'b1;
    end
end
always @(OUT) begin
    if(OUT == 17) begin
        OV = 1'b1;
    end
    else begin
        OV = 1'b0;
    end
end

endmodule

② BDF原理图

FPGA实验三——计数器、波形仿真、SignalTap_第1张图片

③ RTL结构图
计数器内部模块结构图

FPGA实验三——计数器、波形仿真、SignalTap_第2张图片

④ VWF矢量波形仿真图

FPGA实验三——计数器、波形仿真、SignalTap_第3张图片

⑤ SignalTap

FPGA实验三——计数器、波形仿真、SignalTap_第4张图片

2. 修改以上计数器

实验要求:当计数值为 0-8 时,OV输出0,9-17 时 OV 输出 1

① 例化子模块(Verilog HDL代码)

module ADD_17_1(clk,OUT,OV);
input clk;
output reg [5-1:0]OUT;
output reg OV;

always @(posedge clk) begin
    if(OUT >= 17) begin
        OUT <= 1'b0;
    end
    else begin
        OUT <= OUT + 1'b1;
    end
end
always @(OUT) begin
    if(OUT <= 8) begin
        OV = 1'b0;
    end
    else begin
        OV = 1'b1;
    end
end

endmodule

② BDF原理图

FPGA实验三——计数器、波形仿真、SignalTap_第5张图片

③ RTL结构图

FPGA实验三——计数器、波形仿真、SignalTap_第6张图片

FPGA实验三——计数器、波形仿真、SignalTap_第7张图片

④ VWF矢量波形仿真图

FPGA实验三——计数器、波形仿真、SignalTap_第8张图片

⑤ SignalTap

FPGA实验三——计数器、波形仿真、SignalTap_第9张图片

你可能感兴趣的:(FPGA)