Matlab实现ECC的计算

本文介绍了如何在Matlab中实现错误校验码(ECC)的计算,针对FPGA初学者可能遇到的困难,提供了清晰的步骤和示例代码。通过详细解析Verilog实现的ECC计算逻辑,然后转换为Matlab函数,帮助读者理解并掌握在Matlab中进行ECC计算的方法。
摘要由CSDN通过智能技术生成

        FPGA实现ECC的计算很简单,但是如果想要使用matlab来实现,如果不注意很容易卡住,或者写出来的代码很复杂,可读性也会变得很差。

        如下存在verilog实现的ECC计算

        ecc_o[0]=da_i[0]^da_i[1]^da_i[3]^da_i[4]^da_i[6];

        ecc_o[1]=da_i[0]^da_i[2]^da_i[3]^da_i[5]^da_i[6];

        ecc_o[2]=da_i[1]^da_i[2]^da_i[3]^da_i[7];

        ecc_o[3]=da_i[4]^da_i[5]^da_i[6]^da_i[7];

        ecc_o[4]=(^dat_i[7:0])^(^ecc_o[3:0]); 

        显然,HDL语言描述和处理很容易。

        但是,Matlab上实现对于Matlab初学者 可能会有一点麻烦。

        function  ecc = ecc_capture(dat)

        dat_i = de2bi(dat, 8, 'right-msb');

 

        ecc_0 = dat_i( 0 );

        for i = [ 1 3 4 6 ]

        ecc_0 = bitxor( ecc_0,dat_i( i ));

        end

 

        ecc_1 = dat_i( 0 );

        for i = [ 2 3 5 6]

        ecc_1 = bitxor( ecc_1,dat_i( i ));

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值