Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: использование библиотечн. PLL в ACTEL APA300
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
dgordgee
Приветствую Вас.
--Ситуация
не создаётся STAPL file делителя частоты на основе библиотечой PLL
Программа, реализующая преобразование частоты с 40 МГц до 1Гц будет отлажена на APA300PQFP208(Actel), которая содержит 2 ядра pll (без pll не обойтись, т.к. реализация на счётчике будет занимать много ресурсов кристалла), так вот vhdфайл компилируется, синтез в synplify version 8.2G проходит успешно (создаются файлы glob_del.edf и glob_del.vhm), а вот расположение на кристалле(implementation) в Actel designer version 7.0.0.11 не проходит,
В отчёте LOGфайла Пишется
Error: [no_driver]:
The following nets have no driver.
(Place & Route cannot continue until this situation has been corrected.)


f_out_c


Error: [unconnected_net]:
Net f_out_c has no driver.
Error: [netlist_check_failed]:
Netlist check failed. Exiting.

Посоветуйте, please, где следует изменить/добавить строки к программе



VHD файл программы

library IEEE;
use IEEE.std_logic_1164.all;


-- other libraries declarations
-- synopsys translate_off
library APA;
use IEEE.VITAL_Timing.all;
-- synopsys translate_on

entity ponizhenie_f is
port(
f_in : in std_ulogic;
f_out : out std_ulogic
);
end ponizhenie_f;

architecture ponizhenie_f of ponizhenie_f is

---- Component declarations -----

component pll
-- synopsys translate_off
generic(
DELAY_TIME : TIME := 2.9500000000000002 ns;
InstancePath : STRING := "*";
MsgOn : BOOLEAN := True;
TimingChecksOn : BOOLEAN := True;
Xon : BOOLEAN := False;
tipd_C : VitalDelayArrayType01(26 downto 0) := (others => (0.0 ns,0.0 ns));
tipd_CLK : VitalDelayType01 := (0.0 ns,0.0 ns);
tipd_CLKA : VitalDelayType01 := (0.0 ns,0.0 ns);
tipd_DLYA : VitalDelayArrayType01(1 downto 0) := (others => (0.0 ns,0.0 ns));
tipd_DLYB : VitalDelayArrayType01(1 downto 0) := (others => (0.0 ns,0.0 ns));
tipd_EXTFB : VitalDelayType01 := (0.0 ns,0.0 ns)
);
-- synopsys translate_on
port (
C : in STD_LOGIC_VECTOR(26 downto 0);
CLK : in std_ulogic;
CLKA : in std_ulogic;
DLYA : in STD_LOGIC_VECTOR(1 downto 0);
DLYB : in STD_LOGIC_VECTOR(1 downto 0);
EXTFB : in std_ulogic;
GLA : out std_ulogic;
GLB : out std_ulogic;
LOCK : out std_ulogic
);
end component;

---- Configuration specifications for declared components

-- synopsys translate_off
for U1 : pll use entity APA.pll(vital_act);
-- synopsys translate_on

begin

---- Component instantiations ----

U1 : pll
port map(
C => "000000110011011100000011000",
CLK => f_in,
CLKA => '0',
DLYA => "00",
DLYB => "00",
EXTFB => '0',
GLB => f_out
);


end ponizhenie_f;
vetal
1. В synplify необходимо разрешить вставлять IO буферы.
2. В synplify создать sdc файл и настроить типы буферов
3. Output Frequency Range (fOUT) = 8 to 180 MHz (одним герцем даже не пахнет)
4. 26 разрядный счетчик это по вашему много?
dgordgee
Цитата(vetal @ Feb 12 2007, 12:05) *
1. В synplify необходимо разрешить вставлять IO буферы.
2. В synplify создать sdc файл и настроить типы буферов
3. Output Frequency Range (fOUT) = 8 to 180 MHz (одним герцем даже не пахнет)
4. 26 разрядный счетчик это по вашему много?


Vetal, благодарю за помощь.
По пункту №3 вашего сообщения --Задача решается так: 2 PLL имеют Кделения по 100, а СТ будет иметь Кделения 4000(всего12разрядов , a 26 многовато будет).
По пункту №1,2 вашего сообщения --Настройки Simplify у меня таковы, что sdc сам генерируется (Я когда счётчик писал, то sdcфайл тоже сам генерировался и STAPL создался без проблем). Тут вот, что любопытно
---------------------------------------в areassr--------(pll площади кристалла не занимает, с СТ такого не было)
Report for cell masspll.masspll
Cell usage:
cell count area count*area
pll 1 0.0 0.0
PWR 1 0.0 0.0
GND 1 0.0 0.0

TOTAL 3 0.0
vetal
у вас видимо проект некорректно настроен, имя файла edif должно совпадать с именем top level модуля.
dgordgee
Цитата(vetal @ Feb 12 2007, 23:41) *
у вас видимо проект некорректно настроен, имя файла edif должно совпадать с именем top level модуля.


Vetal, благодарю вас за помощь. Я перепроверю настройки проэкта.
dgordgee
Цитата(dgordgee @ Feb 13 2007, 14:47) *
Цитата(vetal @ Feb 12 2007, 23:41) *

у вас видимо проект некорректно настроен, имя файла edif должно совпадать с именем top level модуля.


Vetal, благодарю вас за помощь. Я перепроверю настройки проэкта.


добрый день, здравствуйте. VHDфайл на библиотечную pll actela изначально не писался, а был сгенерирован на основе .bde(схемного) в котором неиспользованние входы я доопределил (в общем всё корректно с установкой неиспользуемых входов pll).

begin

---- Component instantiations ----

U1 : pll
port map(
C => "000000110011011100000011000",
CLK => f_in,
CLKA => '0',
DLYA => "00",
DLYB => "00",
EXTFB => '0',
GLB => f_out
);


end ponizhenie_f;

Waveformer выдаёт то, что нужно, а расположение на кристалле не проходит. Трабл короче. Я проделал полный цикл создания элементарного проекта на элементах OR,AND,XOR (той же библиотеки APA), так вот, получил STAPL, всё ok, а pll (по-моему) нужна какая-то доп. настройка. Кто знает, что нужно, когда выдаётся
Error: [no_driver]:
The following nets have no driver.
(Place & Route cannot continue until this situation has been corrected.)


f_out_c


Error: [unconnected_net]:
Net f_out_c has no driver.
Error: [netlist_check_failed]:
Netlist check failed. Exiting.
Самурай
Цитата(dgordgee @ Feb 19 2007, 10:13) *
Цитата(dgordgee @ Feb 13 2007, 14:47) *

Цитата(vetal @ Feb 12 2007, 23:41) *

у вас видимо проект некорректно настроен, имя файла edif должно совпадать с именем top level модуля.


Vetal, благодарю вас за помощь. Я перепроверю настройки проэкта.


добрый день, здравствуйте. VHDфайл на библиотечную pll actela изначально не писался, а был сгенерирован на основе .bde(схемного) в котором неиспользованние входы я доопределил (в общем всё корректно с установкой неиспользуемых входов pll).

begin

---- Component instantiations ----

U1 : pll
port map(
C => "000000110011011100000011000",
CLK => f_in,
CLKA => '0',
DLYA => "00",
DLYB => "00",
EXTFB => '0',
GLB => f_out
);


end ponizhenie_f;

Waveformer выдаёт то, что нужно, а расположение на кристалле не проходит. Трабл короче. Я проделал полный цикл создания элементарного проекта на элементах OR,AND,XOR (той же библиотеки APA), так вот, получил STAPL, всё ok, а pll (по-моему) нужна какая-то доп. настройка. Кто знает, что нужно, когда выдаётся
Error: [no_driver]:
The following nets have no driver.
(Place & Route cannot continue until this situation has been corrected.)


f_out_c


Error: [unconnected_net]:
Net f_out_c has no driver.
Error: [netlist_check_failed]:
Netlist check failed. Exiting.


Что у Вас за ошибка честно говоря не совсем понятно, но попробуйте воспользоваться ACTgen генератором, вполне пристойную pll генеритsmile.gif. Да и странный какой-то у Вас pll, несколько не так выглядит описание его портов в библиотеке APA:).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.