Lattice Diamond:找到推断时钟

时间:2017-04-18 14:55:06

标签: lattice-diamond

我正在为一个班级的项目工作,我遇到了问题。我的任务是绘制一个注册表计划。我这样做但是我收到了警告,我的测试结果是错误的。我得到的警告是:

  1. 2019993警告 - MT420 |找到推断时钟SCHEMA1 | C,周期为1000.00ns。请在对象“p:C”

  2. 上声明用户定义的时钟
  3. 2019991警告 - MT529:“c:\”|找到推断时钟SCHEMA1 | C,它控制包括I25在内的8个连续元素。该时钟没有指定的时序约束,可能会阻止门控或生成时钟的转换,并可能对设计性能产生不利影响。

  4. 信号gnd和vcc未被取消。

  5. 我的vhd代码就是这个。

    library IEEE;
    use IEEE.std_logic_1164.all;
    library xp2;
    use xp2.components.all;
    
    entity SCHEMA1 is
          Port (       C : In    std_logic;
                     rst : In    std_logic;
                      DR : In    std_logic;
                      Q7 : Out   std_logic;
                      D7 : In    std_logic;
                      A0 : In    std_logic;
                      A1 : In    std_logic;
                      Q6 : Out   std_logic;
                      D6 : In    std_logic;
                      Q5 : Out   std_logic;
                      D5 : In    std_logic;
                      Q4 : Out   std_logic;
                      D4 : In    std_logic;
                      Q3 : Out   std_logic;
                      D3 : In    std_logic;
                      Q2 : Out   std_logic;
                      D2 : In    std_logic;
                      Q1 : Out   std_logic;
                      D1 : In    std_logic;
                      DL : In    std_logic;
                      Q0 : Out   std_logic;
                      D0 : In    std_logic );
    
    end SCHEMA1;
    
    architecture SCHEMATIC of SCHEMA1 is
    
       SIGNAL gnd : std_logic := '0';
       SIGNAL vcc : std_logic := '1';
    
       signal     N_17 : std_logic;
       signal     N_16 : std_logic;
       signal Q0_DUMMY : std_logic;
       signal Q1_DUMMY : std_logic;
       signal Q2_DUMMY : std_logic;
       signal Q3_DUMMY : std_logic;
       signal Q4_DUMMY : std_logic;
       signal Q5_DUMMY : std_logic;
       signal Q6_DUMMY : std_logic;
       signal Q7_DUMMY : std_logic;
       signal      N_1 : std_logic;
       signal      N_2 : std_logic;
       signal      N_3 : std_logic;
       signal      N_4 : std_logic;
       signal      N_5 : std_logic;
       signal      N_6 : std_logic;
       signal      N_7 : std_logic;
       signal      N_8 : std_logic;
       signal      N_9 : std_logic;
       signal     N_10 : std_logic;
       signal     N_11 : std_logic;
       signal     N_12 : std_logic;
       signal     N_13 : std_logic;
       signal     N_15 : std_logic;
    
       component fd1s3ax
          Port (      CK : In    std_logic;
                       D : In    std_logic;
                       Q : Out   std_logic );
       end component;
    
       component mux41
          Port (      D0 : In    std_logic;
                      D1 : In    std_logic;
                      D2 : In    std_logic;
                      D3 : In    std_logic;
                     SD1 : In    std_logic;
                     SD2 : In    std_logic;
                       Z : Out   std_logic );
       end component;
    
       component and2
          Port (       A : In    std_logic;
                       B : In    std_logic;
                       Z : Out   std_logic );
       end component;
    
    begin
    
       Q7 <= Q7_DUMMY;
       Q6 <= Q6_DUMMY;
       Q5 <= Q5_DUMMY;
       Q4 <= Q4_DUMMY;
       Q3 <= Q3_DUMMY;
       Q2 <= Q2_DUMMY;
       Q1 <= Q1_DUMMY;
       Q0 <= Q0_DUMMY;
    
       I25 : fd1s3ax
          Port Map ( CK=>C, D=>N_17, Q=>Q7_DUMMY );
       I7 : fd1s3ax
          Port Map ( CK=>C, D=>N_12, Q=>Q6_DUMMY );
       I6 : fd1s3ax
          Port Map ( CK=>C, D=>N_10, Q=>Q5_DUMMY );
       I5 : fd1s3ax
          Port Map ( CK=>C, D=>N_16, Q=>Q4_DUMMY );
       I4 : fd1s3ax
          Port Map ( CK=>C, D=>N_7, Q=>Q3_DUMMY );
       I3 : fd1s3ax
          Port Map ( CK=>C, D=>N_5, Q=>Q2_DUMMY );
       I2 : fd1s3ax
          Port Map ( CK=>C, D=>N_3, Q=>Q1_DUMMY );
       I1 : fd1s3ax
          Port Map ( CK=>C, D=>N_1, Q=>Q0_DUMMY );
       I24 : mux41
          Port Map ( D0=>Q7_DUMMY, D1=>DR, D2=>Q6_DUMMY, D3=>D7, SD1=>A0,
                     SD2=>A1, Z=>N_15 );
       I23 : mux41
          Port Map ( D0=>Q6_DUMMY, D1=>Q7_DUMMY, D2=>Q5_DUMMY, D3=>D6,
                     SD1=>A0, SD2=>A1, Z=>N_13 );
       I22 : mux41
          Port Map ( D0=>Q5_DUMMY, D1=>Q6_DUMMY, D2=>Q4_DUMMY, D3=>D5,
                     SD1=>A0, SD2=>A1, Z=>N_11 );
       I21 : mux41
          Port Map ( D0=>Q4_DUMMY, D1=>Q5_DUMMY, D2=>Q3_DUMMY, D3=>D4,
                     SD1=>A0, SD2=>A1, Z=>N_9 );
       I20 : mux41
          Port Map ( D0=>Q3_DUMMY, D1=>Q4_DUMMY, D2=>Q2_DUMMY, D3=>D3,
                     SD1=>A0, SD2=>A1, Z=>N_8 );
       I19 : mux41
          Port Map ( D0=>Q2_DUMMY, D1=>Q3_DUMMY, D2=>Q1_DUMMY, D3=>D2,
                     SD1=>A0, SD2=>A1, Z=>N_6 );
       I18 : mux41
          Port Map ( D0=>Q1_DUMMY, D1=>Q2_DUMMY, D2=>Q0_DUMMY, D3=>D1,
                     SD1=>A0, SD2=>A1, Z=>N_4 );
       I17 : mux41
          Port Map ( D0=>Q0_DUMMY, D1=>Q1_DUMMY, D2=>DL, D3=>D0, SD1=>A0,
                     SD2=>A1, Z=>N_2 );
       I16 : and2
          Port Map ( A=>N_15, B=>rst, Z=>N_17 );
       I15 : and2
          Port Map ( A=>N_13, B=>rst, Z=>N_12 );
       I14 : and2
          Port Map ( A=>N_11, B=>rst, Z=>N_10 );
       I13 : and2
          Port Map ( A=>N_9, B=>rst, Z=>N_16 );
       I12 : and2
          Port Map ( A=>N_6, B=>rst, Z=>N_5 );
       I11 : and2
          Port Map ( A=>N_4, B=>rst, Z=>N_3 );
       I10 : and2
          Port Map ( A=>N_2, B=>rst, Z=>N_1 );
       I9 : and2
          Port Map ( A=>N_8, B=>rst, Z=>N_7 );
    
    end SCHEMATIC;
    

    我没有更改任何此代码。我只是绘制了一个方案,并为我得到了这些奇怪的错误...到目前为止我发现的任何解决方案都建议在sdc文件或其他东西上写一些东西,但是我们的任务不需要这个,它应该在不改变代码的情况下工作。此外,我甚至没有使用gnd和vcc信号,他们是为我创建的,他们已经完成了任何其他任务,之前从未收到此警告。

0 个答案:

没有答案