作者zxvc (百善孝为先)
站内Electronics
标题Re: [问题] VHDL 程式问题!!
时间Thu Dec 20 11:57:04 2007
※ 引述《asdd (希望..........)》之铭言:
: ※ 引述《asdd (希望..........)》之铭言:
: : 小弟的部份程式:
: : cc:PROCESS(CTL,rxd_data)
: : BEGIN
: : if CTL='1' then
: : IO_ADDR<="0000000000000000" ;
: : IO_DATA<=rxd_data(7 downto 0) ;
: : else
: : IO_ADDR<="0000000100000000" ;
: : DBUS(7 downto 0)<=IO_DATA ;
: : seg(7 downto 0)<=DBUS(7 downto 0) ;
: : end if ;
: : END PROCESS;
: : 编译环境使用xilinx ise 在编译的时候synthesize 的时候 是可以编译过的
: : 可是在implement desing的时候 却出现
: : ERROR:MapLib:93 - Illegal LOC on IPAD symbol "CTL" or BUFGP symbol "CTL_BUFGP"
: : 的错误讯息!!不知道有没有其他的大大遇过类似的问题......谢谢
: 我是不清楚为什麽CTL会产生BUFGP这个东西,可是该怎样移除掉呢?
: http://gigi596.myweb.hinet.net/uuu.bmp 如图
: 对於CTL我只是用来当作一般的IO PIN而已,IO PIN那边是有出现CTL
: 可是在GLOBAL LOGIC 为什麽会出现那样呢?
: 可是我尝试着要移除它,可是都无法如意!!
: 请问该怎样解决呢?谢谢
我翻了Xilinx ISE的Library Guide,
BUFG, BUFGP通常会在clock net上被infer出来。
照你的uuu.bmp,在你的CTL与clk上都有相对应的BUFGP,
可见得你的CTL与clk其实是clock signal。
你写的硬体的确如此,IO_DATA在CTL positive edge取样资料,
其他时候都在latch资料,所以CTL是用来trigger IO_DATA register的clock signal。
你MAP时的错误,原因我也不太懂,我一时也无法重制你的错误。
但我查过网路上的解法,
就是你试试看把CTL, clk接到IBUF,再用buffered後的讯号去驱动你的电路看看。
Verilog语法是这样(抱歉,我不太会VHDL):
wire CTL2, clk2;
IBUF CTLBuf( CTL2, CTL );
IBUF clkBuf( clk2, clk );
--
西方三圣:
http://p8.p.pixnet.net/albums/userpics/8/3/553683/1193661731.jpg
《佛说阿弥陀经》
http://web.cc.ncu.edu.tw/~93501025/amtf.doc
《观世音菩萨普门品》
http://web.cc.ncu.edu.tw/~93501025/pmp.doc
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.204.3