EM-RMT-NSI-INDEXER地址调试完整记录

内部项目调试记录!!!

地址计算部分解读

模块信息数据格式:

localparam CTRL_INDEX_STAGE_ID	= 4'b0000              ; // 4'h0
localparam CTRL_INDEX_MOD_ID	= 4'b0001              ; //4'h1
localparam CTRL_INDEX_RESV		= 4'b0000              ; //4'h0
localparam CTRL_INDEX_RESOURCE     = {4'b0,CTRL_INDEX_RESV,CTRL_INDEX_STAGE_ID,CTRL_INDEX_MOD_ID}; //16'h0001
localparam CTRL_INDEX_INDEX        = 8'd1; //16'h0001
完整组装 = {CTRL_INDEX_INDEX,CTRL_INDEX_RESOURCE} // 32'h0001_0001

32’h0001_0001转换大小端后为32’h01_00_01_00

模块配置数据格式:

localparam CTRL_INDEX_TEST = 24’b00000000_00000000_00000001;
其从左到右分别代表 2B 4B 6B,每个bit代表一组数据
转换大小端后为h01_00_00

组装后数据

如下

udp_packet = UDP(dport=int("f1f2", 16)) / Raw(b'\x01\x00') / Raw(b'\x01\x00') / Raw(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00') / Raw(b'\x01\x00\x00')

地址计算

// 数据基地址,以2B / 4B / 6B按顺序分隔增长排布
// 由于一共256个节点,因此2B占据 2*8*256个地址(每个地址一个字节),2代表每个数据两个字节,8代表一共8个2B数据
assign base_addr = ((bram_cnt) <= 8) ? 15'd0 : ((bram_cnt) <= 16) ? 15'd4096 : 15'd12288;
// 数据按照 Node1Bit1 N2B1 N3B1 --- N256B1 N1B2 N2B2 --- 排列
// 因此每一组含 256 * (2B/4B/6B)个地址
// bram_cnt代表1所在24'b00000000_00000000_00000001;位置。 "<< 4'b8"为"*256"操作
assign byte_addr = (((bram_cnt % 8) - 1) << 4'd8) * search_type;
// pkt_hdr_vec[31:24]为截取的ip地址(判断为256节点中的哪个)
assign node_addr = pkt_hdr_vec[31:24] * search_type;
assign store_addr = base_addr + byte_addr + node_addr + search_cnt;

调试记录

下载配置为
udp_packet = UDP(dport=int(“f1f2”, 16)) / Raw(b’\x01\x00’) / Raw(b’\x01\x00’) / Raw(b’\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00’) / Raw(b’\x00\x01\x00’)
ip为ip_packet = IP(src = “4.168.0.1”,dst=“192.168.0.100”)
(4B组第1个,基地址4096,字节偏移为0【第一个】,节点偏移为4*4【前面有四个节点0/1/2/3】)
在这里插入图片描述
由于输入为64为,输出8位,因此地址4112应除8为514

寻址

查看预加载文件头为
在这里插入图片描述
因此514应该加3(两行开头空行+1【应从0地址开始寻址,文件从1行开始标记】)
因此寻得第517行4B数据【从最后向前寻4B】
在这里插入图片描述
调试数据为
在这里插入图片描述
数据太长可以选中建立新bus

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值