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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Максимальная входная частота, MAX3000А
vladz
сообщение Mar 6 2009, 18:36
Сообщение #16


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 17-06-04
Пользователь №: 39



Для тех, кому лень открыть документацию.

Maximum internal global clock frequency 95.2MHz указана для условий:
(2) These values are specified for a PIA fan–out of one LAB (16 macrocells). For each additional LAB fan–out in these
devices, add an additional 0.1 ns to the PIA timing value.
(4) These parameters are measured with a 16–bit loadable, enabled, up/down counter programmed into each LAB.

При этом Min Global clock high time = Min Global clock low time = 4ns.

Если входной драйвер потянет, то почему, например, пара 4-х битных счетчиков не будет работать на 100MHz? За рамки спецификации это не выходит.
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 6 2009, 20:24
Сообщение #17


Гуру
******

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



IMHO спор не о чем. Уже ведь сказали - если STA дает добро в worst case, то вперед ни о чем не думая, гарантия обеспечена.
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 6 2009, 23:11
Сообщение #18


Знающий
****

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



Цитата(SM @ Mar 6 2009, 23:24) *
IMHO спор не о чем. Уже ведь сказали - если STA дает добро в worst case, то вперед ни о чем не думая, гарантия обеспечена.

STA как раз в worst case добро не дает, в этом-то и интерес темы. Ведь не в 2 раза превышение, да и на практике вроде работает.

Но если взять quartus, сделать проект с EPM3256ATCXXX-10, то STA для любого счетчика укажет предельный период клока 10.5nS (95.24MHz).
STA quartus-а не очень-то позволяет вводить температурный диапазон и напряжение, как узнать и с кого потом спросить, на сколько можно превышать в тех или иных условиях пределы worst case?

В версии 1.01 datasheet, которую можно нагуглить, был параметр Fmax=125MHz для EPM3256ATCXXX-10, в текущей версии документа 3.4 этого параметра нет.

В проекте автора темы кроме 2-х битного счетчика есть мультиплексор управляемый выходом счетчика и 16 регистров на выходе.

У меня от этой темы возникли вопросы к специалистам по max 3000a (один раз уже чуть было не пришлось с этим семейством работать):
- Что это за подозрительные графики на 40 странице m3000a.pdf, что это за High speed/Low power? Намекают на turbo bit ?
- Какой анализатор таймингов поддерживает это семейство ?
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 7 2009, 00:17
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Shtirlits @ Mar 7 2009, 02:11) *
В версии 1.01 datasheet, которую можно нагуглить, был параметр Fmax=125MHz для EPM3256ATCXXX-10, в текущей версии документа 3.4 этого параметра нет.

Ну наконец то, БАЛЬЗАМ НА ИЗРАНЕННУЮ ДУШУ!!!
А я то думаю чего это симулятор рисует вполне работоспособную диграмму аж до 125MHz включительно для -10!!! а для -7 аж до 144MHz!!!
А у меня то всего каких-то смешных 100.7MHz !!!


Цитата(Shtirlits @ Mar 7 2009, 02:11) *
- Что это за подозрительные графики на 40 странице m3000a.pdf, что это за High speed/Low power? Намекают на turbo bit ?

Да, графики очень странные!
Интересно нафига мне знать скоко мой чип потребляет при комнатной температуре при входной частоте 172.4 MHz если максимальная 95???
Перестраховщики эти альтеровцы помоему.

PS.
И действительно поднял старую документацию на MAX300 и там Fmax для -10 = 125MHz! 07.gif
Там даже нет разделения на 032,064...256 а только по спидграде!
Шож это получается в 2000 году умели быстрые чипы делать а в 2009 разучились!!
Технологии улучшаются а скорость падает lol.gif
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 7 2009, 01:11
Сообщение #20


Знающий
****

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



Кстати, раз сна нет, попробовал добавить к вашей схеме регистры на все входные сигналы, чтобы не возиться с констрейнами.
Для 16-ти разрядных сигналов для -10 больше 92.59MHz не получается, для -7 выходит 121.95MHz.

Код
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;

entity max_clock is
    generic (
        WIDTH : integer := 16
    );
    port (
        clock : in std_logic;
        reset : in std_logic;
        Ain1 : in std_logic_vector(WIDTH-1 downto 0);
        Ain2 : in std_logic_vector(WIDTH-1 downto 0);
        Ain3 : in std_logic_vector(WIDTH-1 downto 0);
        Aout : in std_logic_vector(WIDTH-1 downto 0);
        A : out std_logic_vector(WIDTH-1 downto 0)
    );
end max_clock;

architecture max3000a of max_clock is

    signal counter : std_logic_vector(1 downto 0);
    signal Ain1_reg, Ain2_reg, Ain3_reg, Aout_reg : std_logic_vector(WIDTH-1 downto 0);

begin
    process(reset, clock)
        begin
            if (reset='1') then
                counter <= "00";
                Ain1_reg <= (others=>'0');
                Ain2_reg <= (others=>'0');
                Ain3_reg <= (others=>'0');
                Aout_reg <= (others=>'0');
                A <= (others=>'0');
            elsif (rising_edge(clock)) then
                counter <= counter+1;
                Ain1_reg <= Ain1;
                Ain2_reg <= Ain2;
                Ain3_reg <= Ain3;
                Aout_reg <= Aout;
                case counter is
                    when "00"   => A <= Ain1_reg;
                    when "01"   => A <= Ain2_reg;
                    when "10"   => A <= Ain3_reg;
                    when others => A <= Aout_reg;
                end case;
            end if;
        end process;

end max3000a;
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 7 2009, 01:30
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Shtirlits @ Mar 7 2009, 04:11) *
Кстати, раз сна нет, попробовал добавить к вашей схеме регистры на все входные сигналы, чтобы не возиться с констрейнами.
Для 16-ти разрядных сигналов для -10 больше 92.59MHz не получается, для -7 выходит 121.95MHz.

Прошу простить за невежество! Но не силен я в языках!
А зачем добавлять регистры на входе?
И на какие входы ?
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 7 2009, 02:23
Сообщение #22


Знающий
****

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



У вас 4 входа по 16 разрядов Ain1, Ain2, Ain3, Aout.
Сигнал со входных ножек идет сразу на мультиплексор и далее на регистры.
К этой схеме я добавил по регистру на каждый входной сигнал.
Анализатор без дополнительных констрейнов (хотя бы Tsu) проверяет только сигналы, у которых есть цикл регистр->что-то-еще->регистр.
И нужно еще не забыть посмотреть на остальные результаты, которые призывно не светятся красным цветом,
ведь время прохождения сигнала от входа до регистра и от регистра до выхода вообще не ограничивается, только приложением,
про которое только вы можете знать.

Мне обычно лень писать констрейны (я их только со словарем пишу, констрейны везде разные, а vhdl одинаковый).
Когда хочется быстренько сделать на незнакомой fpga оценку place-and-route, я добавляю регистры на входы и выходы.
К тому же есть еще один повод - в больших FPGA на предельных частотах проверяемый блок может быть и легко достигает нужных частот,
но входные и выходные сигналы пройти через всю микросхему на нужной частоте не успевают.
Спасают сдвиговые регистры на каждый сигнал.

Так вот. После добавления входных регистров получилось вход->входной регистр->мультиплексор->выходной регистр->выход
В результате анализатор подсчитывает времена прохождения всех сигналов через мультиплексор,
а не только сигналов от регистра счетчика до регистра на выходе.
Ту же саму проблему можно заметить обратив внимание на результат анализатора, что вышло с Tsu. Для -10 получается 6.9nS.
Можно задать для примера Tsu=7nS, но нужно чтобы и в реальности данные на это время раньше клока приходили.
Про выход вообще не думаем пока.

Для 6-ти и более битного варианта вашей схемы получаются частоты меньше пределной 95.24MHz. Имеет смысл менять дизайн.
Например, тупо разбить схему на 4 одинаковых 4-х битных части, чтобы у каждой был свой счетчик или сделать pipeline, если условия задачи допускают.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 7 2009, 10:59
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Shtirlits @ Mar 7 2009, 06:23) *
Так вот. После добавления входных регистров получилось вход->входной регистр->мультиплексор->выходной регистр->выход

В моей схеме нету "вход->входной регистр" у меня только "счетчик->мультиплексор->выходной регистр->выход".
Ain1 это выход двоичного счетчика на CLK которого поступает RD0.
Аналогично Ain2, Ain3 и Aout.
Главное чтобы время прохождения сигнала с выхода этого счетчика до выходного регистра было не больше 4-х тактов входной частоты (~40нс).
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 7 2009, 12:18
Сообщение #24


Знающий
****

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



Цитата(zombi @ Mar 7 2009, 13:59) *
В моей схеме нету "вход->входной регистр" у меня только "счетчик->мультиплексор->выходной регистр->выход".
Ain1 это выход двоичного счетчика на CLK которого поступает RD0.
Аналогично Ain2, Ain3 и Aout.
Главное чтобы время прохождения сигнала с выхода этого счетчика до выходного регистра было не больше 4-х тактов входной частоты (~40нс).


Так сигналы Ain1, Ain2, Ain3, Aout внутринние ?
Хочется понимать, что что снаружи, а что внутри.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 7 2009, 12:48
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Shtirlits @ Mar 7 2009, 16:18) *
Так сигналы Ain1, Ain2, Ain3, Aout внутринние ?
Хочется понимать, что что снаружи, а что внутри.

Все сигналы Ain1, Ain2, Ain3, Aout внутренние, формируются опятьже внутренними RD0,RD1,RD2,WR на счетчиках.
Внешний входной сигнал только GCLK
Конечно есть еще и внешние сигналы от процессора, но я эту часть схемы не приводил т.к. частота проца 16MHz че там считать.
Посути дела альтера должна просто переписать область озу с - до, начальный и конечный адрес задает проц и ждет окончания пересылки biggrin.gif
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 7 2009, 13:30
Сообщение #26


Знающий
****

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



Цитата(zombi @ Mar 7 2009, 15:48) *
Конечно есть еще и внешние сигналы от процессора, но я эту часть схемы не приводил т.к. частота проца 16MHz че там считать.
Посути дела альтера должна просто переписать область озу с - до, начальный и конечный адрес задает проц и ждет окончания пересылки biggrin.gif

Было бы неплохо убедиться в том, что сигналы от процессора надежно захватываются 100MHz клоком и фронты этих сигналов адекватные.
Может греется и шумит из-за того, что где-то что-то генерирует.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 7 2009, 13:36
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Shtirlits @ Mar 7 2009, 17:30) *
Было бы неплохо убедиться в том, что сигналы от процессора надежно захватываются 100MHz клоком и фронты этих сигналов адекватные.
Может греется и шумит из-за того, что где-то что-то генерирует.

Дык сигналы от проца вообще не захватываются!
Адреса от проца поступают прямо на дешифратор, шд прямо на вход тригеров а WRcpu на CLK этих тригеров.
Я бы с радостью простробировал их входной GCLK (100MHz) но свободных тригеров не осталось!!!
А как узнать не генерирует ли что-то где-то???

PS. точнее всеже пяток тригеров всеже есть. Что лучше стробировать ша,шд или шу???
Go to the top of the page
 
+Quote Post
Shtirlits
сообщение Mar 7 2009, 13:42
Сообщение #28


Знающий
****

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



Цитата(zombi @ Mar 7 2009, 16:36) *
А как узнать не генерирует ли что-то где-то???

Я не знаю.
С одной стороны, нарушения функциональности (глюки), завышенное потребление (температура) говорят о ненормальности.
С другой можно проверять все времянки и убеждаться в честном их соблюдении.
Проверьте еще раз констрейны этих самых сигналов от процессора. Если клок процессора (строб) и клок 100MHz не связаны, то будет непрятность.
Go to the top of the page
 
+Quote Post
zombi
сообщение Mar 7 2009, 13:46
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Shtirlits @ Mar 7 2009, 17:42) *
Я не знаю.
С одной стороны, нарушения функциональности (глюки), завышенное потребление (температура) говорят о ненормальности.
С другой можно проверять все времянки и убеждаться в честном их соблюдении.
Проверьте еще раз констрейны этих самых сигналов от процессора. Если клок процессора (строб) и клок 100MHz не связаны, то будет непрятность.

На данный момент строб проца и входная GCLK никак не связаны!
Сейчас попробую хотябы WRcpu стробануть.
И снова прошу прощения за невежество. Самоучка я. Это мой второй проэкт на альтере.
Че такое эти самые "констрейны" и как их проверять??? laughing.gif
Go to the top of the page
 
+Quote Post
Sefo
сообщение Mar 7 2009, 20:06
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



А Вы не пробовали этот вопрос задать спецам Alter-ы на их сайте в разделе my support? По-моему, надежнее Вам никто не ответит. Я, кстати, пару раз задавал им вопросы и, надо сказать, они весьма серьезно к ним относились и достаточно подробно отвечали.
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 Текстовая версия Сейчас: 18th July 2025 - 02:30
Рейтинг@Mail.ru


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