⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dsocm_bram_elaborate.v

📁 ULTRACTR的源码
💻 V
字号:
////////////////////////////////////////////////////////////////////////////////
// dsocm_bram_elaborate.v
////////////////////////////////////////////////////////////////////////////////
module dsocm_bram_elaborate
	(
	// instance GLOBAL
	BRAM_Addr_B,
	BRAM_EN_A,
	BRAM_Dout_A,
	BRAM_EN_B,
	BRAM_Dout_B,
	BRAM_Din_A,
	BRAM_Din_B,
	BRAM_WEN_A,
	BRAM_Clk_A,
	BRAM_WEN_B,
	BRAM_Clk_B,
	BRAM_Rst_A,
	BRAM_Rst_B,
	BRAM_Addr_A);

// instance GLOBAL
input [0:31] BRAM_Addr_B;
input  BRAM_EN_A;
input [0:31] BRAM_Dout_A;
input  BRAM_EN_B;
input [0:31] BRAM_Dout_B;
output [0:31] BRAM_Din_A;
output [0:31] BRAM_Din_B;
input [0:3] BRAM_WEN_A;
input  BRAM_Clk_A;
input [0:3] BRAM_WEN_B;
input  BRAM_Clk_B;
input  BRAM_Rst_A;
input  BRAM_Rst_B;
input [0:31] BRAM_Addr_A;

parameter C_MEMSIZE = 8192;
parameter C_PORT_DWIDTH = 32;
parameter C_PORT_AWIDTH = 32;
parameter C_NUM_WE = 4;
parameter C_FAMILY = "virtex2p";


////////////////////////////////////////////////////////////////////////////////
// internal signals
////////////////////////////////////////////////////////////////////////////////

wire [31:0] dina;
wire [31:0] dinb;
wire [31:0] douta;
wire [31:0] doutb;
wire  net_gnd0;
wire [0:0] net_gnd1;

////////////////////////////////////////////////////////////////////////////////
// Power assignments
assign net_gnd0 = 1'b0;
assign net_gnd1 = 1'b0;
////////////////////////////////////////////////////////////////////////////////
// Constant assignments
////////////////////////////////////////////////////////////////////////////////
// Top-level port assignments
assign dina = BRAM_Dout_A;
assign dinb = BRAM_Dout_B;
assign BRAM_Din_A = douta;
assign BRAM_Din_B = doutb;
////////////////////////////////////////////////////////////////////////////////
// Lower-level assignments

////////////////////////////////////////////////////////////////////////////////
RAMB16_S9_S9 ramb16_s9_s9_0
	(
	.DIA (dina[31:24]),
	.DIB (dinb[31:24]),
	.DOPA (),
	.DOPB (),
	.CLKA (BRAM_Clk_A),
	.CLKB (BRAM_Clk_B),
	.ADDRA (BRAM_Addr_A[19:29]),
	.ADDRB (BRAM_Addr_B[19:29]),
	.DOA (douta[31:24]),
	.DOB (doutb[31:24]),
	.ENA (BRAM_EN_A),
	.SSRA (net_gnd0),
	.ENB (BRAM_EN_B),
	.DIPA (net_gnd1),
	.SSRB (net_gnd0),
	.DIPB (net_gnd1),
	.WEA (BRAM_WEN_A[0]),
	.WEB (BRAM_WEN_B[0]));

////////////////////////////////////////////////////////////////////////////////
RAMB16_S9_S9 ramb16_s9_s9_1
	(
	.DIA (dina[23:16]),
	.DIB (dinb[23:16]),
	.DOPA (),
	.DOPB (),
	.CLKA (BRAM_Clk_A),
	.CLKB (BRAM_Clk_B),
	.ADDRA (BRAM_Addr_A[19:29]),
	.ADDRB (BRAM_Addr_B[19:29]),
	.DOA (douta[23:16]),
	.DOB (doutb[23:16]),
	.ENA (BRAM_EN_A),
	.SSRA (net_gnd0),
	.ENB (BRAM_EN_B),
	.DIPA (net_gnd1),
	.SSRB (net_gnd0),
	.DIPB (net_gnd1),
	.WEA (BRAM_WEN_A[1]),
	.WEB (BRAM_WEN_B[1]));

////////////////////////////////////////////////////////////////////////////////
RAMB16_S9_S9 ramb16_s9_s9_2
	(
	.DIA (dina[15:8]),
	.DIB (dinb[15:8]),
	.DOPA (),
	.DOPB (),
	.CLKA (BRAM_Clk_A),
	.CLKB (BRAM_Clk_B),
	.ADDRA (BRAM_Addr_A[19:29]),
	.ADDRB (BRAM_Addr_B[19:29]),
	.DOA (douta[15:8]),
	.DOB (doutb[15:8]),
	.ENA (BRAM_EN_A),
	.SSRA (net_gnd0),
	.ENB (BRAM_EN_B),
	.DIPA (net_gnd1),
	.SSRB (net_gnd0),
	.DIPB (net_gnd1),
	.WEA (BRAM_WEN_A[2]),
	.WEB (BRAM_WEN_B[2]));

////////////////////////////////////////////////////////////////////////////////
RAMB16_S9_S9 ramb16_s9_s9_3
	(
	.DIA (dina[7:0]),
	.DIB (dinb[7:0]),
	.DOPA (),
	.DOPB (),
	.CLKA (BRAM_Clk_A),
	.CLKB (BRAM_Clk_B),
	.ADDRA (BRAM_Addr_A[19:29]),
	.ADDRB (BRAM_Addr_B[19:29]),
	.DOA (douta[7:0]),
	.DOB (doutb[7:0]),
	.ENA (BRAM_EN_A),
	.SSRA (net_gnd0),
	.ENB (BRAM_EN_B),
	.DIPA (net_gnd1),
	.SSRB (net_gnd0),
	.DIPB (net_gnd1),
	.WEA (BRAM_WEN_A[3]),
	.WEB (BRAM_WEN_B[3]));

endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -