在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1788|回复: 3

[求助] 二输入寄存器的赋值问题

[复制链接]
发表于 2015-6-10 22:08:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在写AES加密的时候碰到的问题。
需要用一个线性反馈移位寄存器产生的控制信号来控制两个寄存器矩阵,控制信号决定了两个寄存器矩阵的输入。

现在的问题是:
这三个寄存器都是沿上升沿触发,也就是说时钟上升沿以后,寄存器的控制信号会发生变化,请问这样会不会导致寄存器的输出发生变化?

自己想的解决方案是讲接入线性反馈移位寄存器的时钟反相,这样可以让寄存器的控制信号在时钟上升沿前后都不发生变化。 ?


希望前辈来出来指导一下下
发表于 2015-6-11 11:37:32 | 显示全部楼层
我也写过AES的verilog,怎么没有遇到这个问题,还有就是,我理解不清你的问题,贴段代码就好了
 楼主| 发表于 2015-6-11 15:13:05 | 显示全部楼层
回复 2# 又是一个号


  这个是两个寄存器矩阵内部的某个寄存器的描述:





  1.         always @ (posedge clk or negedge rst_n)        begin                if(!rst_n)                S10 <= 8'h00;                else if(en_row_shift)                S10 <= S11;                else if(en_horizontalshift)                S10 <= S11;        end


复制代码



这个是线性反馈移位寄存器的描述:






  1. reg        [4:0]        lfsr;
  2. always @(negedge clk or negedge reset_n)if(!reset_n)        lfsr <= 5'b00010;else begin        lfsr[4:1] <= lfsr[3:0];        lfsr[0] <= lfsr[4]^lfsr[0]; end


复制代码



控制单元是组合逻辑:





  1.   case(lfsr)          //be aware the LFSR will run right after the second posedge of clk                            //so... also we can one signal to make the lfsr not run until all the               5'h02:  //data has been put, and secure the LFSR module.                     begin                    en_horizontalshift_keyarray  <=1'b0; //KeyArray w[i] (i mod 4 = 0) generation                    en_vertical_shift            <=1'b1; //take four clocks,1st KeyGeneration                      en_k00_xor                   <=8'h00;//                                                    loadkey                      <=1'b0; //                                            en_row_shift                 <=1'b1; // Row Shift is done                                            en_horizontalshift_statearray<=1'b0; //                                            en_addroundkey                     <=1'b0; //do not care anymore.                             end                           


复制代码




问题是,每个时钟信号上升沿过后,控制信号也被改变了,这样貌似可以通过仿真,但是实际电路里又该怎么对待这个这个问题?
发表于 2015-6-27 17:24:27 | 显示全部楼层
仿真通过的话,实际问题应该就不大了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 23:49 , Processed in 0.028881 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表