реклама на сайте
подробности

 
 
> Физический смысл частоты в ПЛИС
plisel
сообщение Nov 3 2014, 14:11
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 3-11-14
Пользователь №: 83 507



Здравствуйте.

В ПЛИС новичок, ранее только с МК работал.

Не могу понять физический смысл частоты в ПЛИС?

Например в EPM240T100C5 есть внутренний генератор на 3-5 МГц. Значит ли это что я не смогу обрабатывать сигналы частотой выше 5МГЦ ?
А что если схема комбинаторная, только из логики and,or, ... не значит ли это что данные операции будут выполняться тоже на выбранной частоте генератора?

Или это просто генератор который я могу завести например на триггер, а операции and,or будут выполняться так сказать "асинхронно" с небольшой задержкой ?

Требуется ли в обязательном порядке использовать внутренний или внешний генератор?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SM
сообщение Nov 10 2014, 17:11
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(Torpeda @ Nov 10 2014, 18:00) *
ВЫВОД:
set_min_delay - игнорируется sad.gif


Вывод почти неверный. Он не игнорируется роутером, когда ему дать команду коррекции холдов (а это процесс отдельный, делается после разводки, когда слаки по сетапам и max_delay уже положительные)! Вот тогда он поправит и холды, и ошибки по min_delay (при этом, если вилка слишком жесткая, может испортить max_delay, этот процесс его не проверяет). А на почти всех других этапах таки да, игнорируется, но я об этом сразу сказал.

Почему "почти" - потому, что Synopsys DC делает вот так (цитата из dcug):
If fix_hold is not specified on any clocks, the minimum delay cost is not considered during compilation. If fix_hold or min_delay is specified, the minimum delay cost is a secondary optimization cost.

То есть, как бы это не было странным, но если не указан синтезатору set_fix_hold хотя бы одному клоку, то и все set_min_delay будут проигнорированы.
Go to the top of the page
 
+Quote Post
Torpeda
сообщение Nov 10 2014, 17:18
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 23-02-12
Пользователь №: 70 424



Я таки ошибся свыводами....

При
set_max_delay 10.0 -from in1 -to Q
set_min_delay 5.0 -from in1 -to Q

мы имеем:
Код
#  Command:           report_timing -early -from in1 -to Q -view worst > res
###############################################################
Path 1: VIOLATED Path Delay Check
Endpoint:   Q   (v)
Beginpoint: in1 (v) triggered by  leading edge of '@'
Analysis View: worst
- External Delay                0.000
+ Path Delay                    5.000
= Required Time                 5.000
  Arrival Time                  2.153
  Slack Time                   -2.847
     Clock Rise Edge                      0.000
     + Input Delay                        0.000
     + Drive Adjustment                   0.128
     = Beginpoint Arrival Time            0.128
     +--------------------------------------------------------------------------------------------------------+
     |        Pin|  Cell   |    Net  |    Arc     |  Delay  |  Load   |  Slew   | Fanout | Arrival | Required |
     |           |         |         |            |         |         |         |        |  Time   |   Time   |
     |-----------+---------+---------+------------+---------+---------+---------+--------+---------+----------|
     | in1 ->    |         | in1     | in1 v      |         |   0.019 |   0.204 |      1 |   0.128 |    2.975 |
     | i_24/Q    | AO211X4 | Q       | A v -> Q v |   2.014 |   1.007 |   1.843 |      1 |   2.142 |    4.989 |
     | Q ->      |         |         | Q v        |   0.011 |   1.007 |   1.843 |        |   2.153 |    5.000 |
     +--------------------------------------------------------------------------------------------------------+

Код
#  Command:           report_timing -late -from in1 -to Q -view worst > res
###############################################################
Path 1: MET Path Delay Check
Endpoint:   Q   (^)
Beginpoint: in1 (^) triggered by  leading edge of '@'
Analysis View: worst
- External Delay                0.000
+ Path Delay                   10.000
= Required Time                10.000
- Arrival Time                  2.396
= Slack Time                    7.604
     Clock Rise Edge                      0.000
     + Input Delay                        0.000
     + Drive Adjustment                   0.170
     = Beginpoint Arrival Time            0.170
     +-----------------------------------------------------------------------------------------------------+
     |       Pin|  Cell   |    Net|    Arc     |  Delay  |  Load   |  Slew   | Fanout | Arrival | Required |
     |          |         |       |            |         |         |         |        |  Time   |   Time   |
     |----------+---------+-------+------------+---------+---------+---------+--------+---------+----------|
     | in1 ->   |         | in1   | in1 ^      |         |   0.025 |   0.299 |      1 |   0.170 |    7.774 |
     | i_24/Q   | AO211X4 | Q     | A ^ -> Q ^ |   2.215 |   1.007 |   2.340 |      1 |   2.385 |    9.989 |
     | Q ->     |         |       | Q ^        |   0.011 |   1.007 |   2.340 |        |   2.396 |   10.000 |
     +-----------------------------------------------------------------------------------------------------+


Роутер видит все минимальные задержки и репортит.

---------------------------------
Задаём только set_min_delay 5.0 -from in1 -to Q

Код
path   1:

Pin      Type     Fanout  Load  Slew Delay Arrival  
                           (fF)  (ps)  (ps)   (ps)    
------------------------------------------------------
in1      in port        1   35.6  397  +229     229 R
i_25/A                                   +1     229  
i_25/Q   AO211X4        1 1016.8 2357 +2259    2489 R
Q        out port                       +15    2504 R
------------------------------------------------------
Timing slack :  UNCONSTRAINED
Start-point  : in1
End-point    : Q

МАХ задержка UNCONSTRAINED

Теперь роутер:

Видит МІN
Код
#  Command:           report_timing -early -from in1 -to Q -view worst > res
###############################################################
Path 1: VIOLATED Path Delay Check
Endpoint:   Q   (v)
Beginpoint: in1 (v) triggered by  leading edge of '@'
Analysis View: worst
- External Delay                0.000
+ Path Delay                    5.000
= Required Time                 5.000
  Arrival Time                  2.093
  Slack Time                   -2.907
     Clock Rise Edge                      0.000
     + Input Delay                        0.000
     + Drive Adjustment                   0.092
     = Beginpoint Arrival Time            0.092
     +------------------------------------------------------------------------------------------------------+
     |        Pin|  Cell   |    Net|    Arc     |  Delay  |  Load   |  Slew   | Fanout | Arrival | Required |
     |           |         |       |            |         |         |         |        |  Time   |   Time   |
     |-----------+---------+-------+------------+---------+---------+---------+--------+---------+----------|
     | in1 ->    |         | in1   | in1 v      |         |   0.013 |   0.161 |      1 |   0.092 |    2.998 |
     | i_25/Q    | AO211X4 | Q     | A v -> Q v |   2.002 |   1.000 |   1.824 |      1 |   2.093 |    5.000 |
     | Q ->      |         |       | Q v        |   0.000 |   1.000 |   1.824 |        |   2.093 |    5.000 |
     +------------------------------------------------------------------------------------------------------+

и МАХ (как unconstrained):
Код
#  Command:           report_timing -late -from in1 -to Q -view worst > res
###############################################################
No constrained timing paths with given description found.
Paths may be unconstrained (try '-unconstrained' option) or may not exist.


Надо учится репорты получать sm.gif
Задав таки только set_min_delay или set_min_delay\set_max_delay без задания клоков - мы получим что хотели
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- plisel   Физический смысл частоты в ПЛИС   Nov 3 2014, 14:11
- - SM   Это просто генератор, который можно использовать, ...   Nov 3 2014, 14:17
- - Torpeda   Цитата(plisel @ Nov 3 2014, 17:11) Требуе...   Nov 4 2014, 11:48
|- - SM   Цитата(Torpeda @ Nov 4 2014, 14:48) Незав...   Nov 4 2014, 14:13
|- - Torpeda   Цитата(SM @ Nov 4 2014, 17:13) Еще как за...   Nov 4 2014, 15:05
|- - SM   Цитата(Torpeda @ Nov 4 2014, 18:05) Навер...   Nov 4 2014, 15:25
- - dvladim   Обычно, все-таки, ставятся set_input_delay set_out...   Nov 5 2014, 19:20
|- - SM   Цитата(dvladim @ Nov 5 2014, 22:20) Обычн...   Nov 6 2014, 06:33
|- - Torpeda   Цитата(SM @ Nov 6 2014, 09:33) Обычно, ко...   Nov 6 2014, 08:20
|- - SM   Цитата(Torpeda @ Nov 6 2014, 11:20) А что...   Nov 6 2014, 08:23
- - SM   Вот так это выглядит в квартусе, если ничего не з...   Nov 6 2014, 09:52
- - Torpeda   Цитата(SM @ Nov 6 2014, 12:52) Вот так эт...   Nov 7 2014, 17:48
- - SM   Цитата(Torpeda @ Nov 7 2014, 20:48) Мне б...   Nov 8 2014, 15:45
- - Torpeda   Цитата(SM @ Nov 8 2014, 18:45) А мне с fr...   Nov 10 2014, 08:21
- - SM   Цитата(Torpeda @ Nov 10 2014, 11:21) Одно...   Nov 10 2014, 09:09
- - Torpeda   Цитата(SM @ Nov 10 2014, 12:09) Вообще, s...   Nov 10 2014, 10:39
- - SM   Цитата(Torpeda @ Nov 10 2014, 13:39) set_...   Nov 10 2014, 11:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 05:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.01419 секунд с 7
ELECTRONIX ©2004-2016