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

Правильно! К чему это старье. Даешь numeric_std_unsigned и numeric_std_signed ! ;)

+100

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


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

Cмотрите на сигнал we для данной памяти - чудес не бывает ;)

 

PS описания памяти надо делать согласно Language Template

тогда будет память на блочной памяти синтезироваться, а не будет distributed ...

Хотя может Вы специально используете distributed память...

 

Делал по этому примеру:

http://vhdlguru.blogspot.com/2011/01/block...-on-xilinx.html

 

Там написано, что в distributed запись синхронная, а читать можно асинхронно.

Специально использую distributed, да.

Вписал "attribute ram_style of ram : signal is "distributed";"

Потому что мне мало надо.

 

serjj спасибо за ссылки, буду читать.

 

Nepoch Verilog буду учить, да. Потому что все равно надо.

 

_Anatoliy, aat_81 спасибо за советы, я буду пробовать...

 

Я включил numeric_std чтобы векторы складывать.

А если STD_LOGIC_ARITH/STD_LOGIC_UNSIGNED убираю, то тогда вылезают ошибки там где счетчики "+1" "делают".

В общем надо переделывать. Надо учится..

 

 

 

Начал в общем менять "std_logic_vector" на "unsigned" чтобы "+1" работало, и поползли новые ошибки, из субмодулей и отовсюду, что мол теперь сигналы несовместимы.

В общем, в этом проекте, не буду переделывать сейчас уже наверно. Когда что-то новое буду делать, то может тогда с NUMERIC_STD подружусь.

 

А то что "STD_LOGIC_ARITH/STD_LOGIC_UNSIGNED" какие то "левые", я даже и не думал раньше.

У xilinx-a, в папке "ISE_DS\ISE\vhdl\hdlMacro" все на них собрано.

 

Может мне просто надо научится векторы складывать без "ieee.numeric_std.all" ?

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


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

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

то что вы объявили что-то как ансигнед, это же не значит что сигналы физически поменялись, просто стало понятно как для данного типа работает математика. Более того и математика даже работает для всех типов практически одинаков, вопрос применения знака.

 

Потому объявляйте вектором, а потом во всех мат действиях явно приводите операнды, складывайте и приводите тип обратно, как то так я делал когда писал на VHDL :), верилог меня избавил от этого зоопарка...

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


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

А то что "STD_LOGIC_ARITH/STD_LOGIC_UNSIGNED" какие то "левые", я даже и не думал раньше.

У xilinx-a, в папке "ISE_DS\ISE\vhdl\hdlMacro" все на них собрано.

Они не левые, они просто не ieee'шные, их сделали synopsis для synopsis. А то что у xilinx на них много, что сделано, ну так там тоже люди работают, многие начинали давным давно на synopsis и не хотят переделывать что либо, ибо "работает-не трожь". Но если поискать, то можно найти, что xilinx рекомендует в новых дизайнах использовать именно numeric_std.

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


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

Они не левые, они просто не ieee'шные, их сделали synopsis для synopsis. А то что у xilinx на них много, что сделано, ну так там тоже люди работают, многие начинали давным давно на synopsis и не хотят переделывать что либо, ибо "работает-не трожь". Но если поискать, то можно найти, что xilinx рекомендует в новых дизайнах использовать именно numeric_std.

+1

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


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

Начал в общем менять "std_logic_vector" на "unsigned" чтобы "+1" работало, и поползли новые ошибки, из субмодулей и отовсюду, что мол теперь сигналы несовместимы.

В общем, в этом проекте, не буду переделывать сейчас уже наверно. Когда что-то новое буду делать, то может тогда с NUMERIC_STD подружусь.

 

Может мне просто надо научится векторы складывать без "ieee.numeric_std.all" ?

Используя numeric_std, очень приятно счетчики задать как integer range 0 to maxCnt. Только не забывать проверять условие на обнуление счетчика по максимальному числу)

Если интересно посмотрите тут всякие полезности

Изменено пользователем Barktail

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


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

Используя numeric_std, очень приятно счетчики задать как integer range 0 to maxCnt. Только не забывать проверять условие на обнуление счетчика по максимальному числу)

 

Я может странную вещь скажу, но задавать счетчика как integer можно и вовсе не используя numeric_std.

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


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

Я включил numeric_std чтобы векторы складывать.

А если STD_LOGIC_ARITH/STD_LOGIC_UNSIGNED убираю, то тогда вылезают ошибки там где счетчики "+1" "делают".

В общем надо переделывать. Надо учится..

 

 

 

Начал в общем менять "std_logic_vector" на "unsigned" чтобы "+1" работало, и поползли новые ошибки, из субмодулей и отовсюду, что мол теперь сигналы несовместимы.

В общем, в этом проекте, не буду переделывать сейчас уже наверно. Когда что-то новое буду делать, то может тогда с NUMERIC_STD подружусь.

 

А то что "STD_LOGIC_ARITH/STD_LOGIC_UNSIGNED" какие то "левые", я даже и не думал раньше.

У xilinx-a, в папке "ISE_DS\ISE\vhdl\hdlMacro" все на них собрано.

 

Может мне просто надо научится векторы складывать без "ieee.numeric_std.all" ?

На самом деле не вижу ничего плохого в использовании библиотек STD_LOGIC_UNSIGNED или STD_LOGIC_SIGNED главное понимать для чего. Просто копирование библиотеки может привести к труднообнаружимой ошибке, но как Вы совершенно верно заметили в 90% случаев это работает.

 

 

Я может странную вещь скажу, но задавать счетчика как integer можно и вовсе не используя numeric_std.

Можно, но потом заниматься конвертированием не хочется

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


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

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

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

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

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

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

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

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

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

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