我正在为一个班级的项目工作,我遇到了问题。我的任务是绘制一个注册表计划。我这样做但是我收到了警告,我的测试结果是错误的。我得到的警告是:
2019993警告 - MT420 |找到推断时钟SCHEMA1 | C,周期为1000.00ns。请在对象“p:C”
2019991警告 - MT529:“c:\”|找到推断时钟SCHEMA1 | C,它控制包括I25在内的8个连续元素。该时钟没有指定的时序约束,可能会阻止门控或生成时钟的转换,并可能对设计性能产生不利影响。
信号gnd和vcc未被取消。
我的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信号,他们是为我创建的,他们已经完成了任何其他任务,之前从未收到此警告。