MATLAB仿真|HighSpeedLogic专题: 基于FPGA的网络系统仿真分析

MATLAB仿真|HighSpeedLogic专题: 基于FPGA的网络系统仿真分析
文章图片

基于FPGA的网络系统仿真分析
MATLAB仿真|HighSpeedLogic专题: 基于FPGA的网络系统仿真分析
文章图片

//写地址的产生。
reg[9:0]waddress;
always @(posedge i_clk or posedge i_rst)
begin
if(i_rst)
begin
waddress <= 10'd0;
end
else begin
if(i_WEN == 1'b1)
waddress <= waddress+10'd1;
else
waddress <= 10'd0;
end
end
//读地址的产生。
reg[9:0]raddress;
always @(posedge i_clk or posedge i_rst)
begin
if(i_rst)
begin
raddress <= 10'd0;
end
else begin
if(i_REN == 1'b1)
raddress<= raddress+10'd1;
else
【MATLAB仿真|HighSpeedLogic专题: 基于FPGA的网络系统仿真分析】raddress<= 10'd0;
end
end
wire[15:0]w_dout;
//RAMIP核的调用
ram_ip ram_ip_u(
.clka (i_clk),
.rsta (i_rst),
.wea(i_WEN),
.addra(waddress),
.dina (i_din),
.douta(),
.clkb (i_clk),
.rstb (i_rst),
.web(~i_REN),
.addrb(raddress),
.dinb (),
.doutb(w_dout));

对应的程序为:RW_memory.v
这个部分对应的接口程序为:
RW_memory instance_name (
.i_clk(i_clk), //时钟
.i_rst(i_rst), //复位
.i_WEN(i_WEN), //写使能
.i_REN(i_REN), //读使能
.i_din(i_din), //输入存储器
.o_dout(o_dout)//存储器输出
);


这个部分对应的程序为:
//the 2st depth 2
wire[WD-1:0]tmp010;
wire[WD-1:0]tmp011;
wire[WD-1:0]tmp012;
wire[WD-1:0]tmp013;
hypertree_4leaves hypertree_4leaves_u02(
.i_clk(i_clk),
.i_rst(i_rst),
.i_din(tmp1),
.o_dout0(tmp010),
.o_dout1(tmp011),
.o_dout2(tmp012),
.o_dout3(tmp013)
);
Operations Operations_u01(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din0(tmp000),
.i_din1(tmp010),
.o_dout(o_dout00)
);
Operations Operations_u02(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din0(tmp001),
.i_din1(tmp011),
.o_dout(o_dout01)
);
Operations Operations_u03(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din0(tmp002),
.i_din1(tmp012),
.o_dout(o_dout02)
);
Operations Operations_u04(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din0(tmp003),
.i_din1(tmp013),
.o_dout(o_dout03)
);


MATLAB仿真|HighSpeedLogic专题: 基于FPGA的网络系统仿真分析
文章图片

    推荐阅读