【问题标题】:Parallel stadium of Pipeline and Multiplexer 2:1Pipeline和Multiplexer 2:1的平行体育场
【发布时间】:2013-01-07 02:45:30
【问题描述】:

我有一个 Spartan-E3 FPGA,我正在实现一个具有 4 个阶段的(并行)管道,如下所示:http://i.imgur.com/6CQNk.png

两个阶段“T3”是相同的。 T1、T2 和 T4 以 50MHz “运行”,而 T3 以 25MHz 运行(如图所示,偏移 180°)。

在行为模拟中它工作正常,结果是正确的。当我尝试在我的 FPGA 上合成这个项目时,就会出现问题。特别是我收到这些警告(当然产生的结果是错误的):

WARNING:LIT:175 - Clock buffer is designated to drive clock loads. BUFGMUX
symbol "physical_group_clk_2/Clock_DCM/CLKFX_BUFG_INST" (output signal=clk_2)
has a mix of clock and non-clock loads. Some of the non-clock loads are
(maximum of 5 listed):
Pin I0 of pipeline/mux3/o<65>1
Pin I0 of pipeline/mux3/o<64>1
Pin I0 of pipeline/mux3/o<17>
Pin I0 of pipeline/mux3/o<18>
Pin I0 of pipeline/mux3/o<20>
WARNING:Route:455 - CLK Net:clk_2 may have excessive skew because 
0 CLK pins and 66 NON_CLK pins failed to route using a CLK template.

其中“clk_2”是时钟 25MHz。 这是“我的多路复用器”:stage_4_in

基本上我不能用时钟信号驱动多路复用器选择。那么,我该怎么做呢? 我必须这样做:如果 CLOCK 25MHz 高,则多路复用器输出必须是最高的;否则它必须是第二个(底部)。我不知道该怎么做。

顺便说一下,这是 DCM 配置:

CLK_FEEDBACK => "1X",
CLKDV_DIVIDE => 2.0,
CLKFX_DIVIDE => 4,
CLKFX_MULTIPLY => 2,
CLKIN_DIVIDE_BY_2 => FALSE,
CLKIN_PERIOD => 20.000,
CLKOUT_PHASE_SHIFT => "NONE",
DESKEW_ADJUST => "SYSTEM_SYNCHRONOUS",
DFS_FREQUENCY_MODE => "LOW",
DLL_FREQUENCY_MODE => "LOW",
DUTY_CYCLE_CORRECTION => TRUE,
FACTORY_JF => x"C080",
PHASE_SHIFT => 0,
STARTUP_WAIT => TRUE

提前致谢。

【问题讨论】:

    标签: vhdl pipeline cpu-architecture fpga


    【解决方案1】:

    消除 25MHz 时钟 - 全部从 50MHz 时钟运行,在偶数和奇数 50MHz 周期内启用时钟,以便在您希望以 25MHz 运行的阶段。 (当前的 25MHz 时钟可能会用作时钟使能信号)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多