|
|
  |
использование библиотечн. PLL в ACTEL APA300, проблема с расположением на кристалле |
|
|
|
Feb 12 2007, 11:32
|
Группа: Участник
Сообщений: 9
Регистрация: 9-02-07
Из: troitsk
Пользователь №: 25 208

|
Приветствую Вас. --Ситуация не создаётся 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;
|
|
|
|
|
Feb 12 2007, 17:20
|
Группа: Участник
Сообщений: 9
Регистрация: 9-02-07
Из: troitsk
Пользователь №: 25 208

|
Цитата(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
|
|
|
|
|
Feb 13 2007, 14:47
|
Группа: Участник
Сообщений: 9
Регистрация: 9-02-07
Из: troitsk
Пользователь №: 25 208

|
Цитата(vetal @ Feb 12 2007, 23:41)  у вас видимо проект некорректно настроен, имя файла edif должно совпадать с именем top level модуля. Vetal, благодарю вас за помощь. Я перепроверю настройки проэкта.
|
|
|
|
|
Feb 19 2007, 10:13
|
Группа: Участник
Сообщений: 9
Регистрация: 9-02-07
Из: troitsk
Пользователь №: 25 208

|
Цитата(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.
|
|
|
|
|
Feb 19 2007, 22:15
|
Местный
  
Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066

|
Цитата(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 генерит  . Да и странный какой-то у Вас pll, несколько не так выглядит описание его портов в библиотеке APA:).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|