Решил попробовать проект (с 1Г МАК-ом) перевести с синтеза XST на Sinplify 8.2 pro.
Синтез делается успешно. А дальше транслятор не хочет переваривать прежний ucf файл.
Причина одна и таже - не может найти в проекте либо NET, либо INST.
Вот для примера пишет такую ошибку:
Код
ERROR:NgdBuild:756 - Line 48 in 'top.ucf': Could not find net(s)
'*rgmii_interface/rgmii_rx_clk_bufg' in the design. To suppress this error
specify the correct net name or remove the constraint.
При этом связь rgmii_rx_clk_bufg в этом модуле (rgmii_interface) присутствует, так же как и она же инверсная (180) под названием not_rgmii_rx_clk_bufg. В этом модуле они определены так:
Код
wire rgmii_rx_clk_bufg;
wire not_rgmii_rx_clk_bufg;
...
DCM rgmii_rxc_dcm (
.CLKIN (rgmii_rxc_ibufg),
.CLKFB (rgmii_rx_clk_bufg),
.RST (dcm_reset),
.CLK0 (rgmii_rx_clk_dcm),
.CLK180 (not_rgmii_rx_clk_dcm),
.LOCKED (dcm_locked)
);
...
BUFG bufg_rgmii_rx_clk (.I(rgmii_rx_clk_dcm), .O(rgmii_rx_clk_bufg));
BUFG bufg_not_rgmii_rx_clk (.I(not_rgmii_rx_clk_dcm), .O(not_rgmii_rx_clk_bufg));
...
always @(posedge rgmii_rx_clk_bufg or posedge reset)
...
always @(posedge not_rgmii_rx_clk_bufg or posedge reset)
...
А в ucf файле транслятор ругается только на строку, соответствующую rgmii_rx_clk_bufg, а на строку для not_rgmii_rx_clk_bufg не ругается. Вот эти строки:
Код
NET "*rgmii_interface/rgmii_rx_clk_bufg" TNM_NET = "rgmii_rx_clk_bufg";
...
NET "*rgmii_interface/not_rgmii_rx_clk_bufg" TNM_NET = "not_rgmii_rx_clk_bufg";
Почему это происходит? Как от этого избавиться?
Просто выкинуть строки из ucf нельзя - они "времязадающие".