我有这个非常简单的16位和门在VHDL中用结构形式写的: 文件已上传here。
Map
为了在时钟的上升沿更新输出,我已经定义了这个" s"信号。我想知道这是否是更新结构VHDL代码输出的正确方法?我该怎么做才能为第一个输出扫描未知输出?
任何评论都会有很大的帮助。
答案 0 :(得分:1)
将顺序进程放入子模块并在顶层(and_16bit
)中实例化它会更好。然后你的顶级将更具结构性。
您可以像and_1bit
一样为每个位设置一个实例。
例如,该模块是1位寄存器。
entity dff_1bit is
Port (
D : in std_logic;
Clk : in std_logic;
Q : out std_logic );
end dff_1bit;
architecture Behavioral of dff_1bit is
begin
process(Clk)
begin
if rising_edge(Clk) then
Q <= D;
end if;
end process;
end Behavioral;
然后,您可以在同一个and_16bit
块内的generate
中对其进行实例化。
dff_1bit_x: dff_1bit port map (D => s(i), Clk => Clk, Q => C(i));