Skip to content

Commit

Permalink
[TB] Use reedsolo library.Fix nmess for error position packet.
Browse files Browse the repository at this point in the history
  • Loading branch information
egorman44 committed Jun 25, 2024
1 parent f67a2ec commit ea6c3b3
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 15 deletions.
2 changes: 0 additions & 2 deletions coco_sim/new/rs_decoder.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,6 @@ async def random_error(dut):
for i in range (len(m_if_containers)):
#m_if_containers[i].if_packets.append(pkt_builder.get_pkt(m_if_containers[i].if_name))
mon_pkt = pkt_builder.get_pkt(m_if_containers[i].if_name)
print("PRINT_MON_PKT")
mon_pkt.print_pkt()
m_if_containers[i].if_packets.append(mon_pkt)


Expand Down
25 changes: 12 additions & 13 deletions coco_sim/new/rs_packets_builder.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
from rs import rs_encode_msg
from rs import rs_calc_syndromes
from rs import rs_find_error_locator
from rs import rs_find_errors
from rs import rs_correct_errata
from rs import rs_correct_msg_nofsynd
from rs import rs_errata_locator
from rs import rs_synd_x_errata
from rs import init_tables
from reedsolo import rs_encode_msg
from reedsolo import rs_calc_syndromes
from reedsolo import rs_find_error_locator
from reedsolo import rs_find_errors
from reedsolo import rs_correct_errata
from reedsolo import rs_correct_msg_nofsynd
from reedsolo import init_tables

from packet import Packet
import copy
Expand Down Expand Up @@ -42,7 +40,7 @@ def generate_msg(self):
self.ref_msg.print_pkt()

def encode_msg(self):
enc_msg = rs_encode_msg(msg_in=self.ref_msg.data, fcr=self.FCR,nsym=self.REDUNDANCY)
enc_msg = list(rs_encode_msg(msg_in=self.ref_msg.data, fcr=self.FCR,nsym=self.REDUNDANCY))
self.enc_msg = Packet(name=f'enc_msg{self._pkt_cntr}')
self.enc_msg.write_data(enc_msg, delay=0)

Expand All @@ -52,6 +50,7 @@ def corrupt_msg(self, positions, errors=None):
self.cor_msg.corrupt_pkt(positions=positions, errors=errors)
self.cor_msg.compare(self.enc_msg)
self.cor_msg.print_pkt()
print(self.cor_msg.data)

''' Generate RS packets '''

Expand Down Expand Up @@ -83,7 +82,7 @@ def get_err_pos(self):
syndrome = rs_calc_syndromes(self.cor_msg.data, self.REDUNDANCY, self.FCR)
error_locator = rs_find_error_locator(syndrome, self.REDUNDANCY)
error_locator = error_locator[::-1]
error_position = rs_find_errors(err_loc=error_locator,nmess=self.K_LEN, verbose=0)
error_position = rs_find_errors(err_loc=error_locator,nmess=len(self.enc_msg.data))
err_pos_pkt = Packet(name=f'err_pos_pkt{self._pkt_cntr}')
err_pos_pkt.write_data(ref_data=error_position)
return err_pos_pkt
Expand All @@ -92,8 +91,8 @@ def get_err_val(self):
syndrome = rs_calc_syndromes(self.cor_msg.data, self.REDUNDANCY, self.FCR)
error_locator = rs_find_error_locator(syndrome, self.REDUNDANCY)
error_locator = error_locator[::-1]
error_position = rs_find_errors(err_loc=error_locator,nmess=len(self.enc_msg.data), verbose=0)
_, magnitude = rs_correct_errata(msg_in=self.cor_msg.data, synd=syndrome, err_pos=error_position, fcr=self.FCR, verbose=0)
error_position = rs_find_errors(err_loc=error_locator,nmess=len(self.enc_msg.data))
_, magnitude = rs_correct_errata(msg_in=self.cor_msg.data, synd=syndrome, err_pos=error_position, fcr=self.FCR)
err_val_pkt = Packet(name=f'err_val_pkt{self._pkt_cntr}')
err_val_pkt.write_data(ref_data=magnitude)
return err_val_pkt

0 comments on commit ea6c3b3

Please sign in to comment.