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