AES 加密通信与编码解码 FPGA 设计 VHDL Vivado

名称:AES 加密通信与编码解码 FPGA 设计 VHDL Vivado

软件:Vivado

语言:VHDL

功能介绍

本设计为 AES 加密通信相关 FPGA 工程,采用 VHDL 作为主要设计语言,开发环境为 Vivado。工程以 top 作为顶层模块,输入端提供 128 位 data_in 数据、valid_in 有效标志以及时钟复位信号,输出端给出 128 位 data_out 数据和 valid_out 有效标志,适合用于学习 AES 数据处理流程、宽位数据接口控制以及通信编码链路的 FPGA 实现方法。 设计内容不仅包含 AES 相关核心模块,还结合了串并转换、并串转换、AMI 编码解码、HDB3 编码解码等数字通信处理模块。整体结构更偏向于完整的数据处理链路示例,可用于观察明文/数据块进入 FPGA 后,经内部处理模块转换并输出结果的过程。 工程提供 Vivado 项目文件和测试平台,便于直接打开工程进行综合、编译和行为仿真。对于需要参考 VHDL 编写 AES S盒、密钥扩展、轮密钥加、行移位以及编码解码逻辑的用户,本设计具有较好的学习和二次开发价值。

运行环境

开发软件:Vivado 设计语言:VHDL 顶层模块:top 工程文件:top.xpr 主要源码目录:VHDL 仿真测试:包含 tb_top 测试文件与 Vivado 仿真相关文件

设计思路

整体设计围绕 128 位数据块处理展开,顶层模块通过 clk、rst_n、data_in、valid_in 等信号接收输入数据,并通过 data_out、valid_out 输出处理结果。valid 信号用于标识数据输入输出的有效周期,使模块在仿真和后续系统集成时具备清晰的数据握手机制。 AES 部分由 aes_top、aes_sbox、memory_S、memory_S_inv、key_extend、key_memory、addroundkey、invshiftrow、mixcolum 等模块组成。设计将 AES 算法中的关键功能拆分为多个子模块,便于分别理解 S 盒查表、密钥扩展、轮密钥运算、行移位和列混合等处理步骤,也便于在 Vivado 中进行层次化综合与调试。 通信编码部分包含 AMI 与 HDB3 的编码解码模块,同时配置 serial_to_parallel 和 parallel_to_serial 模块完成串并数据格式转换。这种结构适合将加密数据处理与线路编码逻辑结合起来学习,能够展示 FPGA 在数字通信链路中对数据编码、格式转换和加密处理的综合实现方式。 顶层参数 ENCODING_MODE 可作为编码模式选择相关的设计入口,便于根据工程逻辑切换不同处理路径。模块化划分清晰,适合在原工程基础上替换输入输出接口、扩展控制状态机或接入其他上层通信系统。

模块结构

顶层模块:top,负责时钟复位、128 位输入输出数据接口、有效信号控制以及子模块组织。 AES 相关模块:aes_top、aes_sbox、memory_S、memory_S_inv、key_extend、key_memory、sbox_word、addroundkey、invshiftrow、mixcolum。 通信编码模块:ami_encoder、ami_decoder、hdb3_encoder、hdb3_decoder。 数据格式转换模块:serial_to_parallel、parallel_to_serial。 测试模块:tb_top,用于 Vivado 行为仿真验证。

演示视频

包含演示视频,可用于查看工程运行和仿真展示效果。

仿真图/仿真说明/设计文档图片

包含设计文档内容,文档中整理了工程文件、程序文件、程序编译和仿真图等说明。工程同时包含 Vivado 仿真配置与仿真结果文件,可作为打开工程、运行仿真和查看波形的参考。

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image9.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image8.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image4.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image2.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image1.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image3.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image5.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image6.png

AES 加密通信与编码解码 FPGA 设计 VHDL Vivado 设计文档图片 image7.png

部分代码

以下展示顶层模块 top 的部分代码,完整源码请下载压缩包查看。

ENTITY top IS
   GENERIC (
      ENCODING_MODE  : INTEGER := 0
   );
   PORT (
      clk            : IN STD_LOGIC;
      rst_n          : IN STD_LOGIC;
      data_in        : IN STD_LOGIC_VECTOR(127 DOWNTO 0);
      valid_in       : IN STD_LOGIC;
      data_out       : OUT STD_LOGIC_VECTOR(127 DOWNTO 0);
      valid_out      : OUT STD_LOGIC
   );
END top;

代码文件(付费下载)

📥 付费后此处显示完整工程压缩包下载链接。
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » AES 加密通信与编码解码 FPGA 设计 VHDL Vivado

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员