2,432
社区成员
发帖
与我相关
我的任务
分享`timescale 1ns/1ps
module fir(
clk,
reset_n,
x,
y);
input clk;
input reset_n;
input [17:0] x;
output [17:0] y;
wire [35:0] y_c;
lpf lpf1(
.clk(clk),
.reset_n(reset_n),
.ast_sink_data(x),
.ast_sink_valid(1'b1),
.ast_source_ready(1'b1),
.ast_sink_error(2'b00),
.ast_source_data(y_c),
.ast_sink_ready(),
.ast_source_valid(),
.ast_source_error());
assign y = y_c[35:18];
endmodule `timescale 1 ns/ 1 ps
module test();
parameter period = 20,
period_2 = period/2;
reg clk;
reg reset_n;
reg [17:0] x;
// wires
wire [17:0] y;
// assign statements (if any)
fir i1 (
// port map - connection between master ports and signals/registers
.clk(clk),
.reset_n(reset_n),
.x(x),
.y(y)
);
initial
begin
clk = 1'b0;
reset_n = 1'b0;
x = 18'd0;
#(10*period)
reset_n = 1'b1;
$display("Running testbench");
end
always #(period_2) clk = ~clk;
always @(posedge clk or negedge reset_n)
begin
if (!reset_n)
x <= 0;
else
x <= x + 18'd10;
end
endmodule