<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > CPLD/FPGA在數字通信系統的應用

CPLD/FPGA在數字通信系統的應用

作者: 時(shí)間:2017-06-05 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/201706/348938.htm


近年來(lái),由于微電子學(xué)和計算機技術(shù)的迅速發(fā)展,給EDA技術(shù)行業(yè)帶來(lái)了巨大的變化。 (hardware description language)硬件描述語(yǔ)言是一種描述電路行為的語(yǔ)言,是設計者和EDA工具的界面,設計者通過(guò)描述自己的設計對象。目前比較流行的主要有 HDL、VHDL、AHDL等,其中 HDL和VHDL因為適合標準化的方面而最終成為IEEE標準。但是 HDL比VHDL更容易掌握,并且完成同一功能的Verilog HDL條數一般僅為VHDL的1/3,Verilog HDL 善于描述更低層設計包括結構級和物理層的設計,而VHDL設計技術(shù)很不直觀(guān),設計人員需要有EDA編程基礎,經(jīng)過(guò)半年左右的專(zhuān)業(yè)培訓才能掌握,所以用Verilog HDL的優(yōu)越性高一些。作為學(xué)習HDL設計方法的入門(mén)和基礎,是一種值得大力推廣的硬件描述語(yǔ)言。


2 的基本原理


是一種能夠糾正一個(gè)錯碼且編碼效率較高的線(xiàn)性碼。在偶數監督碼中,無(wú)論信息位有多少,監督位只有一位,它使碼組中“1”的個(gè)數為偶數,在接收端解碼的時(shí)候,實(shí)際就是計算S= an-1⊕ an-2⊕。。。。⊕a0,若S=0,就認為無(wú)錯,若S=1,就認為有錯。上式稱(chēng)為監督關(guān)系式,S為校正子。由于校正子S的取值只有這樣兩種,它只能代表有錯和無(wú)錯兩種信息,而不能指出錯碼的位置。如果監督位增加一位,即變成兩位,可能有四種組合:00,01,10,11,故能表示四種不同虛報許,若用其中一種表示無(wú)錯,則其余三種就有可能用來(lái)指示一位錯碼 的3種不同位置,同理,r個(gè)監督關(guān)系式就能指示一位錯碼的(2r-1)個(gè)可能位置.一般說(shuō)來(lái),若碼長(cháng)為n,信息位數為k,則監督位數r=n-k.如果希望用r個(gè)監督位夠造出r個(gè)監督關(guān)系式來(lái)指示一位錯碼的n種可能位置,則要求
2r-1≥n ; 2r≥k+r+1;
設分組碼(n, k)中k=4.為糾正一位錯碼,要求監督位數r≥3.若取r=3,則n= k+r=7.我們用a6a5a4…a0表示7個(gè)碼元,用S1S2S3表示三個(gè)監督關(guān)系式中的校正子,則S1S2S3的值與錯碼位置的關(guān)系如下表.

由表可知,僅當一錯碼位置在 a2 a4 a5 a6時(shí),校正子S1為1,否則S1為0.這就意味著(zhù)a2 a4 a5 和a6 構成偶數監督關(guān)系
S1= a2 ⊕ a4⊕ a5⊕a6
同理
S2= a1 ⊕ a3⊕a5⊕a6
S3= a0 ⊕a3⊕a4⊕a6
在發(fā)送端編碼時(shí),信息位a6 a5 a4和 a3 的值決定于輸入信號,因此它們是隨機的。監督位a2 a1 和 a0 應根據信息位的取值按監督關(guān)系來(lái)確定,即監督位應使上三式中的S1S2S3的值為零。
a2⊕a4⊕a5⊕a6=0
a1⊕a3⊕a5⊕a6 =0
a0⊕a3⊕a4⊕a6=0
有上式移項運算,解出監督位
a2= a4⊕a5⊕a6
a1= a3⊕a5⊕a6
a0= a3⊕a4⊕a6
根給定信息位后,可直接計算出監督位,如下表

接收到每個(gè)碼組后,先按上式計算出S1 S2 和S3 ,再按上表判斷錯碼情況。例如,若接收碼組為0000110,則計算的S1 =1,S2 =1,S3 =0,由于S1 S2 S3 等于110,可知a5位有一錯碼。上述方法構成的碼稱(chēng)為。表Ⅱ所列的(7,4)漢明碼最小碼距是d0=3,這種碼能糾正一個(gè)錯碼或檢測兩個(gè)錯碼。漢明碼的編碼效率等于k/n=(2r-1-r)/( 2r-1)=1-r/(2r-1)=1-r/n.當n很大時(shí),則編碼效率接近1??梢?jiàn)漢明碼是一種高效碼。

3 編碼電路的實(shí)現


本設計的開(kāi)發(fā)平臺是MAX+PLUSⅡ[4], MAX+PLUSⅡ是Altra公司專(zhuān)為本公司生產(chǎn)的PLD的研制和應用開(kāi)發(fā)的軟件它的突出特點(diǎn)在于其強大的綜合能力和布局布線(xiàn)能力,另外還具有適用范圍廣、器件結構獨立、通用性好、兼容性好、集成度與自動(dòng)化程度高以及易學(xué)易用的特點(diǎn).


編碼器設計的特點(diǎn)是使用了矩陣的乘法,假設A是輸入至編碼器的數據向量,G是矩陣乘法的發(fā)生矩陣,C是漢明碼碼字,那么根據矩陣乘法計算得到漢明碼字。

程序編寫(xiě)如下
module bianma(clk,reset,data_in,dcin,code_out,dcout);
input clk,reset;//時(shí)鐘和復位信號.
input[3:0] data_in;//輸入數據變量,位寬為4bit.
input dcin;//輸入有效控制信號,定義1表無(wú)效,編碼器不輸出碼字,定義0表有效.
output[6:0] code_out;//編碼器輸出,位寬為7bit.
output dcout;//輸出有效控制信號,定義1表無(wú)效.定義0表有效.
reg[6:0] code_out;
reg dcout;
reg[3:0] datareg;
reg dcinreg;
wire c0=datareg[3];
wire c1=datareg[2];
wire c2=datareg[1];
wire c3=datareg[0];
wire c4=datareg[3]^datareg[2]^datareg[1];
wire c5=datareg[3]^datareg[2]^datareg[0];
wire c6=datareg[3]^datareg[1]^datareg[0];

always@(posedge clk or negedge reset)//根據時(shí)鐘信號和輸入使能信號采集數據.
if(!reset)
dcinreg=1;
else
dcinreg=dcin;
always@(posedge clk)//采集是否有效.
if (reset)
datareg=0;
else if(!dcin)
datareg=data_in;
always@(posedge clk)//碼字在數據向量采集后一個(gè)時(shí)鐘周期計算得到.
if (reset)
dcout=1;
else
dcout=dcinreg;
always@(posedge clk)//碼字輸出是否有效.
if(reset)
code_out =0;
else
code_out={c0,c1,c2,c3,c4,c5,c6};
endmodule


該源程序經(jīng)過(guò)編譯和仿真,時(shí)序圖如下所示,得到結果符合系統功能要求

本設計使用的芯片為MAX3000A系列EPM3032ALC44-4,芯片的輸入輸出端口的設計采用D觸發(fā)器組來(lái)緩存數據,確保采集數據向量和發(fā)送的碼字穩定,并于時(shí)鐘信號嚴格同步。

4 結束語(yǔ)


本文通過(guò)介紹漢明碼的編碼原理,進(jìn)而用Verilog HDL進(jìn)行漢明碼編碼器的設計,并通過(guò)時(shí)序仿真波形圖進(jìn)行邏輯分析,結果符合實(shí)際情況.而Verilog HDL有著(zhù)類(lèi)似C語(yǔ)言的編程風(fēng)格,易于學(xué)習和掌握,與傳統的原理圖設計方法相比較, Verilog HDL更適合于規模日益增大的數字系統. Verilog HDL等硬件描述語(yǔ)言進(jìn)行數字系統的設計是EDA發(fā)展的趨勢,在數字系統的設計中有著(zhù)廣泛的空間.



關(guān)鍵詞: Verilog CPLD FPGA HDL 漢明碼

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>