【发布时间】:2018-03-23 11:29:02
【问题描述】:
几周前我开始自学 vhdl 语言,我还是个初学者;我的代码有些困难。
begin
SL: sub_layer port map(
data_in => data_key_added,
data_out => data_substituted
);
我只需要在轮数为偶数时执行上面的代码,但在轮数为奇数时不执行它(以降低功率)我想执行一些功率较小的东西,而不是像
xo: XOR_layer port map(
data_in => xo,
data_out => data
);
#
process(clk)
if rising_edge(clk) then
case to_integer(unsigned(round_counter) mod 2)is
when 0 => -- execute (sub_layer) only
when others => -- execute (XoR_layer) only
end case;
那么如何从端口映射选项中进行选择?
【问题讨论】:
-
你不执行其中一个。你实例化两者,它们总是执行。然后你选择你需要的输出。
-
我的主要目标是在偶数时执行一些指令,而在奇数时执行其他不同的指令,例如:如果偶数(纯文本+密钥更新--> perm_layer()-->sub_layer( )) 如果它是奇数 (plain +key-->xor_layer()))...如果我同时执行它们,这不会降低功率
-
那么……您想要根据某些信号值使硬件出现和消失的 VHDL 代码吗? ...在当前的硅技术中,祝你好运。
-
是的,但我不知道该怎么做,如果您有任何想法,我将不胜感激
-
不要从“执行指令”的角度思考,而更多地从硬件的角度思考。你不写软件,你设计硬件。
标签: vhdl simulation vivado