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

 
 
> Про ПЛИС и VHDL, Некоторые вопосы
Грендайзер
сообщение Jul 12 2011, 10:46
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



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

entity DIVIDER is
port (CLK_IN : in Std_logic;
RESET : in Std_logic;
SPD :in Integer;
CLK_OUT :out Std_logic);
end;

wacko.gif

Сначала подумал, что какая то ошибка, но потом проверил вбив подобную строчку в ксилинксовский ISE и... он это дело захавал twak.gif
Никак не могу понять, как порт цифровой микросхемы, может иметь значение отличное от битового? Что это значит то? Как трактовать, что нога у плисины это integer? cranky.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Грендайзер
сообщение Jul 28 2011, 09:40
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 368
Регистрация: 18-04-11
Из: Город-герой Москва
Пользователь №: 64 451



мммм... последовательный сумматор... я честно говоря в этой терминологии не силён... но уверен, что в какой то книжке (помоиму в буржуйской) видел что то в этом духе... токо там фраза была, мне её гугл перевёл как "конвейерный сумматор", это не одно и то же?
Я накачал несколько книжек по этому делу, но чё то какие то они "отвлечённые", может посоветуете что нибудь?
И ещё последний вопросик, если можно rolleyes.gif ... А как быть, если скажем делитель это не двойка и даже не степень двойки, а скажем 3 или что то в этом духе?

Сообщение отредактировал Грендайзер - Jul 28 2011, 09:43
Go to the top of the page
 
+Quote Post
R.A.K.
сообщение Jul 28 2011, 11:36
Сообщение #3


Участник
*

Группа: Validating
Сообщений: 55
Регистрация: 6-04-11
Пользователь №: 64 180



Угрюмов "Цифровая схемотехника", например. И т.п.

1) Берем готовый делитель для целых - модуль с входами и выходами. Находим нужной разрядности. Надо с остатком - ищем с остатком. Надо со знаком... и т.д. CoreGen Вам уже советовали. А баги... Баги у всех есть. И у Вас будут. Были баги - и нету багов. Мелочи... Почитаете даташит на ксайлиновский делитель, сконфигурируете как хочется (что такое divident, quotient, divisor и др. - разберетесь).
2) Пользуемся структурным описанием. Подаем на входы операнды, снимаем результат... Голая цифровая схемотехника, без всяких синтаксических vhdl изъёбов.
3) Теперь имеем делитель, например, двух 16-разрядных операндов (целых) с 16-разрядным результатом. Как поделить им дробные?
Суть в использовании фиксированной точки, правильном представлении входных данных, правильной интерпретации выходных данных.


Пример для делителя двух 16-бит беззнаковых.

Можно делить целые числа.
2310 = 00000000_00010111
4710 = 00000000_00101111

На входы делителя подаем:
00000000_00010111
00000000_00101111
На выходе имеем
00000000_00000010, т.е. 210 (и остаток, если делитель его выдает)

47 / 23 = 2

Можно дробные...

Вариант 1:
2310 = 00000001_0111.0000 (12 бит - целая часть, 4 - дробная)
4710 = 00000010_1111.0000 (12 бит - целая часть, 4 - дробная)
На входы делителя подаем:
00000001_01110000 (делитель)
00000010_11110000 (делимое)
На выходе имеем (частное):
00000000_00000010
Поскольку у делимого и у делителя по 4 разряда на дробную часть,
то 4 - 4 = 0. Т.е. у результата точка справа от нулевого разряда.
Значит результат интерпретируется так:
00000000_00000010. = 210

Вариант 2:
2310 = 00000000_00010111 (16 бит - целая часть)
4710 = 00000010_1111.0000 (12 бит - целая часть, 4 - дробная)
На входы делителя подаем:
00000000_00010111 (делитель)
00000010_11110000 (делимое)
На выходе имеем:
00000000_00100000 (плохой пример sm.gif, ну да ладно.)
У делимого на дробную часть отведено 4 разряда, у делителя - 0.
Значит 4 - 0 = 4 - столько разрядов будет отведено у частного (результат) на дробную часть.
Значит результат интерпретируется так:
00000000_0010.0000 = 210

Еще раз вариант 2 ( с другими операндами - 16 и 5 sm.gif ):
0510 = 00000000_00000101 (16 бит - целая часть)
1610 = 00000001_0000.0000 (12 бит - целая часть, 4 - дробная)
На входы делителя подаем:
00000000_00000101 (делитель)
00000001_00000000 (делимое)
На выходе имеем:
00000000_00110011
У делимого на дробную часть отведено 4 разряда, у делителя - 0.
Значит 4 - 0 = 4 - столько разрядов будет отведено у частного (результат) на дробную часть.
Значит результат интерпретируется так:
00000000_0011.0011 = 3.187510

Ясна идея?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Грендайзер   Про ПЛИС и VHDL   Jul 12 2011, 10:46
- - andrew_b   Очевидно, это несколько бит. Скорее всего 32.   Jul 12 2011, 10:56
- - Грендайзер   хххмммм... только что посмотрел прект в "схем...   Jul 12 2011, 11:04
- - SFx   в стандарте vhdl написано что все integer должны б...   Jul 12 2011, 19:51
|- - andrew_b   Цитата(SFx @ Jul 12 2011, 23:51) в станда...   Jul 13 2011, 04:27
- - Грендайзер   Спасибо. Теперь всё встало на свои места... однако...   Jul 26 2011, 11:38
|- - ivanoffer   Чтобы что-то сделать, надо понимать что делаешь, а...   Jul 26 2011, 12:09
|- - R.A.K.   Цитата(Грендайзер @ Jul 26 2011, 15:38) Х...   Jul 27 2011, 12:37
- - Грендайзер   а если бы Xilinx это IP не сделал? Или по тем или ...   Jul 27 2011, 10:54
- - Грендайзер   С плавающей или с фиксированной запятой, значения ...   Jul 28 2011, 06:20
|- - R.A.K.   Цитата(Грендайзер @ Jul 28 2011, 10:20) С...   Jul 28 2011, 08:23
- - Грендайзер   ЦитатаТо, что VHDL не только для синтеза использую...   Jul 28 2011, 08:51
|- - R.A.K.   Цитата(Грендайзер @ Jul 28 2011, 12:51) к...   Jul 28 2011, 09:24
- - Грендайзер   Спасибо, ваши ответы наверно самое конкретное и по...   Aug 3 2011, 05:50
- - whiteTigr   Предложу пример модуля работы с плавающей точкой. ...   Aug 4 2011, 12:35
- - Грендайзер   Да, спасибо, обязательно попробую получше разобрат...   Aug 4 2011, 13:15
|- - whiteTigr   Цитата(Грендайзер @ Aug 4 2011, 17:15) Кс...   Aug 5 2011, 06:27
- - Грендайзер   Был бы очень признателен за ответ   Aug 10 2011, 08:26
|- - R.A.K.   Цитата(Грендайзер @ Aug 10 2011, 12:26) Б...   Aug 10 2011, 10:23
- - Грендайзер   Пробовал... но чё то всёравно ничего не понятно......   Aug 11 2011, 09:15
|- - R.A.K.   Тады вот Вам чиста канкрэтика (чиста канкретна по ...   Aug 11 2011, 10:15
|- - whiteTigr   Цитата(R.A.K. @ Aug 11 2011, 14:15) (мляя...   Aug 11 2011, 12:36
- - Грендайзер   ЦитатаА Вы в каком классе то учитесь, если не секр...   Aug 12 2011, 12:25
|- - R.A.K.   Цитата(Грендайзер @ Aug 12 2011, 16:25) Я...   Aug 12 2011, 21:20
- - Грендайзер   Спасибо. А по поводу английского так это Вы с реко...   Aug 15 2011, 06:54
- - des333   Грендайзер: Смотрите реализации на Оpencores, нап...   Aug 27 2011, 20:26
- - Грендайзер   спасибо   Sep 2 2011, 11:49


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:31
Рейтинг@Mail.ru


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