|
|
  |
Не моделируется ALTPLL в Modelsim, Проект в QuartusII/ Verilog |
|
|
|
Dec 5 2013, 12:32
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 21-09-11
Пользователь №: 67 310

|
Все привет! Может кто сталкивался с такой проблемой. Прошу поделиться ее решением. В Modelsim все входные сигналы PLL отображаются (зеленые), все выходные - красные, xxx. Что делать?
Сообщение отредактировал Yuva - Dec 5 2013, 12:34
|
|
|
|
|
Dec 5 2013, 14:46
|
Знающий
   
Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111

|
Цитата(Yuva @ Dec 5 2013, 15:32)  В Modelsim все входные сигналы PLL отображаются (зеленые), все выходные - красные, xxx. Что делать? Без кода Вашего тестбенча, нам можно только гадать. Например не описана карта портов port map(); со всеми вытекающими
|
|
|
|
|
Dec 6 2013, 06:05
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 21-09-11
Пользователь №: 67 310

|
`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 мкс промоделировано, а ФАПЧ так и не запустился
|
|
|
|
|
Dec 6 2013, 07:31
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 21-09-11
Пользователь №: 67 310

|
Попытался сделать выходные частоты 5 и 10 МГц (думал, что проблема в большем коэффициенте умножения), такая же песня - не запускается PLL
Сообщение отредактировал Yuva - Dec 6 2013, 07:32
|
|
|
|
|
Dec 6 2013, 08:19
|
Участник

Группа: Участник
Сообщений: 17
Регистрация: 21-09-11
Пользователь №: 67 310

|
Цитата(Full41 @ Dec 6 2013, 11:55)  Попробуйте заменить `timescale 1 us/ 1 us на `timescale 1 ns/ 1 ps ФАПЧ запустился. Только это же не 50 Мгц получается, а 50 ГГЦ. Почему он вообще запустился, когда настроен на 50 МГц?
Сообщение отредактировал Yuva - Dec 6 2013, 08:20
|
|
|
|
|
Dec 6 2013, 11:25
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

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