重新访问一些VHDL,我想知道内部流程,例如,为什么我们需要为时钟声明一个信号?然后在代码中将它从实体分配给端口...
示例VHDL:
signal clk_int: std_logic := '1';
BEGIN
clkgen: process(clk_int)
begin
clk_int <= not clk_int after 50ns
end process ckgen
ck_l <= clk_int;
在这个例子中,ck_l是来自d触发器的物理端口,但我们创建并乱用clk int然后将值返回给ck
答案 0 :(得分:1)
原因是在这种情况下,端口ck_l
可能以方向out
声明,因此无法读取。如果你想阅读它,就像你想要一个对它敏感的进程一样,你需要使用一个信号或将端口声明为inout
或buffer
。