Перейти к содержанию
    

3 часа назад, Freibier сказал:

Вроде так и сделал.

Да, только в Вас в исходнике:
 

Цитата

 

module top( input clk, output [19:0]Q, output ck);

...

           assign ck = ~clk;

 

Поскольку Вы сигнал clk используете не только в качетстве тактового, P&R разводит его не по глобальным линиям, а по обычным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет. Изначально проект выглядел так, clk задал 100 МГц :

module top( input clk, output [19:0]Q);
    reg [19:0]QP;
    always @(posedge clk) QP <= QP + 20'h00001;
    assign Q = QP;
endmodule

и было упомянутое мною предупреждение WARN  PR1014...

потом я просто добавил assign ck = ~clk, поднял clk до 200 МГц - просто чтобы репорты глянуть и т.д.

при этом предупреждение PR1014 (кстати одно единственное) осталось.

т.о. то что я использовал clk не только в качестве тактового сигнала на ворнинг не влияет

 

ЗЫ

где можно посмотреть максимально возможную частоту на выходе обычного I/O?

в то что частота 266 MHz при размахе сигнала 3.3 В слабо верится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, StewartLittle сказал:

А в документации посмотреть не???

Наконец-то добрался до хелпа :biggrin:

Оказалось ему не нравится G5 поскольку это GCLKC_7, переставил на H6 GCLKT_7 - варнинг пропал.

При этом временные репорты не изменились :biggrin:

А вообще минимализм просто зашкаливает! мне очень по душе!

Вот когда чипы приедут и если оно еще и заработает...!!! :dance3:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 часов назад, blackfin сказал:

Можно три старших бита упаковать в TUSER, а восемь оставшихся бит упаковать в TDATA.

Насколько я понял, стандарту IHI0051A это не противоречит.

Хитро. :) Но это, имхо, уже костыльно. Предпочитаю, где не требуется жёстко AXI, использовать нативные интерфейсы.

 

16 часов назад, BSACPLD сказал:

Написал модуль который преобразует AXI4 в набор проводов и уже к нему подключал все управляющие сигналы от своих модулей.

Да, тоже пришёл к подобному: сделал свой интерфейс, по идеологии похожий на AXI4, но без ограничений, накладываемых оным. Нет лишних сигналов (есть addr, len, avalid, aready для канала адреса, есть data, last, valid, ready для канала данных, длина транзакции задаётся в байтах, что очень удобно при переходе к пакетным интерфейсам типа PCIe, когда надо сразу знать длину). Нет паразитных предупреждений на лишние сигналы. Легко преобразовывается в AXI4 если надо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

22 hours ago, Freibier said:

При этом временные репорты не изменились

Не могёт быть! Совершенно точно меняется клок лэтенси в отчетах по путям сетапов/холдов. Проверял.

 

А вот с генерацией клока на логике пока поосторожнее - говинный create_generated_clock глючный, он не учитывает задержку клока от исходного клока и до выхода целла, генерирующего выходной клок. Эту задержку пока надо вписывать руками примерную какую-то, оценивая её по другим путям в анализаторе времянок, через опцию -edge_shift (или другую с подобной функцией). Надеюсь, Stewart little окажет должное ментальное и физическое воздействие на говин, и это поправят в среде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, SM сказал:

Не могёт быть! Совершенно точно меняется клок лэтенси в отчетах по путям сетапов/холдов. Проверял.

Max Frequency Summary , Setup Paths Table , Hold Paths Table не изменились.

А на всё остальное я и не смотрел пока.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первое - подготовка битстрима для возможности прошивки во флеш без останова работы ПЛИС в текущей конфигурации. Для некоторых семейств там есть и другие варианты.

Второе - при нуле, ПЛИС стартанет независимо от подтяжки DONE, при 1 - чтобы ПЛИС стартанула, надо чтобы DONE был подтянут в 1 и был хотя бы один импульс по TCK при этом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ясно. Спасибо. А подскажите,

если пинов MODE[2:0] нет вообще, это значит что можно запрограммировать либо SRAM либо EmbFlash плис только по JTAG интерфейсу?

И плис может стартовать только в режиме AUTO BOOT?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Читайте документацию - если их нет снаружи, то значит они куда-то подтянуты внутри.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, SM said:

Читайте документацию - если их нет снаружи, то значит они куда-то подтянуты внутри.

Интересно, если Done нет снаружи - он также подтянут или Wake UP = 1 таким не дают?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю.  В документации написано: "A signal which indicates FPGA is configured successfully, DONE is pulled up after successfully configuring." Это логично трактовать, что на этом пине включается подтяжка после конфигурирования. Если так, то получается что подтянут, и не важно, выведен он наружу или нет. Но это надо проверять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 часов назад, SM сказал:

В документации написано: "A signal which indicates FPGA is configured successfully, DONE is pulled up after successfully configuring." Это логично трактовать, что на этом пине включается подтяжка после конфигурирования. Если так, то получается что подтянут, и не важно, выведен он наружу или нет.

Добавлю - см. третье замечание к рисунку 6.1 Recommended Pin Connection в "Gowin FPGA Products Programming and Configuration Guide":

Цитата

The unbonded RECONFIG_N, READY, and DONE pins have been internally
processed, with no influence on the configuration function.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем доброго дня.

Такая делема. Есть чип GW2-18AR, у него 2 PLL. 1 PLL уходит на LVDS приемник. Остается еще 1 PLL. На входе частота 50МГц. На выходе нужно 150МГЦ для SDRAM, 100МГц для логики, и еще 75МГц для трансивера. 100+150МГц одним пллом можно получить. 75мгц как лучше сделать?

1. что-то типа always @(posedge clk150M) clk75M = ~ clk75M. Но по-моему как-то криво потом этим клоком питать логику. Ваше мнение?

2. Логику 75МГц запитать от клока 150МГц и энейбл на клок выставлять через такт. Так конечно правильнее, но есть вероятность, что после модернизации очередной времянки не пролезут - сейчас на пределе, но влазит.

3. Еще какие-то варианты?

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...