实验4AESIP核的控制模块的设计与仿真以及系统集成与.docVIP

实验4AESIP核的控制模块的设计与仿真以及系统集成与.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
预做实验报告4:AES IP核的控制模块的设计与仿真以及系统集成与仿真 一、实验目的 学会AES IP核的控制模块的设计方法以及系统集成方法。 二、实验内容 1、利用Verilog HDL设计AES IP核的控制模块。 2、利用Modelsim仿真软件对所设计AES IP核的控制模块进行功能仿真。 3、对AES IP核进行系统集成与功能仿真。 三、实验环境 PC机1台、Modelsim仿真软件1套。 四、实验步骤 1、控制模块的电路结构设计 图1 AES控制模块电路结构图 AES控制模块的外部信号如下表所示: 表1 AES控制模块的外部信号说明 信号名称 信号宽度 传输方向 信号含义 clk 1位 输入 时钟信号 rst 1位 输入 复位信号,1有效。 load 1位 输入 数据装载使能信号,用于控制输入明/密文、密钥、S盒配置数据等,1有效。 address 8位 输入 寄存器或RAM地址,用于表示明文/密文/密钥寄存器、S盒RAM单元。 keyexp 1位 输入 密钥扩展使能信号,1有效。 staenc 1位 输入 开始加密使能信号,1有效。 stadec 1位 输入 开始解密使能信号,1有效。 keyexprdy 1位 输出 密钥扩展完成标识信号,1有效。 encdecrdy 1位 输出 加/解密运算完成标识信号,1有效。 keysel 1位 输出 轮密钥选择信号,keysel=0选择密钥寄存器中的种子密钥,否则,选择经过密钥扩展变换的轮密钥。 rndkren 1位 输出 轮密钥寄存器写使能信号,1有效。 wrrndkrf 1位 输出 轮密钥寄存器堆写使能信号,1有效。 rconen 1位 输出 轮常数寄存器写使能信号,1有效。当有效时将下一个轮常数写入轮常数寄存器。 wrsben 1位 输出 向S盒写入配置数据的使能信号,1有效。 mixsel 1位 输出 选择是否进行逆列混合变换,在进行第1-9轮解密变换时为1,其余时间为0。 reginsel 1位 输出 结果寄存器输入数据选择信号。 wrregen 1位 输出 结果寄存器写使能信号,1有效。 wrpckreg 1位 输出 明文/密文/密钥寄存器的写使能信号,1有效。 keyadsel 2位 输出 密钥加操作输入数据选择信号,2’b00选择外部输入数据,2’b 01选择列混合变换的结果,2’b10选择第10轮加密变换所需的S盒输出,2’b11选择第10轮解密变换所需的S盒输出。 krfaddr 4位 输出 轮密钥寄存器堆地址,表示11个轮密钥寄存器的地址。 wrsbaddr 7位 输出 S盒配置数据的地址。 图2 AES加密状态机状态转移图 2、建立控制模块的Verilog模型 module aescontrol(clk,rst,load,address,keyexp,staenc,stadec,keyexprdy,encdecrdy,keysel,rndkren,wrrndkrf,krfaddr,rconen,wrsben,wrsbaddr,keyadsel,mixsel,reginsel,wrregen,wrpckreg); output keyexprdy,encdecrdy,keysel,rndkren,wrrndkrf,rconen; output wrsben,mixsel,reginsel,wrregen,wrpckreg; output [1:0] keyadsel; output [3:0] krfaddr,wrsbaddr; input clk,rst,load,keyexp,staenc,stadec; input[4:0] address; wire [3:0] wrkrfaddr,rdkrfaddre,rdkrfaddrd,encstate,decstate; wire [1:0] keyadsele,keyadseld; wire mixsele,reginsele,wrregene,encrdy,mixseld,reginseld,wrregend,decrdy; assign krfaddr=(encstate != 4d0)? rdkrfaddre:((decstate != 4d0)?rdkrfaddrd:wrkrfaddr); assign keyadsel=(encstate != 4d0)? keyadsele:keyadseld; assign mixsel=(encstate != 4d0)? mixsele:mixseld; assign reginsel=(encstate != 4d0)? reginsele:reginseld; assign wrregen=(enc

文档评论(0)

天马行空 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档