Jump to content

    

Recommended Posts

По поводу начальной инициализации данных модулей.

Синтезируется ли подобное:

В квартусе в Analysis & Syntesis settings, кнопка "More settings", в списке есть опция "Ignore verilog initial constructs".

По умолчанию off.

Instructs Analysis & Synthesis to ignore initial constructs and variable declaration assignments in your Verilog HDL design files. By default, Analysis & Synthesis derives power-up conditions for your design by elaborating these constructs.

Share this post


Link to post
Share on other sites

У MAX 10 есть на борту PLL. У него есть выход Locked. Даже если Вам "услуги" PLL не нужны, то можно завести клок на него только ради этого сигнала, чтобы обеспечить начальный сброс регистров в исходное положение стандартными средствами (подобие ресета).

Не факт, что в дальнейшей поддержке не придётся в угоду фиттеру играться с настройками компилятора. Обнаружите, к примеру, что с галочкой Ignore initial проект весит меньше, обрадуетесь. И только когда-нибудь где-нибудь вылезет некорретная работа.

Share this post


Link to post
Share on other sites

У меня так: *.qsf считается исходником, в который Квартусу вписывать что-либо свое запрещено (как, например, в *.v).

Поэтому простановка галочек действует только в текущем сеансе GUI (обычно Квартус вызывается в консольном режиме, в нем *.qsf не "портится").

Share this post


Link to post
Share on other sites

Leka

alevnew

Ясно, буду знать, спасибо! :cheers:

 

У MAX 10 есть на борту PLL. У него есть выход Locked. Даже если Вам "услуги" PLL не нужны, то можно завести клок на него только ради этого сигнала, чтобы обеспечить начальный сброс регистров в исходное положение стандартными средствами (подобие ресета).

В смысле - у MAX10 разве нет внутреннего сигнала глобального сброса после подачи питания, подобия GSR в MachXO?

Такая фишка, казалось бы, должна быть у всех кристаллов...

Share this post


Link to post
Share on other sites

Играюсь с платкой Bemicro MAX10.

Там установлена 10M08DAF484C8GES.

 

Питание портов выставил как 3.3в, со стабилизатора поступает 3.27в.

 

Выводы, не задействованные в прошивке, установлены как входа с weak pull-up.

 

Меряю на них уровень вольтметром - около 3.1 вольт.

Дотрагиваешься пальцем - проседает ещё на 50 милливольт...

Почему такое проседание? :wacko:

 

По даташиту сопротивление пуллапов должно быть в диапазоне от 7 до 34 кОм.

Но по факту такое ощущение, что оно на порядок больше.

Share this post


Link to post
Share on other sites

И?

Не увидел в этом документе объяснения... :rolleyes:

 

Понял только, что Альтера сильно заморачивается с овершотами и у MAX10 дохлые драйверы на 3.3 вольта.

Так ещё и пуллапы такие же, видимо...

Share this post


Link to post
Share on other sites
А мне после MAX II очень даже понравилось. И PLL уже внутри.

Жаль только что TQFP всего один на 144 ноги (

Драйверы дохлые почти у всех в cmos режиме. Ведь надо обеспечивать ток при просадке в сотни миллиВольт. ТТЛ допускает почти Вольт просадку, поэтому там ток указан больше. Реально, на КЗ ток достигает десятков миллиАмпер.

Подтяжка у мах10 около 100 к. В чем смысл не спрашивайте, но биполярник такой подтяжкой не прокачивается.

Share this post


Link to post
Share on other sites

Добрый день.

 

Вот и я вступаю в ряды пользователей MAX10, купил самую простую платку от Альтеры MAX 10 FPGA 10M08 Evaluation Kit. Правильно ли я понимаю, что для работы с MAX10 нужен Квартус не ниже 14 Update2?

Зарегистрировался на сайте Альтеры, но почему-то письмо для подтверждения уже несколько часов не приходит на мой gmail адрес (впервые с этим сталкиваюсь), неужели они вручную каждый рег проверяют, а потом высылают письмо?

Share this post


Link to post
Share on other sites
Драйверы дохлые почти у всех в cmos режиме. Ведь надо обеспечивать ток при просадке в сотни миллиВольт. ТТЛ допускает почти Вольт просадку, поэтому там ток указан больше. Реально, на КЗ ток достигает десятков миллиАмпер.

Заметьте, что уже начиная с 3.0 вольт и ниже драйвера там преображаются и токи до 16 ма для них уже не проблема, TTL это или CMOS.

 

Подтяжка у мах10 около 100 к. В чем смысл не спрашивайте, но биполярник такой подтяжкой не прокачивается.

А пишут, что типичное значение - 25 кОм.

Тоже показалось, что сильно больше.

 

alexunder

Приветствую.

 

А что последний квартус ставить не хотите?

 

По поводу регистрации - у меня без задержек всё было.

Но сайт с документацией у Альтеры всё же какой-то багнутый - браузеры виснут частенько при попытке редиректа на их доки из квартуса...

 

Share this post


Link to post
Share on other sites

Продолжаю копаться с Max10 и Nios.

 

Заглянул в первый раз SignalTap'ом на шину AvalonMM, и с удивлением обнаружил, что обращение к On-Chip памяти (без кешей) занимает 5 тактов.

То есть довольно медленно, а я почему то думал, что он-чип автоматически подразумевает однотактовый доступ... sad.gif

 

Включил кеш инструкций - стало лучше. Может быть, тогда проще выделить для кода tight-coupled memory?

 

Ещё показалось, что обращение к Avalon Memory-Mapped Slave в режиме чтения (чтение процессором периферийного слейва) идёт тоже довольно долго - около тех же 5-ти циклов.

Это при том, что у слейва read latency установлена в ноль в настройках QSys, и линия waitrequest не активируется.

Запись при этом идёт гораздо быстрее.

 

Интересно, а кто нибудь пробовал исполнять код прямо с флеши Max10?

Если включить флэш акселератор или кэш - то со скоростью выборки будет всё нормально?

Share this post


Link to post
Share on other sites
Ещё показалось, что обращение к Avalon Memory-Mapped Slave в режиме чтения (чтение процессором периферийного слейва) идёт тоже довольно долго - около тех же 5-ти циклов.

Это при том, что у слейва read latency установлена в ноль в настройках QSys, и линия waitrequest не активируется.

Запись при этом идёт гораздо быстрее.

Это же очевидно :)

 

Share this post


Link to post
Share on other sites
Это же очевидно :)

При том, что чтение на слейве идёт за два такта - первый такт выставление READ, второй - непосредственно чтение готовых данных:

post-19695-1453013083_thumb.png

А остальные три такта для чего? :blink:

Share this post


Link to post
Share on other sites
При том, что чтение на слейве идёт за два такта - первый такт выставление READ, второй - непосредственно чтение готовых данных:

post-19695-1453013083_thumb.png

А остальные три такта для чего? :blink:

Вангую :

Арбитраж шины - 1 такт

Мультиплексор чтения - 1 такт

Остановка конвейера NIOS - 1 такт.

 

Хотя по идее остановка конвейера может и 2 такта занять.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this