|
Условный Timing Control на Verilog, Синтезируемый |
|
|
|
Jan 24 2018, 14:14
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Решил я оптимизировать один простой контроллер, чтобы был кратким (как выстрел, ЛОЛ) и полностью конфигурируемым. В частности чтобы можно было ему задавать фронт, по которому работать. Ну и пишу:
clocking get_edge @((posedge clk iff a) or (negedge clk iff !a));
И сразу же выясняется, что ни clocking, ни даже iff синтезатором (Квартус) не поддерживаются. У кого-нибудь есть идеи, как это сделать элегантно с помощью синтезируемых конструкций? Я понимаю, как это сделать с помощью условной компиляции, но это мне кажется как-то... Не совсем современно, что ли.
|
|
|
|
|
 |
Ответов
|
Jan 25 2018, 10:53
|
Участник

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

|
Цитата(DmitryR @ Jan 24 2018, 14:14)  Решил я оптимизировать один простой контроллер, чтобы был кратким (как выстрел, ЛОЛ) и полностью конфигурируемым. В частности чтобы можно было ему задавать фронт, по которому работать. Ну и пишу:
clocking get_edge @((posedge clk iff a) or (negedge clk iff !a));
И сразу же выясняется, что ни clocking, ни даже iff синтезатором (Квартус) не поддерживаются. У кого-нибудь есть идеи, как это сделать элегантно с помощью синтезируемых конструкций? Я понимаю, как это сделать с помощью условной компиляции, но это мне кажется как-то... Не совсем современно, что ли. Сам не пробовал, ну а вдруг Объявите `define EDGE_CLK posedge ну или `define EDGE_CLK negedge и используйте always@(`EDGE_CLK my_clk) begin end
Сообщение отредактировал Dantist2k17 - Jan 25 2018, 10:55
|
|
|
|
Сообщений в этой теме
DmitryR Условный Timing Control на Verilog Jan 24 2018, 14:14 iosifk Цитата(DmitryR @ Jan 24 2018, 17:14) Реши... Jan 24 2018, 14:25 DmitryR С этого постулата хорошо начинать учить людей осно... Jan 24 2018, 14:40 Димыч Цитата(iosifk @ Jan 24 2018, 17:25) <.... Jan 24 2018, 16:50 ViKo У меня такт инвертируется с помощью xor. Но это не... Jan 24 2018, 16:42 Shivers Топикстартер жжет. Особенно про DDR-триггер порадо... Jan 24 2018, 17:14 DmitryR Цитата(Shivers @ Jan 24 2018, 20:14) А во... Jan 25 2018, 07:54  RobFPGA Приветствую!
Цитата(DmitryR @ Jan 25 201... Jan 25 2018, 08:16   DmitryR Цитата(RobFPGA @ Jan 25 2018, 11:16) А Вы... Jan 25 2018, 08:22    RobFPGA Приветствую!
Цитата(DmitryR @ Jan 25 201... Jan 25 2018, 09:12  Shivers Цитата(DmitryR @ Jan 25 2018, 10:54) Поче... Jan 25 2018, 08:47   DmitryR Цитата(Shivers @ Jan 25 2018, 11:47) Если... Jan 25 2018, 09:38    Shivers Цитата(DmitryR @ Jan 25 2018, 12:38) Возь... Jan 25 2018, 09:55     DmitryR Цитата(Shivers @ Jan 25 2018, 12:55) Выхо... Jan 25 2018, 10:31    blackfin Цитата(DmitryR @ Jan 25 2018, 12:38) Но d... Jan 25 2018, 11:53     iosifk Цитата(blackfin @ Jan 25 2018, 14:53) А г... Jan 25 2018, 13:12      blackfin Цитата(iosifk @ Jan 25 2018, 16:12) У Саз... Jan 25 2018, 13:20       iosifk Цитата(blackfin @ Jan 25 2018, 16:20) Ну ... Jan 25 2018, 13:27        blackfin Цитата(iosifk @ Jan 25 2018, 16:27) А Саз... Jan 25 2018, 14:16 Golikov A. строго говоря в СПИ иногда надо клок инвертировать... Jan 24 2018, 19:41  blackfin .. Jan 25 2018, 12:27  RobFPGA Приветствую!
Цитата(DmitryR @ Jan 25 2018... Jan 25 2018, 12:38 Golikov A. define - это когда их используют как параметры. Ту... Jan 25 2018, 17:35 Shivers Лично я больше предпочитаю параметры в RTL, чем де... Jan 26 2018, 05:29 _Sam_ Цитатахочу настраивать его константой времени комп... Jan 26 2018, 06:56
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|