我正在做一个关于使用 VHDL 创建加密块的作业。 在执行此操作时,我需要创建几个基本实体,如异或或复用器,它们是用过程描述的,并且时钟信号不包含在敏感列表中。 以 MUX 为例:
process(S,D0,D1)
begin
case S is
when '0' =>
O <= D0;
when '1' =>
O <= D1;
when others =>
O <= (others => 'X');
end case;
end process;
同时,其他一些模块使用clk作为驱动信号: 作为注册者:
process (Clock)
begin
if (Clock='1' and Clock'EVENT )then
if (ENABLE='1') then
Q <= D;
end if;
end if;
end process;
这是合法的吗?我认为这是我们在实际设计中不想要的东西,我是对的吗?
可以通过模拟和综合。但这样做可以吗?