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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> помогите найти общий язык, Quartus 16.1.2
petrov
сообщение Sep 12 2017, 11:44
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 055
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(_Anatoliy @ Sep 12 2017, 07:39) *
Пугалки какие то. И к чему катастрофическому одновременное использование может привести? Компьютер взорвётся? Вы можете сказать почему за почти 20 лет применения этой троицы я ни разу не видел некорректного поведения? Если в течении этого времени минусов не замечалось а плюсы налицо то вывод очевиден. Это я как хронический практик сужу.


Потому что в одном месте даются различные определения одним и тем же типам и операциям, "дядя Вася так делает" не аргумент, такого непредсказуемого поведения нужно в принципе избегать, а не ждать странных проблем, тем более никаких сложностей делать всё с использованием одной numeric_std нет, при разработке numeric_std были учтены недостатки std_logic_arith.

Цитата(Flip-fl0p @ Sep 12 2017, 12:49) *
Так объявили бы сразу счетчики как UNSIGNED, тога код был бы красивее и, самое главное, гораздо понятнее.
Так-же я не вижу ничего зазорного в объявлении счетчика как INTEGER, если так удобнее для реализации.


Спорно насчёт понятнее, это прыгать надо выше по тексту и смотреть чего там объявлялось.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Sep 12 2017, 11:47
Сообщение #17


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(petrov @ Sep 12 2017, 14:44) *
Спорно насчёт понятнее, это прыгать надо выше по тексту и смотреть чего там объявлялось.

Я к тому что, если объявить счетчики как UNSIGNED, то нет необходимости применять длинные цепочки типа:
Код
count_shim <= std_logic_vector (unsigned(count_shim) + 1);

И, как мне кажется, код становится несколько понятней.
В любом варианте (ну кроме счетчика на Variable) придётся прыгать и смотреть на место объявления счетчика...

Сообщение отредактировал Flip-fl0p - Sep 12 2017, 11:48
Go to the top of the page
 
+Quote Post
Tausinov
сообщение Sep 12 2017, 12:09
Сообщение #18


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

Группа: Участник
Сообщений: 112
Регистрация: 19-10-13
Пользователь №: 78 795



Есть еще вариант в имя переменной добавлять аппендикс с типом. Например, signal test_cnt_u : unsigned(3 downto 0);
Тогда не придется искать определения.

Сообщение отредактировал Tausinov - Sep 12 2017, 12:10
Go to the top of the page
 
+Quote Post
Maverick
сообщение Sep 12 2017, 15:13
Сообщение #19


я только учусь...
******

Группа: Модераторы
Сообщений: 3 366
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



с последними сообщениями от Tausinov и Flip-fl0p я согласен, что так удобней, но с этим

Цитата(petrov @ Sep 12 2017, 14:44) *
Спорно насчёт понятнее, это прыгать надо выше по тексту и смотреть чего там объявлялось.


тоже согласен


нужно подбирать "золотую середину"


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Sep 12 2017, 17:36
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(Maverick @ Sep 12 2017, 18:13) *
нужно подбирать "золотую середину"

Как мне кажется надо не золотую середину подбирать, а просто выработать определенные правила оформления кода, и им придерживаться. И дальше всё будет происходить на "автомате".
Например я взял за правило применять для счетчиков тип integer, просто мне так удобно. И для тех редких случаев, когда необходимо применить какой-то разряд счетчика, или вывести его на внешний порт, я применяю конвертацию типа integer в unsigned или SLV.
Но ещё у меня есть правило держать счетчики в отдельных модулях. А то я вечно намудрю в коде с счетчиком, и пол дня ищу проблему. Да и в принципе удобно, поскольку если надо мне, например, изменить схему с суммирующего счетчика на вычитающий, то я не переписываю счетчик, а просто меняю его параметр. Или надо, например загружать в счетчик какие-то значения, значит буду применять счетчик с синхронной загрузкой. Но тут скорее связанно с тем, что мне проще схему изначально представить в категориях счетчик, регистр, мультиплексор и пр.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th September 2017 - 03:23
Рейтинг@Mail.ru


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