Advertisement

SRAM的后门注入

阅读量:

wl_spram65536x72中,65536代表存储深度,总容量为512kb。72则表示每行数据的宽度,对应的WBE位数为9bit。
wl_spram1024x72由64个8kb容量的SRAM模块拼接构成。
1、后门加载设置为0
reg [63:0] ram_mem[65535:0]=’{65536{0}}; //每行数据宽度为64bit
剩余8bit用于生成ECC校验码,从而实现对单比特错误的纠正以及双比特错误的检测功能。

复制代码
    for(int i;i<1024;i++)	
    begin
    wl_spram1024x72_0.u_ram_core.memory[i]=ram_mem[i + 1024*0];
    ......
    wl_spram1024x72_63.u_ram_core.memory[i]=ram_mem[i + 1024*63];
    end
    
    
    AI写代码powershell

通过观察波形中spram的dout与rdata是否为0,可判断数据是否成功加载。
2、后门加载指定数据
按照规定格式,将十六进制的特定数据以每行64位的方式写入txt文档中。

复制代码
    $readmemh("xxx.txt",wl_spram.mem,0);

全部评论 (0)

还没有任何评论哟~