【发布时间】:2015-11-24 16:21:56
【问题描述】:
我的疑问是如何在 VHDL 中处于同一层级的两个实体之间传递时钟。 我拥有的是一个实体“包装器”,其中实例化了两个组件“comp_1”和“comp_2”。 comp_1 有一个输出端口(比方说“clk_out”),它是它的时钟,也必须是 comp_2 的时钟。现在,如果我使用“包装器”中的信号将时钟从 comp_1 传递到 comp_2,这会导致仿真中出现功能错误(至少在 Modelsim 中),因为这两种设计被认为是不同步的(对吗?)。这是否也会导致综合错误(使用 Xilinx)?如何在不改变所有结构的情况下避免该问题?
architecture bhv of my_wrap is
signal tmp_clk : std_logic;
begin
comp_1_i : comp_1
port map(out_clk => tmp_clk,
...
);
compo_2_i : comp_2
port map(in_clk => tmp_clk,
...
);
在这种情况下,在模拟中,两个组件之间的信号存在增量周期问题。这个问题也会影响在 FPGA 上实现的设计吗?
【问题讨论】:
-
请添加显示问题的代码示例;这也让您很有可能自己发现解决方案。
标签: vhdl clock xilinx modelsim