我编了个数字相位计,测两个同频输入方波的相位差+-180度,其中有个鉴相器,程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity pd is
port( a,b : in std_logic;
en,flag: out std_logic);
end pd;
architecture art of pd is
begin
en <= a xor b;
process(b)is
begin
if (b'event and b='1')then
flag <= a;
end if;
end process;
end art;
我综合过了,想用Spartan2 实现,结果在“Map”时出错了,显示如下:
Started process "Map".
Using target part "2s100pq208-6".
ERROR:MapLib:93 - Illegal LOC on IPAD symbol "b" or BUFGP symbol "b_BUFGP"
(output signal=b_BUFGP), IPAD-IBUFG should only be LOCed to GCLKIOB site.
Error found in mapping process, exiting...
Errors found during the mapping phase.  
![](images/smilies/default/titter.gif)
lease see map report file for more
details. Output files will not be written.
Design Summary
--------------
Number of errors : 1
Number of warnings : 0
ERROR: MAP failed
Process "Map" did not complete.
Mapping Module phasemeter . . .
MAP command line:
map -intstyle ise -p xc2s100-pq208-6 -cm area -pr b -k 4 -c 100 -tx off -o phasemeter_map.ncd phasemeter.ngd phasemeter.pcf
Mapping Module phasemeter: failed
请各位看看吧,给小弟说明下原因,下周还没解决的话,我这个科目将不及格了。我们老师要求太高了。