[VRFC 10-426] cannot find port resetn on this module vivado仿真过程出现这个报错,查询半天无果,下面贴了top
`timescale 1ns / 1ps
module top(sys_clk);
// 系统端口
input sys_clk;
// 内部变量
reg sys_rstn; // 系统复位
wire clk_100M; // 100MHz时钟
reg [15:0] rstn_cnt = 16'd0; // 复位计数器
(*mark_debug = "true"*)wire signed [15:0] sine_val_1M; // 1MHz正弦波
(*mark_debug = "true"*)wire signed [15:0] square_val_1M; // 1MHz方波
(*mark_debug = "true"*)wire signed [15:0] triangle_val_1M; // 1MHz三角波
(*mark_debug = "true"*)wire signed [15:0] sine_val_15M; // 15MHz正弦波
(*mark_debug = "true"*)wire signed [15:0] square_val_15M; // 15MHz方波
(*mark_debug = "true"*)wire signed [15:0] triangle_val_15M; // 15MHz三角波
(*mark_debug = "true"*)wire signed [15:0] sine_val_mixed; // 15MHz正弦波
(*mark_debug = "true"*)wire signed [15:0] square_val_mixed; // 15MHz方波
(*mark_debug = "true"*)wire signed [15:0] triangle_val_mixed; // 15MHz三角波
(*mark_debug = "true"*)wire signed [63:0] filtered_sine_val_1M; // 滤波后1MHz正弦波
(*mark_debug = "true"*)wire signed [63:0] filtered_square_val_1M; // 滤波后1MHz方波
(*mark_debug = "true"*)wire signed [63:0] filtered_triangle_val_1M; // 滤波后1MHz三角波
(*mark_debug = "true"*)wire signed [63:0] filtered_sine_val_mixed; // 滤波后混合频率正弦波
(*mark_debug = "true"*)wire signed [63:0] filtered_square_val_mixed; // 滤波后混合频率方波
(*mark_debug = "true"*)wire signed [63:0] filtered_triangle_val_mixed; // 滤波后混合频率三角波
// 参数定义
parameter [15:0] RST_COUNT = 25_000; // 复位1ms
parameter [15:0] sine_frequency_1M = 16'd1000; // 正弦波频率,以kHz为单位
parameter [15:0] square_frequency_1M = 16'd1000; // 方波频率,以kHz为单位
parameter [15:0] triangle_frequency_1M = 16'd1000; // 三角波频率,以kHz为单位
parameter [15:0] sine_frequency_15M = 16'd15_000; // 正弦波频率,以kHz为单位
parameter [15:0] square_frequency_15M = 16'd15_000; // 方波频率,以kHz为单位
parameter [15:0] triangle_frequency_15M = 16'd15_000; // 三角波频率,以kHz为单位
// 系统复位
always@(posedge sys_clk)begin
if(rstn_cnt <= RST_COUNT)begin
rstn_cnt <= rstn_cnt + 1;
sys_rstn <= 1'b0;
end
else begin
rstn_cnt <= rstn_cnt;
sys_rstn <= 1'b1;
end
end
// 例化时钟模块
clk_wiz_0 u0_clk_wiz_0(
.resetn(sys_rstn),
.clk_in1(sys_clk),
.clk_out1(clk_100M)
);
// 例化波形生成模块
waveform_generate u1_waveform_generate(
.sys_clk(sys_clk),
.sys_rstn(sys_rstn),
.clk_100M(clk_100M),
.sine_frequency(sine_frequency_1M),
.sine_val(sine_val_1M),
.square_frequency(square_frequency_1M),
.square_val(square_val_1M),
.triangle_frequency(triangle_frequency_1M),
.triangle_val(triangle_val_1M)
);
// 例化滤波器模块
fir_filter u2_fir_filter_sine(
.sys_clk(clk_100M),
.sys_rstn(sys_rstn),
.signal(sine_val_1M),
.result(filtered_sine_val_1M)
);
fir_filter u3_fir_filter_square(
.sys_clk(clk_100M),
.sys_rstn(sys_rstn),
.signal(square_val_1M),
.result(filtered_square_val_1M)
);
fir_filter u4_fir_filter_triangle(
.sys_clk(clk_100M),
.sys_rstn(sys_rstn),
.signal(triangle_val_1M),
.result(filtered_triangle_val_1M)
);
// 例化高频的波形生成模块
waveform_generate u5_waveform_generate(
.sys_clk(sys_clk),
.sys_rstn(sys_rstn),
.clk_100M(clk_100M),
.sine_frequency(sine_frequency_15M),
.sine_val(sine_val_15M),
.square_frequency(square_frequency_15M),
.square_val(square_val_15M),
.triangle_frequency(triangle_frequency_15M),
.triangle_val(triangle_val_15M)
);
// 信号叠加,权重为各0.5,均只叠加正弦波模拟加性调制过程
assign sine_val_mixed = (sine_val_15M >>> 1) + (sine_val_1M >>> 1);
assign square_val_mixed = (sine_val_15M >>> 1) + (square_val_1M >>> 1);
assign triangle_val_mixed = (sine_val_15M >>> 1) + (triangle_val_1M >>> 1);
// 例化滤波器模块
fir_filter u6_fir_filter_sine(
.sys_clk(clk_100M),
.sys_rstn(sys_rstn),
.signal(sine_val_mixed),
.result(filtered_sine_val_mixed)
);
fir_filter u7_fir_filter_square(
.sys_clk(clk_100M),
.sys_rstn(sys_rstn),
.signal(square_val_mixed),
.result(filtered_square_val_mixed)
);
fir_filter u8_fir_filter_triangle(.sys_clk(clk_100M),
.sys_rstn(sys_rstn),
.signal(triangle_val_mixed),
.result(filtered_triangle_val_mixed)
);
endmodule