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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> VHDL синтезирование задержек
%-)
сообщение Nov 30 2009, 00:14
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



нужно сформировать из исходного сигнала - сигнал с некой задержкой 10 - 30 нс

ПЛИС Cyclone-II с градацией -8

Можно ли синтезировать задержки таким способом:

Цитата
...
signal a:std_logic;
signal b:std_logic;
...
b<=a or a; -- 8NS Delay

b<=(a or a) or a; --16NS delay


или синтезатор оптимизирует и обрежет?

как правильнее? (PLL и внешнююсинхронизацию не предлагать)
Go to the top of the page
 
+Quote Post
Laptop
сообщение Nov 30 2009, 01:52
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 142
Регистрация: 19-11-05
Пользователь №: 11 103



Цитата(%-) @ Nov 30 2009, 03:14) *
нужно сформировать из исходного сигнала - сигнал с некой задержкой 10 - 30 нс

ПЛИС Cyclone-II с градацией -8

Можно ли синтезировать задержки таким способом:



или синтезатор оптимизирует и обрежет?

как правильнее? (PLL и внешнююсинхронизацию не предлагать)

По синтаксису языка это всего лишь комментарий. Задержки в VHDL описываются другим способом и работают только при симуляции. Есть вариант собрать из ячеек в явном виде, но никто не гарантирует параметров.
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 30 2009, 02:44
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(Laptop @ Nov 30 2009, 05:52) *
По синтаксису языка это всего лишь комментарий. Задержки в VHDL описываются другим способом и работают только при симуляции. Есть вариант собрать из ячеек в явном виде, но никто не гарантирует параметров.


a<=b after 20ns; -не годится так как это немного другое...

а как можно собрать из ячеек в явном виде ? (vhdl)
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Nov 30 2009, 02:55
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Для таких больших задержек я знаю лишь одно решение - сдвиговый регистр тактируемый подходящей частотой.
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 30 2009, 03:14
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(Shtirlits @ Nov 30 2009, 06:55) *
Для таких больших задержек я знаю лишь одно решение - сдвиговый регистр тактируемый подходящей частотой.


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

например c<= a and b; - сколько задержка?

и неужели нельзя несколько последовательно вентилей поставить? как это сделать?

квартус всё упрощает - выкидывая вентили
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Nov 30 2009, 03:41
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(%-) @ Nov 30 2009, 06:14) *
квартус всё упрощает - выкидывая вентили


И правильно делает. Дизайн схемы должен быть синхронный, и все "линии заержки" - это от лукавого.

Сообщение отредактировал Dima_G - Nov 30 2009, 03:41
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Nov 30 2009, 03:41
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



атрибут syn_keep описан в quartus hand book

задержка на LE определяется с трудом, так как зависит от:
- speed grade
- температуры
- напряжения питания
- разводки

скажите, а с какой точностью нужна задержка?
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 30 2009, 04:18
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(Shtirlits @ Nov 30 2009, 07:41) *
атрибут syn_keep описан в quartus hand book

задержка на LE определяется с трудом, так как зависит от:
- speed grade
- температуры
- напряжения питания
- разводки

скажите, а с какой точностью нужна задержка?


точность +/-5нс.

есть стробы записи !WE, нужно получить ещё один с запаздыванием, чтобы адрес обновить.

вмешиваюсь в работу SRAM по записи - адрес выставляет плис, а данные с управлением - от процессора.

и это д.б. на 50 МГц
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 30 2009, 04:40
Сообщение #9


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(%-) @ Nov 29 2009, 22:18) *
точность +/-5нс.

есть стробы записи !WE, нужно получить ещё один с запаздыванием, чтобы адрес обновить.

вмешиваюсь в работу SRAM по записи - адрес выставляет плис, а данные с управлением - от процессора.

и это д.б. на 50 МГц


нцатый раз советую, сделайте синхронный дизайн !!!


--------------------
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 30 2009, 05:06
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



Цитата(des00 @ Nov 30 2009, 07:40) *
нцатый раз советую, сделайте синхронный дизайн !!!


вы хотите сказать что ПЛИС на задержкой 8нс справится с клоком 133 МГц ?

а вот мне хочется асинхронный - и буду его долбить!

сформировал простейший пример:

Код
library ieee;
use ieee.std_logic_1164.all;

entity fl is port
(
Port_WE:in std_logic;
SRAM0_WE:out std_logic;
SRAM1_WE:out std_logic
);
end;

architecture fl_arch of fl is

signal BUF:std_logic;
attribute syn_keep:integer;
attribute syn_keep of BUF:signal is 1;

begin
SRAM0_WE<=Port_WE;

BUF<=Port_WE;
SRAM1_WE<=BUF;

end fl_arch;


вот что кажет симулятор и РТЛ:

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

устройство проектируется для работы в "тепличных условиях" 20градусов +/-10
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Nov 30 2009, 05:29
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(%-) @ Nov 30 2009, 08:06) *
а вот мне хочется асинхронный - и буду его долбить!
. . .
в целом доволен, можно определить задержку и каскадировать буферы, если надо.


Дело Ваше. Но рекомендую заранее купить шаманский бубен - при дальнейшем усложнении проекта будут вылезать такие чудесные грабли, что без шаманства не обойтись.

Видел тоску в глазах разработчика, описавшего HDLC в схемном вводе и асинхронном дизайне (точнее, он предпологал, что клок, проходящий через несколько блоков комбинационной логики остается синхронным клоком smile.gif )
Сий HDLC контроллер загадочнейшим образом глючил-с. Попытка вывести тестовые сигналы на определенные пины ФПГА (те тупо - wire с какой-то точки) творила чудеса - глюки частично пропадали. Пропадали настолько, что их было тяжело поймать, но при долгой работе - вылезали.
Кое-как через пару месяцев мучений сделали более или менее рабочую сборку и зафиксировали ее как read-only smile.gif
Сейчас, на предложение "чуть-чуть кое-что изменить" разработчик издает нечеловеческий рев и накрывает грудью проект.

Вы идете к тому же
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Nov 30 2009, 05:41
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



Сделать асинхронный дизайн гарантирующий правильную работу во всем диапазоне условий трудно.
Оно заработает у вас на столе, но может глючить при на первый взгляд незаметных изменениях условий.
Инструменты заточены именно под синхронные схемы.

Не понимаю, почему такая тема возникает при работе с микросхемой с 2 и более PLL на борту.

Я бы сделал второй клок.

PS: к счастью, большинство работодателей будет интересовать только ваш диплом
Go to the top of the page
 
+Quote Post
%-)
сообщение Nov 30 2009, 05:53
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 118
Регистрация: 13-09-09
Пользователь №: 52 331



можете оставаться при своих "синхронных" мнениях, но существуют теже чипы видеоконтроллеров с АСИНХРОННЫМ интерфейсом, которые могут манипулировать с адресом своей SRAM ПОСЛЕ каждой записи по асинхронной шине.
и вовсе без синхронности и на частотах до 100 мгц включительно.

теже видеоконтроллеры от Epson.

неужели ПЛИС такие убогие, что это не реализуемо на асинхронке? А?
Go to the top of the page
 
+Quote Post
SM
сообщение Nov 30 2009, 05:56
Сообщение #14


Гуру
******

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



Цитата(%-) @ Nov 30 2009, 08:53) *
неужели ПЛИС такие убогие, что это не реализуемо на асинхронке? А?

Реализуемо, но не на таком уровне, как Ваши вопросы. Нужно четко понимать структуру конкретной ПЛИС, и оперировать на уровне логических ячеек и путей разводки. А не на уровне языковых конструкций.
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Nov 30 2009, 05:56
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(%-) @ Nov 30 2009, 09:53) *
можете оставаться при своих "синхронных" мнениях, но существуют теже чипы видеоконтроллеров с АСИНХРОННЫМ интерфейсом, которые могут манипулировать с адресом своей SRAM ПОСЛЕ каждой записи по асинхронной шине.
неужели ПЛИС такие убогие, что это не реализуемо на асинхронке? А?


Не путайте FPGA и ASIC!
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 12th July 2025 - 07:04
Рейтинг@Mail.ru


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