📄 pipeline_bridge_before_atb.v
字号:
//Legal Notice: (C)2007 Altera Corporation. All rights reserved. Your
//use of Altera Corporation's design tools, logic functions and other
//software and tools, and its AMPP partner logic functions, and any
//output files any of the foregoing (including device programming or
//simulation files), and any associated documentation or information are
//expressly subject to the terms and conditions of the Altera Program
//License Subscription Agreement or other applicable license agreement,
//including, without limitation, that your use is for the sole purpose
//of programming logic devices manufactured by Altera and sold by Altera
//or its authorized distributors. Please refer to the applicable
//agreement for further details.
// synthesis translate_off
`timescale 1ns / 1ps
// synthesis translate_on
// turn off superfluous verilog processor warnings
// altera message_level Level1
// altera message_off 10034 10035 10036 10037 10230 10240 10030
module pipeline_bridge_before_atb_downstream_adapter (
// inputs:
m1_clk,
m1_endofpacket,
m1_readdata,
m1_readdatavalid,
m1_reset_n,
m1_waitrequest,
s1_address,
s1_arbiterlock,
s1_arbiterlock2,
s1_burstcount,
s1_byteenable,
s1_chipselect,
s1_debugaccess,
s1_nativeaddress,
s1_read,
s1_write,
s1_writedata,
// outputs:
m1_address,
m1_arbiterlock,
m1_arbiterlock2,
m1_burstcount,
m1_byteenable,
m1_chipselect,
m1_debugaccess,
m1_nativeaddress,
m1_read,
m1_write,
m1_writedata,
s1_endofpacket,
s1_readdata,
s1_readdatavalid,
s1_waitrequest
)
;
output [ 24: 0] m1_address;
output m1_arbiterlock;
output m1_arbiterlock2;
output m1_burstcount;
output [ 3: 0] m1_byteenable;
output m1_chipselect;
output m1_debugaccess;
output [ 22: 0] m1_nativeaddress;
output m1_read;
output m1_write;
output [ 31: 0] m1_writedata;
output s1_endofpacket;
output [ 31: 0] s1_readdata;
output s1_readdatavalid;
output s1_waitrequest;
input m1_clk;
input m1_endofpacket;
input [ 31: 0] m1_readdata;
input m1_readdatavalid;
input m1_reset_n;
input m1_waitrequest;
input [ 24: 0] s1_address;
input s1_arbiterlock;
input s1_arbiterlock2;
input s1_burstcount;
input [ 3: 0] s1_byteenable;
input s1_chipselect;
input s1_debugaccess;
input [ 22: 0] s1_nativeaddress;
input s1_read;
input s1_write;
input [ 31: 0] s1_writedata;
reg [ 24: 0] m1_address;
reg m1_arbiterlock;
reg m1_arbiterlock2;
reg m1_burstcount;
reg [ 3: 0] m1_byteenable;
reg m1_chipselect;
reg m1_debugaccess;
reg [ 22: 0] m1_nativeaddress;
reg m1_read;
reg m1_write;
reg [ 31: 0] m1_writedata;
wire s1_endofpacket;
wire [ 31: 0] s1_readdata;
wire s1_readdatavalid;
wire s1_waitrequest;
//s1, which is an e_avalon_adapter_slave
//m1, which is an e_avalon_adapter_master
always @(posedge m1_clk or negedge m1_reset_n)
begin
if (m1_reset_n == 0)
m1_chipselect <= 0;
else if (~m1_waitrequest)
m1_chipselect <= s1_chipselect;
end
assign s1_endofpacket = m1_endofpacket;
assign s1_readdata = m1_readdata;
assign s1_readdatavalid = m1_readdatavalid;
assign s1_waitrequest = m1_waitrequest;
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_address <= s1_address;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_arbiterlock <= s1_arbiterlock;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_arbiterlock2 <= s1_arbiterlock2;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_burstcount <= s1_burstcount;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_byteenable <= s1_byteenable;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_debugaccess <= s1_debugaccess;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_nativeaddress <= s1_nativeaddress;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_read <= s1_read;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_write <= s1_write;
end
always @(posedge m1_clk)
begin
if (~m1_waitrequest)
m1_writedata <= s1_writedata;
end
endmodule
// turn off superfluous verilog processor warnings
// altera message_level Level1
// altera message_off 10034 10035 10036 10037 10230 10240 10030
module pipeline_bridge_before_atb_upstream_adapter (
// inputs:
m1_clk,
m1_endofpacket,
m1_readdata,
m1_readdatavalid,
m1_waitrequest,
s1_address,
s1_arbiterlock,
s1_arbiterlock2,
s1_burstcount,
s1_byteenable,
s1_chipselect,
s1_clk,
s1_debugaccess,
s1_flush,
s1_nativeaddress,
s1_read,
s1_reset_n,
s1_write,
s1_writedata,
// outputs:
m1_address,
m1_arbiterlock,
m1_arbiterlock2,
m1_burstcount,
m1_byteenable,
m1_chipselect,
m1_debugaccess,
m1_nativeaddress,
m1_read,
m1_write,
m1_writedata,
s1_endofpacket,
s1_readdata,
s1_readdatavalid,
s1_waitrequest
)
;
output [ 24: 0] m1_address;
output m1_arbiterlock;
output m1_arbiterlock2;
output m1_burstcount;
output [ 3: 0] m1_byteenable;
output m1_chipselect;
output m1_debugaccess;
output [ 22: 0] m1_nativeaddress;
output m1_read;
output m1_write;
output [ 31: 0] m1_writedata;
output s1_endofpacket;
output [ 31: 0] s1_readdata;
output s1_readdatavalid;
output s1_waitrequest;
input m1_clk;
input m1_endofpacket;
input [ 31: 0] m1_readdata;
input m1_readdatavalid;
input m1_waitrequest;
input [ 24: 0] s1_address;
input s1_arbiterlock;
input s1_arbiterlock2;
input s1_burstcount;
input [ 3: 0] s1_byteenable;
input s1_chipselect;
input s1_clk;
input s1_debugaccess;
input s1_flush;
input [ 22: 0] s1_nativeaddress;
input s1_read;
input s1_reset_n;
input s1_write;
input [ 31: 0] s1_writedata;
wire [ 24: 0] m1_address;
wire m1_arbiterlock;
wire m1_arbiterlock2;
wire m1_burstcount;
wire [ 3: 0] m1_byteenable;
wire m1_chipselect;
wire m1_debugaccess;
wire [ 22: 0] m1_nativeaddress;
wire m1_read;
wire m1_write;
wire [ 31: 0] m1_writedata;
reg s1_endofpacket;
reg [ 31: 0] s1_readdata;
reg s1_readdatavalid;
wire s1_waitrequest;
//s1, which is an e_avalon_adapter_slave
//m1, which is an e_avalon_adapter_master
always @(posedge s1_clk or negedge s1_reset_n)
begin
if (s1_reset_n == 0)
s1_readdatavalid <= 0;
else if (1)
if (s1_flush)
s1_readdatavalid <= 0;
else
s1_readdatavalid <= m1_readdatavalid;
end
assign s1_waitrequest = m1_waitrequest;
always @(posedge s1_clk or negedge s1_reset_n)
begin
if (s1_reset_n == 0)
s1_endofpacket <= 0;
else if (1)
s1_endofpacket <= m1_endofpacket;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -