汉明纠错吗编码器.txt
上传用户:easylife05
上传日期:2013-03-21
资源大小:42k
文件大小:1k
源码类别:

VHDL/FPGA/Verilog

开发平台:

C/C++

  1. -- Hamming Encoder
  2. -- A 4-bit Hamming Code encoder using concurrent assignments. 
  3. -- The output vector is connected to the individual parity bits using an aggregate assignment. 
  4. -- download from: www.pld.com.cn & www.fpga.com.cn
  5. LIBRARY ieee;
  6. USE ieee.std_logic_1164.ALL;
  7. ENTITY hamenc IS
  8.    PORT(datain : IN BIT_VECTOR(0 TO 3);    --d0 d1 d2 d3
  9.         hamout : OUT BIT_VECTOR(0 TO 7));  --d0 d1 d2 d3 p0 p1 p2 p4
  10. END hamenc;
  11. ARCHITECTURE ver2 OF hamenc IS
  12.    SIGNAL p0, p1, p2, p4 : BIT;    --check bits
  13. BEGIN
  14.       
  15.    --generate check bits
  16.    p0 <= (datain(0) XOR datain(1)) XOR datain(2);
  17.    p1 <= (datain(0) XOR datain(1)) XOR datain(3);
  18.    p2 <= (datain(0) XOR datain(2)) XOR datain(3);
  19.    p4 <= (datain(1) XOR datain(2)) XOR datain(3);
  20.    --connect up outputs
  21.    hamout(4 TO 7) <= (p0, p1, p2, p4);
  22.    hamout(0 TO 3) <= datain(0 TO 3);
  23. END ver2;