【发布时间】:2014-10-30 09:33:55
【问题描述】:
VHDL 中的 if 条件可以使用 MUX 来实现。但是我希望我的 MUX 的输出在时钟出现上升沿时发生变化。 我真的很想将时钟和 clk'event 作为我的 MUX 的选择线。
signal a:std_logic;
process(clk)
a <= clk and clk'event;
o <= (a and s1) or ((not a) and s2);
end process;
但这会给我一个错误,因为 clk'event。我尝试使用 clk'stable。但是由于 clk'stable 是一个布尔信号,它会给我一个错误。这也没有类型转换。 PURE STRUCTURAL 实现而不是行为实现还有其他替代方案吗?
【问题讨论】:
-
这只是为了模拟,还是打算制作一些可综合的设计部分?对于可综合的设计部分,使用上升沿作为 MUX 条件是没有意义的,因为该条件没有持续时间(0 ps),因此应该重新考虑设计的操作。
-
@MortenZilmer 这是一个可合成的设计部分