📄 pipeline_bridge_before_atb.v
字号:
always @(posedge m1_clk)
begin
if (m1_readdatavalid)
s1_readdata <= m1_readdata;
end
assign m1_address = s1_address;
assign m1_arbiterlock = s1_arbiterlock;
assign m1_arbiterlock2 = s1_arbiterlock2;
assign m1_burstcount = s1_burstcount;
assign m1_byteenable = s1_byteenable;
assign m1_chipselect = s1_chipselect;
assign m1_debugaccess = s1_debugaccess;
assign m1_nativeaddress = s1_nativeaddress;
assign m1_read = s1_read;
assign m1_write = s1_write;
assign m1_writedata = s1_writedata;
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_waitrequest_adapter (
// inputs:
m1_clk,
m1_endofpacket,
m1_readdata,
m1_readdatavalid,
m1_reset_n,
m1_waitrequest,
reset_n,
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 reset_n;
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] d1_s1_address;
reg d1_s1_arbiterlock;
reg d1_s1_arbiterlock2;
reg d1_s1_burstcount;
reg [ 3: 0] d1_s1_byteenable;
reg d1_s1_chipselect;
reg d1_s1_debugaccess;
reg [ 22: 0] d1_s1_nativeaddress;
reg d1_s1_read;
reg d1_s1_write;
reg [ 31: 0] d1_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;
wire s1_endofpacket;
wire [ 31: 0] s1_readdata;
wire s1_readdatavalid;
reg s1_waitrequest;
wire set_use_registered;
reg use_registered;
//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)
s1_waitrequest <= 0;
else if (1)
s1_waitrequest <= m1_waitrequest;
end
assign s1_endofpacket = m1_endofpacket;
assign s1_readdata = m1_readdata;
assign s1_readdatavalid = m1_readdatavalid;
//set use registered, which is an e_assign
assign set_use_registered = m1_waitrequest & ~s1_waitrequest;
//use registered, which is an e_register
always @(posedge m1_clk or negedge reset_n)
begin
if (reset_n == 0)
use_registered <= 0;
else if (1)
if (~m1_waitrequest & s1_waitrequest)
use_registered <= 0;
else if (set_use_registered)
use_registered <= -1;
end
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_address <= s1_address;
end
assign m1_address = (use_registered)? d1_s1_address :
s1_address;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_arbiterlock <= s1_arbiterlock;
end
assign m1_arbiterlock = (use_registered)? d1_s1_arbiterlock :
s1_arbiterlock;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_arbiterlock2 <= s1_arbiterlock2;
end
assign m1_arbiterlock2 = (use_registered)? d1_s1_arbiterlock2 :
s1_arbiterlock2;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_burstcount <= s1_burstcount;
end
assign m1_burstcount = (use_registered)? d1_s1_burstcount :
s1_burstcount;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_byteenable <= s1_byteenable;
end
assign m1_byteenable = (use_registered)? d1_s1_byteenable :
s1_byteenable;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_chipselect <= s1_chipselect;
end
assign m1_chipselect = (use_registered)? d1_s1_chipselect :
s1_chipselect;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_debugaccess <= s1_debugaccess;
end
assign m1_debugaccess = (use_registered)? d1_s1_debugaccess :
s1_debugaccess;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_nativeaddress <= s1_nativeaddress;
end
assign m1_nativeaddress = (use_registered)? d1_s1_nativeaddress :
s1_nativeaddress;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_read <= s1_read;
end
assign m1_read = (use_registered)? d1_s1_read :
s1_read;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_write <= s1_write;
end
assign m1_write = (use_registered)? d1_s1_write :
s1_write;
always @(posedge m1_clk)
begin
if (set_use_registered)
d1_s1_writedata <= s1_writedata;
end
assign m1_writedata = (use_registered)? d1_s1_writedata :
s1_writedata;
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 (
// inputs:
clk,
m1_endofpacket,
m1_readdata,
m1_readdatavalid,
m1_waitrequest,
reset_n,
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_burstcount,
m1_byteenable,
m1_chipselect,
m1_debugaccess,
m1_read,
m1_write,
m1_writedata,
s1_endofpacket,
s1_readdata,
s1_readdatavalid,
s1_waitrequest
)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -