Ear*_*rlz 7 hardware syntax vhdl hdl
我正在学习VHDL,我正在尝试从示例,语法指南和实验中学习.
有一点我不太明白为什么你想要提供多个架构.例如,这个示例MUX代码:
architecture behv1 of Mux is
begin
process(I3,I2,I1,I0,S)
begin
-- use case statement
case S is
when "00" => O <= I0;
when "01" => O <= I1;
when "10" => O <= I2;
when "11" => O <= I3;
when others => O <= "ZZZ";
end case;
end process;
end behv1;
architecture behv2 of Mux is
begin
-- use when.. else statement
O <= I0 when S="00" else
I1 when S="01" else
I2 when S="10" else
I3 when S="11" else
"ZZZ";
end behv2;
Run Code Online (Sandbox Code Playgroud)
有它的目的,还是仅仅为了清酒?
此外,不确定这是属于这里还是Electronics.SE,所以我想先试试这里.
虽然这个特定的例子似乎仅仅是为了一个例子,但是有几个原因可以解释为什么你需要为某些设计采用不同的架构.
当你试图模拟整个SoC设计的另一个(不相关的)部分时,通常做的一件事是出于性能原因提供IP设计的黑盒模型.
或者,您可能拥有更高级别的IP模型,允许更快的模拟时间,以及用于合成的模型.较高级别的模型通常用于处理器内核,因为在验证设计的其余部分时通常不需要模拟整个内核.
另一个可能的原因是在IP设计中有选择地具有不同的行为,以便在将IP集成到SoC设计中时可以实例化略微不同的版本.例如,一个架构可能用于一个时钟域操作,而另一个架构可能在两个不同的时钟域之间具有同步.