Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не моделируется ALTPLL в Modelsim
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Yuva
Все привет!
Может кто сталкивался с такой проблемой. Прошу поделиться ее решением.
В Modelsim все входные сигналы PLL отображаются (зеленые), все выходные - красные, xxx. Что делать?
bogaev_roman
Цитата(Yuva @ Dec 5 2013, 16:32) *
Все привет!
Может кто сталкивался с такой проблемой. Прошу поделиться ее решением.
В Modelsim все входные сигналы PLL отображаются (зеленые), все выходные - красные, xxx. Что делать?

Может входные сигналы неправильно подаете, например все под сбросом. Или не дождались, там частота на выходе через определенное время появляется (время прописано в документации), частота появляется после поднятия сигнала locked - он у Вас в каком состоянии?
Моделирование на функциональном уровне?
Александр77
Цитата(Yuva @ Dec 5 2013, 15:32) *
В Modelsim все входные сигналы PLL отображаются (зеленые), все выходные - красные, xxx. Что делать?

Без кода Вашего тестбенча, нам можно только гадать.
Например не описана карта портов port map(); со всеми вытекающими
Yuva
`timescale 1 us/ 1 us
module test_chmod_vlg_tst();

reg inclk;
//////////////////////
wire out;
//////////////////////////////////
test_chmod i1
(
.inclk(inclk),
.out(out)
);
initial
begin
inclk = 0;
$display("Running testbench");
end

always
begin
#25 inclk = !inclk;
end
endmodule

Симулирую частоту 50 MHz. На выходе пытаюсь получить две частоты: 6,144 МHz и 3,072 MHz. Использую EDA RTL simulation.
Когда в timescale меняю наносекунды на пикосекунды, ФАПЧ через несколько периодов частоты начинает работать.
Насчет документации, Спасибо!

Цитата(bogaev_roman @ Dec 5 2013, 17:32) *
частота появляется после поднятия сигнала locked - он у Вас в каком состоянии?

Сброса нет. В ФАПЧ только 1 входной сигнал - такт и 2 выходных - тоже такты

Не. что то все равно не так. Уже 50000 мкс промоделировано, а ФАПЧ так и не запустился
Yuva
Попытался сделать выходные частоты 5 и 10 МГц (думал, что проблема в большем коэффициенте умножения), такая же песня - не запускается PLL
Full41
Цитата(Yuva @ Dec 6 2013, 10:05) *
`timescale 1 us/ 1 us
module test_chmod_vlg_tst();

reg inclk;
//////////////////////
wire out;
//////////////////////////////////
test_chmod i1
(
.inclk(inclk),
.out(out)
);
initial
begin
inclk = 0;
$display("Running testbench");
end

always
begin
#25 inclk = !inclk;
end
endmodule

Симулирую частоту 50 MHz. На выходе пытаюсь получить две частоты: 6,144 МHz и 3,072 MHz. Использую EDA RTL simulation.
Когда в timescale меняю наносекунды на пикосекунды, ФАПЧ через несколько периодов частоты начинает работать.
Насчет документации, Спасибо!


Сброса нет. В ФАПЧ только 1 входной сигнал - такт и 2 выходных - тоже такты

Не. что то все равно не так. Уже 50000 мкс промоделировано, а ФАПЧ так и не запустился


Попробуйте заменить `timescale 1 us/ 1 us на `timescale 1 ns/ 1 ps
Yuva
Цитата(Full41 @ Dec 6 2013, 11:55) *
Попробуйте заменить `timescale 1 us/ 1 us на `timescale 1 ns/ 1 ps

ФАПЧ запустился. Только это же не 50 Мгц получается, а 50 ГГЦ. Почему он вообще запустился, когда настроен на 50 МГц?
bogaev_roman
Цитата(Yuva @ Dec 6 2013, 12:19) *
ФАПЧ запустился. Только это же не 50 Мгц получается, а 50 ГГЦ. Почему он вообще запустился, когда настроен на 50 МГц?

`timescale 1ns / 1ps - параметры, Вы их похоже неправильно понимаете. 1ns - основная величина, 1ps - точность. Таким образом, запись
Код
always @(*) #(5+0.001) refclk<=~refclk;

Говорит о тактовой частоте с периодом (10+0,002)нс, максимальная точность здесь 0.001, т.е. одна пикосекунда и меньше быть не может.
А что касается ФАПЧ, что в настройка может стоять одна величина, а реально будет другая, так это у Вас просто функциональное моделирование. Т.е. если подается на вход 100МГц, а на выходе должно быть 50МГц, то при изменении входа на 200 на выходе будет не 50, а 100. Т.е. банальное деление на 2 вне зависимости от настроек. Если хотите хотя бы приблизительно узнать, что творится внутри PLL, то используйте гейт-моделирование (хотя полностью посмотреть внутренности у Вас все равно не получится - там будут абстрактные модели, хотя и приближенные к реальности).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.