Перейти к содержанию
    

FAQ по языкам описания аппаратуры

ИМХО :

 

little[0:3] = 3'bxxxx

little[4] = big[3]

little[5] = big[2]

little[6] = big[1]

little[7] = big[0]

спасибо, des00. не мог найти в стандарте прямого указания на это в встандартах. Precision действует именно так. сложность вопроса была в том, по каккому биту будет происходить выравнивание векторов - по нулевому little-а (и тогда присвоение д.б. little[0]=big[3] little[1]=big[2]...) или по нулевому big-а (и тогда по вашей схеме) - чёткого разъяснения я в стандарте не вычитал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

NCVerilog (какой версии не помню и посмотреть не смогу) ругается на различиющееся направление индексов и не компилируется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

недогляд cadence-a подобные присваивания стандартом не запрещены (раньше mentor на такое тож ругался)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как сказать. Я не считаю это неправильным. Это, ИМХО, повышает надежность. Лучше уж самому функцию сделать, чем пропустить в проекте.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше уж самому функцию сделать, чем пропустить в проекте.

дело вкуса. но из-зи того, что верилог ещё не научили делать шаблоны функций (тип как параметр), писать свою функцию для пакованного массива каждого типа данных мне не охота. я например на ВХДЛ забил как раз из-за того, что влом писать отдельную функцию сложения для каждого примитивного типа данных (утрирую конечно)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нахожусь в самом начале изучения ПЛИС. (Altera)

Начал изучение с языка AHDL.

Что посоветуете: легко ли и надо ли вообще будет переходить потом на VHDL или достаточно будет знаний в AHDL писать не самые сложные проекты?

 

Многие пишут, что в среде разработки (макс или квартус) уже имеются модули всяких там счетчиков , регистров и т.д и т.п. т.е. их не надо писать с нуля самому, собирая из триггеров и логики, вопрос где я могу почитать про ЭТИ готовые функции на русском?

Честно говоря читая инфу по языку уже столкнулся с непонятием:

с логикой обычной вроде как понимаю, а вот Последовательностная логика

 

SUBDESIGN bur_reg

(

clk, load, d[7..0] : INPUT;

q[7..0] : OUTPUT;

)

VARIABLE

ff[7..0] : DFFE;

BEGIN

ff[].clk = clk;

ff[].ena = load;

ff[].d = d[];

q[] = ff[].q;

END;

что такое DFFE и ff[]??? откуда это без объяснений взялось и как это работает? Из моего понимания DFFE это функция триггера, а ff[].хх это сноска на внутренний вывод этой функции... но вот если я найду например какую нить функцию... или мне например надо найти такую, то где мне почитать что вот эти ff[] выполняют в неизвестной найденной мной функции? (с английским в том то и проблема, медленно.) Помогите плз.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

DFFE - триггеры количеством 8, с именем ff. Все вместе - регистр разрядностью 8. Описание триггера можно найти в help в MaxPlus или Quartus в разделе примитивы (primitives). ff[].clk = clk; - подключение к 8 триггерам тактового, ff[].ena - вход разрешения загрузки, ff[].d - вход данных, ff[].q - выходы триггеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2yagger: Пользоваться поисковыми системами уже не модно?

http://www.sm.bmstu.ru/sm5/n4/oba/gl3.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ммммм, возможно я неправильно выразился. :1111493779:

повторюсь:

но вот если я найду например какую нить функцию... или мне например надо найти такую, то где мне почитать что вот эти ff[] выполняют в неизвестной найденной мной функции? (с английским в том то и проблема, медленно.) Помогите плз.

 

где мне найти описание СТАНДАРТНЫХ функций альтеры? хотябы основных!!! счетчики, регистры, мультиплексоры.... (на русском языке), прочитав раз на русском, потом легче впитывать описание незнакомых функций на англицком. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Описание выводов этих функций находится в справке. Описание работы счетчиков, регистров и пр. находится в справочниках по цифровой технике. В хелпе на все функции находится таблица истинности для понимания которой не требуется знание английского языка. Описание по 10 страниц на каждый элемент вы не найдете, т.к. оно не нужно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

где мне найти описание СТАНДАРТНЫХ функций альтеры? хотябы основных!!! счетчики, регистры, мультиплексоры.... (на русском языке), прочитав раз на русском, потом легче впитывать описание незнакомых функций на англицком. :rolleyes:

 

 

Ключевое слово MegaWizard Plugin manager.

 

Там можно выбрать что Вам нужно, счетчик или еще что то. Quartus щас не стоит у меня, но в одной из менюшек есть такой пункт, кажется в tools...

там нужно выбрать название фала и тип его для генерации устройства. потом этот файл можно подключить череp INCLUDE.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня вопрос специфический, но вдруг кто-нибудь знает? Помогите, пожалуйста!

 

Меня интересует литература по объектно-ориентированным расширениям VHDL. Больше всего, конкретно - по SUAVE. Книг таких, по-моему, нет, но хотя бы статьи - желательно с описанием синтаксиса.

К примеру, в сети много упоминаний о статьях Peter Asenden, выход на сами статьи - ?

То есть, вроде как-то можно заказать. А если просто так? Может, многого хочу, но я просто спрашиваю.

 

То же самое журналы. Например, хотелось бы найти Design and Test of Computers (April-June 1998).

 

Заранее спасибо, если кто отзовется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хочу поделится одной штукой в Верилоге, которая меня сейчас сильно ухмыльнула (потратил на неё часа 2, отлавливая баг в программе).

как вы думаете чему равно выражение:

 

address=(y_coordinate*(picture_width>>2+1)+x_coordinate)*2;

 

при y_coordinate=2, picture_width=16, x_coordinate=3 ?

 

ЗЫ: ответ для самостоятельной проверки - корень квадратный из 196

и главное, что везде использовал оператор сдвига подобающим образом, а тут при числовых коэфициентах никак не мог заметить ошибки, вот что значит экономить на скобках :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хочу поделится одной штукой в Верилоге, которая меня сейчас сильно ухмыльнула (потратил на неё часа 2, отлавливая баг в программе).

как вы думаете чему равно выражение:

 

address=(y_coordinate*(picture_width>>2+1)+x_coordinate)*2;

 

при y_coordinate=2, picture_width=16, x_coordinate=3 ?

 

ЗЫ: ответ для самостоятельной проверки - корень квадратный из 196

и главное, что везде использовал оператор сдвига подобающим образом, а тут при числовых коэфициентах никак не мог заметить ошибки, вот что значит экономить на скобках :)

 

А железячник наверно бы picture_width>>2 как picture_width[x:2] оформил. И на разрядности бы съэкономил.

(Чтоб без предупреждений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...