Этот пример иллюстрирует валидацию реализации HDL скремблера 6 порядка. Скремблер используется в системах связи для рандомизации переходов в переданном сигнале путем тасования бит. Одной из целей скремблирования является уменьшение длины строк 0 с или 1 с в переданном сигнале, поскольку длинная строка 0 с или 1 с может вызвать проблемы синхронизации передачи. Скремблирование может также использоваться как дешевый метод шифрования. Этот пример состоит из двух моделей. Первая модель (scrambler_frame) подтверждает реализацию HDL, а вторая модель (scrambler_fsk) использует HDL-скремблер как часть канала связи.
Для запуска этого примера необходимы следующие продукты:
MATLAB
Simulink
Communications Toolbox
HDL Verifier
Программное обеспечение Cadence Incisive
Модель scrambler_frame иллюстрирует валидацию реализации HDL скремблера 6 порядка. Рукописный HDL-код предназначен для тиражирования поведения блока Scrambler в Communications Toolbox™. Программное обеспечение HDL Verifier™ используется здесь как инструмент валидации для проверки функциональной эквивалентности скремблера HDL к скремблеру Communications Toolbox.
Модель генерирует двоичную последовательность и одновременно доводит ее до реализации HDL и исходного блока Simulink ®. Две копии блока Descrambler из Communications Toolbox используются, чтобы восстановить исходный поток данных из выходов двух скремблеров. Выходы сравниваются с последовательностью входных данных, чтобы обнаружить любые расхождения, которые могут быть введены различиями между скремблерами, используя блок Error Calculation. Поскольку блок HDL Cosimulation всегда задерживает данные на одну систему координат, мы задерживаем данные во всех других ветвях, чтобы сравнение было допустимым.
Модель scrambler_fsk показывает использование Scrambler как части канала связи. Интересным блоком является скремблер 6 порядка, реализованный в HDL и косимулированный с Simulink программным обеспечением HDL Verifier. Ранее он был подтвержден как функционально эквивалентный блоку Scrambler в Communications Toolbox. Блок Descrambler находится в наборе Communications Toolbox и имеет порядок 6. Канал использует 11 биты на систему координат и кодирование BCH 11-- > 31 бит (и декодирование противоположного BCH 31-- > 11 биты). Этот метод кодирования теоретически способен исправить ошибки пакета с 5 переворачиваемыми битами. Данные передаются через канал с ошибками пакетной передачи 6 последовательных бит (т.е. 6 из 11 бит в каждой системе координат будут перевернуты).
Данные затем передаются с помощью 2-арных блоков FSK модулятора и демодулятора и Гауссова канала с очень высоким отношением сигнал/шум, поэтому мы принимаем, что почти все ошибки являются ошибками пакета, а не Гауссовыми ошибками белого шума. Местоположения развернутых бит случайным образом выбираются в каждой системе координат. Поскольку текущее строение кодирования не может исправить все ошибки, когда 6 биты переворачиваются, будут некоторые ошибки после декодирования данных, и BER (вероятность битовой ошибки) не будет нулем. Модель содержит 2 канала: один включает блоки Scrambler/Descrambler, а другой - нет. В случае с нашей моделью понятно, что BER улучшается (становится ниже), когда мы используем блоки Scrambler/Descrambler как часть нашего канала связи.