Теперь я делаю протокол (Aurora-Xilinx) для соединения двух плат вместе. и я хотел бы проверить битовые ошибки для передачи данных и получения данных. Чтобы проверить битовые ошибки, передаваемые данные на плате 1 зацикливаются на плате 2, а затем возвращаются на плату 1. Затем я написал собственную прошивку для проверки битовых ошибок путем сравнения передаваемых и принимаемых данных.
Однако прием данных всегда запаздывает с передачей данных на несколько тактов или много тактов. Моя идея состоит в том, чтобы сместить данные передачи в положение часов, в котором начинают появляться первые соответствующие данные приема. Если вы посмотрите на рисунок, прикрепленный к этому сообщению, красный прямоугольник — это кадр передаваемых данных, а желтый — соответствующие данные приема. Но хотелось бы написать общую прошивку для устранения этой задержки. Это означает, что при любой задержке передаваемые данные всегда сдвигаются вправо, когда появляются первые соответствующие принимаемые данные. Я думаю, что когда я решу эту проблему, я смогу сравнить передаваемые и полученные данные вместе, чтобы получить значения битовой ошибки.
Если у вас есть открытый образец кода Verilog или предложения по моим проблемам, дайте мне знать. Особенно, если у вас есть другие идеи или подробные документы для проверки битовых ошибок, пожалуйста, дайте мне знать.