问题描述
一般问题描述:
“proc_sys_reset”的文档指出应将C_NUM_BUS_RST设置为系统中的总线数。所以我把它设置为两个,它就破了。我为PLB和OPB尝试了“sys_bus_reset(0)”和“sys_bus_reset(1)”,但它并不喜欢这样。你应该如何联系这个,这是否真的有必要?
解决/修复方法
当前的MHS语法不支持此功能。但是,它将在EDK 6.2i中得到支持。
选项1:
C_NUM_BUS_RST = 1
这是默认值,无需修改。 “proc_sys_reset”IP的重置将具有分配给系统内所有重置的1位输出。
选项2:
C_NUM_BUS_RST = 2
以下是使用“util_bus_split”IP的MHS的片段。
BEGIN proc_sys_reset
PARAMETER INSTANCE = reset_block
PARAMETER HW_VER = 1.00.a
PARAMETER C_EXT_RESET_HIGH = 0
#将C_NUM_BUS_RST设置为2
参数C_NUM_BUS_RST = 2
PORT Slowest_sync_clk = sys_clk_s
PORT Ext_Reset_In = sys_rst_s
PORT Chip_Reset_Req = C405RSTCHIPRESETREQ
PORT Core_Reset_Req = C405RSTCORERESETREQ
PORT System_Reset_Req = C405RSTSYSRESETREQ
PORT Rstc405resetchip = RSTC405RESETCHIP
PORT Rstc405resetcore = RSTC405RESETCORE
端口Rstc405resetsys = RSTC405RESETSYS
#sys_bus_reset为2位
PORT Bus_Struct_Reset = sys_bus_reset
PORT Dcm_locked = clk_lock
结束
BEGIN util_bus_split
PARAMETER INSTANCE = util_bus_split_0
PARAMETER HW_VER = 1.00.a
#输入总线sys_bus_reset的大小
参数C_SIZE_IN = 2
PARAMETER C_SPLIT = 1
参数C_LEFT_POS = 1
#输入总线为2位
PORT Sig = sys_bus_reset
#Out1和Out1各1位
PORT Out1 = plb_reset
PORT Out2 = opb_reset
结束
开始plb_v34
PARAMETER INSTANCE = plb
PARAMETER HW_VER = 1.01.a
PARAMETER C_DCR_INTFCE = 0
PARAMETER C_EXT_RESET_HIGH = 1
PORT PLB_Clk = sys_clk_s
来自util_bus_split的plb的#1位复位
PORT SYS_Rst = plb_reset
结束
BEGIN opb_v20
PARAMETER INSTANCE = opb1
PARAMETER HW_VER = 1.10.b
PORT OPB_Clk = sys_clk_s
来自util_bus_split的opb的#1位复位
PORT SYS_Rst = opb_reset
结束
选项3:
C_NUM_BUS_RST = 3或更高
在这种情况下,需要创建自定义IP。对于此示例,C_NUM_BUS_RST = 3。反过来,这将产生3位宽的“sys_bus_reset”。如果需要更大的值,则修改vhdl代码,MPD和PAO文件以反映添加的输出端口。
VHDL文件
库IEEE;
使用IEEE.std_logic_1164.all;
实体my_bus_spliter是
港口 (
– 输入总线
bus_in:在std_logic_vector(0到2);
– 输出位,如果大于3,
– 然后添加多个单比特输出
rst0:out std_logic;
rst1:out std_logic;
rst2:out std_logic);
结束my_bus_spliter;
my_bus_spliter的架构imp是
开始
rst0 <= bus_in(0);
rst1 <= bus_in(1);
rst2 <= bus_in(2);
结束
MPD文件
BEGIN my_bus_spliter
选项IP_GROUP =基础设施
选项IPTYPE = PERIPHERAL
选项IMP_NETLIST = TRUE
选项HDL = VHDL
PORT bus_in =“”,DIR = IN,VEC = [0:2]
PORT rst0 =“”,DIR = OUT
PORT rst1 =“”,DIR = OUT
PORT rst2 =“”,DIR = OUT
结束
PAO文件
lib my_bus_spliter my_bus_spliter
没有回复内容