LPM_counter IP核使用

Quartus 软件日工的LPM_counter IP核的使用

  • FPGA设计方式:
    • 原理图(不推荐)
    • Verilog HDL 设计方式
    • IP核的设计方式

新建工程

这一页如果没有文件的话,可以不用管

新建LPM_counter IP核

这就是生成的ip核文件

把生成的ip核文件设置为顶层文件

新建testbench文件

counter_ip_tb文件

`timescale 1ns/1ns
`define clock_period 20

module counter_ip_tb;
	
	reg cin;
	reg clk;
	
	wire cout;
	wire [3:0]q;
	
	Counter_IP Counter_IP0(
		.cin(cin),
		.clock(clk),
		.cout(cout),
		.q(q)
	);

	initial clk = 1;
	always #(`clock_period/2) clk = ~clk;
	
	initial begin
		repeat(30)begin
			cin = 0;
			#(`clock_period * 5) cin = 1;
			#(`clock_period) cin = 0;
		end
		
		#(`clock_period * 200);
		$stop;
	end
	
endmodule

编译一次,开始分析综合

分析综合没有错误,就可以进行下一步

设置TestBench文件

  • 点击Simulation

  • 点击TestBenches

  • 点击New

  • 点击 Add

  • 设置显示

仿真

  • 进行RTL仿真

  • 仿真波形如下,确实是16位的计数器,从0计数到15就清零