ADC 服務的一些應用包括超高速多載波蜂窩基礎設施基站
RS碼是一種常用的糾錯編碼,本文主要介紹如何在vivado環境下利用RS IP核實現RS碼的編譯碼。
RS Encoder
首先對IP核的基本參數進行設置,需要配置數據的位寬,以及RS碼的(k,n)參數。
打開IP核的數據手冊
RS Encoder核的所有引腳如下圖所示,在進行例化時即按照該表中的引腳進行例化。
Signal一欄表示該IP核的所有引腳
DirecTIon一欄表示該引腳的輸入輸出狀態
OpTIonal一欄表示該引腳是否可選擇例化,No表示必須對該引腳進行例化,Yes表示該引腳可以選擇不例化。一般進行例化時只對必須要進行例化的引腳進行操作
DescripTIon一欄是對該引腳的功能進行描述
需要注意的是s_axis_input_tready引腳為輸出引腳,m_axis_output_tready引腳為輸入引腳,不要被命名給搞混。
確定IP核的基本引腳后,就可以按照時序圖來對IP核進行編輯,RS Encoder的時序圖如下圖所示:
按照時序進行控制:
輸入端主要包含三個信號:s_axis_input_tdata、s_axis_input_tvalid、s_axis_input_tlast。s_axis_input_tdata為輸入的待編碼數據,s_axis_input_tvalid信號在數據輸入有效時拉高,s_axis_input_tlast信號當一個數據段的最后最后一個數據到達時拉高。m_axis_output_tread一般保持高電平即可。
輸出端主要用到三個信號:m_axis_output_tdata、m_axis_output_tvalid、m_axis_output_tlast。m_axis_output_tdata為編碼后的信號,IP核輸出為系統碼,輸出前面部分對應著輸入的數據,后面部分對應的冗余數據;m_axis_output_tvalid在輸出有效時拉高;m_axis_output_tlast在一個編碼數據段的最后最后一個數據到達時拉高。
仿真結果如下圖:
RS Decoder
RS譯碼核的操作與編碼核類似,也是通過看手冊中的引腳圖和時序圖進行操作,不做過多描述。
按照IP核的引腳表進行元件例化。
按照時序圖對信號進行操作,從時序圖中可以看到,我們的譯碼輸入長度和輸入長度相同,依然是帶有冗余數據的,因此我們需要按照輸入數據的長度進行裁剪。
仿真結果如下圖(只截取了所需信號):
更多信息可以來這里獲取==>>電子技術應用-AET<<