Gaokao
This commit is contained in:
parent
f65b0f359a
commit
c0d88e095b
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
|
@ -11,8 +11,9 @@ module ${SramWrapName} #(
|
||||||
input wire [$clog2(DEPTH)-1:0] A,
|
input wire [$clog2(DEPTH)-1:0] A,
|
||||||
input wire [WIDTH-1:0] D,
|
input wire [WIDTH-1:0] D,
|
||||||
input wire [WIDTH-1:0] BWEB,
|
input wire [WIDTH-1:0] BWEB,
|
||||||
input wire mem_ctrl_bus_sd,
|
input wire SD,
|
||||||
input wire [64 -1:0] mem_ctrl_bus,
|
input wire [1:0] RTSEL,
|
||||||
|
input wire [1:0] WTSEL,
|
||||||
output wire [WIDTH-1:0] Q
|
output wire [WIDTH-1:0] Q
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -24,10 +25,6 @@ wire [ADDR_WIDTH-1:0] sram_addr;
|
||||||
wire [WIDTH-1:0] sram_rdata;
|
wire [WIDTH-1:0] sram_rdata;
|
||||||
wire [WIDTH-1:0] sram_wdata;
|
wire [WIDTH-1:0] sram_wdata;
|
||||||
|
|
||||||
wire SD = mem_ctrl_bus_sd;
|
|
||||||
wire [2-1:0] RTSEL = mem_ctrl_bus[49:48];
|
|
||||||
wire [2-1:0] WTSEL = mem_ctrl_bus[45:44];
|
|
||||||
|
|
||||||
`ifdef USE_N12_TSMC_SRAM
|
`ifdef USE_N12_TSMC_SRAM
|
||||||
if(DEPTH==${Depth} && WIDTH==${Width}) begin : GEN_${Depth}x${Width}_SRAM
|
if(DEPTH==${Depth} && WIDTH==${Width}) begin : GEN_${Depth}x${Width}_SRAM
|
||||||
${ReferenceName} U_${ReferenceName} (
|
${ReferenceName} U_${ReferenceName} (
|
||||||
|
@ -49,6 +46,7 @@ wire [2-1:0] WTSEL = mem_ctrl_bus[45:44];
|
||||||
);
|
);
|
||||||
end
|
end
|
||||||
else begin : ILLEGAL_SRAM_SIZE
|
else begin : ILLEGAL_SRAM_SIZE
|
||||||
|
$display("Error: Unsupported SRAM size %d x %d for TSMC N12 SRAM", WIDTH, DEPTH);
|
||||||
end
|
end
|
||||||
|
|
||||||
`elsif USE_N12_SNPS_SRAM
|
`elsif USE_N12_SNPS_SRAM
|
||||||
|
@ -148,4 +146,4 @@ generate
|
||||||
|
|
||||||
endgenerate
|
endgenerate
|
||||||
|
|
||||||
endmodule
|
endmodule: $moduleName$
|
Binary file not shown.
After Width: | Height: | Size: 188 KiB |
|
@ -0,0 +1,62 @@
|
||||||
|
|
||||||
|
@[TOC](mem_mcu_wrap详细设计文档)
|
||||||
|
|
||||||
|
# 1 mem_mcu_wrap top
|
||||||
|
在这里为了TOP集成的自动化和效率,使用verilog-mode来集成;
|
||||||
|
## 1.1 总体功能概述
|
||||||
|
`mem_mcu_wrap`模块是一个顶层模块,主要负责将Corelink子模块和其他多master、多slave进行集成连接起来,它的主要功能是如下所示:
|
||||||
|
|
||||||
|
## 1.2 总体结构框图
|
||||||
|
该mem_mcu_wrap的总体结构框图如下所示:
|
||||||
|

|
||||||
|
|
||||||
|
## 1.3
|
||||||
|
|
||||||
|
# 2 Corelink子模块
|
||||||
|
## 2.1 功能概述
|
||||||
|
该Corelink是由AMBA_de工具生成的nic400 switch模块;
|
||||||
|
|
||||||
|
## 2.2 地址分配
|
||||||
|
|
||||||
|
## 2.3 结构框图
|
||||||
|
|
||||||
|
## 2.4 设计详述
|
||||||
|
|
||||||
|
# 3 记录问题
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Verilog-mode使用
|
||||||
|
## 1.1 变量范例使用
|
||||||
|
// Local Variables:
|
||||||
|
// verilog-library-flags:("-y ./")
|
||||||
|
// verilog-auto-inst-param-value:t
|
||||||
|
// verilog-auto-input-ignore-regexp:""
|
||||||
|
// verilog-auto-output-ignore-regexp:""
|
||||||
|
// End:
|
||||||
|
|
||||||
|
---------------------------------------->
|
||||||
|
// Local Variables:
|
||||||
|
// verilog-library-flags:("-y ./ -y ../common/basic -y ../common/cfg_noc -y ../common/crg -y cortexm3/cortexm3_integration/verilog -y ./nic400_ahb_matrix/nic400/verilog ")
|
||||||
|
// verilog-auto-inst-param-value:t
|
||||||
|
// verilog-auto-input-ignore-regexp:"mcu_intisr \\|mcu_core_obs_internalstate_\\|cfg_noc_engine._err_info_clear"
|
||||||
|
// verilog-auto-output-ignore-regexp:"mem_ctrl_bus_\\|cfg_die_crd_\\|_info_tmp\\|"
|
||||||
|
// End:
|
||||||
|
|
||||||
|
## 1.2 带参数例化使用
|
||||||
|
带参数的例化是在 (/*AUTOINST*/)中进行使用
|
||||||
|
```v
|
||||||
|
/* sub_block AUTO_TEMPLATE(
|
||||||
|
.\(.*\) (\1[]),
|
||||||
|
);
|
||||||
|
*/
|
||||||
|
|
||||||
|
sub_block #(
|
||||||
|
.PARAM1(PARAM1_VALUE),
|
||||||
|
.PARAM2(PARAM2_VALUE),
|
||||||
|
.PARAM3(PARAM3_VALUE)
|
||||||
|
) u_sub_block( /*AUTOINST*/);
|
||||||
|
|
||||||
|
```
|
Binary file not shown.
After Width: | Height: | Size: 142 KiB |
Loading…
Reference in New Issue