基于FPGA的汉明码编解码程序VHDL开发

链接:https://pan.baidu.com/s/1lrWVQ6092fbep4GKIkRwwg
提取码:499a

部分代码设计

library ieee;
use ieee.std_logic_1164.all;
entity edac3 is
 port (clk,start:in std_logic;                      --时钟和清零端口;
       mzint:in std_logic_vector (21 downto 0);  --输入22位码组端口;   
       dbout:out std_logic_vector (15 downto 0); --输出16位数据位端口;
       cbout:out std_logic_vector (5 downto 0);  --输出6位伴随式端口;
       err,int:out std_logic);                    --错误和报警端口;
 end edac3;
architecture three of edac3 is
   signal dbt:std_logic_vector(15 downto 0);           --数据位信号;
   signal cbt:std_logic_vector (5 downto 0);            --校验位信号;
   signal sbt:std_logic_vector (5 downto 0);            --伴随式信号;
  begin
  process(clk,start,cbt)
     begin
    if(start='1') then
       sbt<="000000";
       dbout<="0000000000000000";
       cbout<="000000";
       int<='0';
       err<='0';                  --若有清零为高电平,则输出都为零;
       elsif(clk'event and clk='1') then
     dbt<=mzint(21) & mzint(20) & mzint(19) & mzint(18) & mzint(17) & mzint(16) & mzint(15) & mzint(14) & mzint(13) & mzint(12) & mzint(11) & mzint(10) & mzint(9) & mzint(8) & mzint(7) & mzint(6);   --否则在时钟上升沿时,译出数据位;
     cbt<=mzint(5) & mzint(4) & mzint(3) & mzint(2) & mzint(1) & mzint(0);                                       --译码出校验位;
     sbt(5)<=cbt(5) xor
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值