Заголовок сообщения: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Чт май 03, 2012 23:50:42
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
необходимо написать на xilinx программу для перевода из двоичной системы в десятичную и наоборот..запуская программу мы должны увидеть значения на семисегменте микросхемы SPARTAN 3E...как это сделать?подскажите пожалуйста(((
Вы, пожалуйста, ТЗ-то подкорректируйте. Вам на VHDL или на Verilog? Нужно вывести на семисегментник какие-то числа, так получается?
_________________ pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего ) MrYuran: Самые ортодоксальные — это PICудеи ) Katz: Не, 51-ники. )
Для тех кто в танке, повторяю - на Spartanе. - ой не удержался. если на VHDL, то можете почитать мой проект http://haos.homeip.net/clock9572/index.html . Практически вам нужен самый первый модуль bin2seg - преобразует двоичный код в семисегментный.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
ОФФтоп Что вы лезете со своими языками описания аппаратуры? Сказано же
3kivan писал(а):
...должны увидеть значения на семисегменте микросхемы SPARTAN 3E..
Ну и фиг с ним что семисегмента микросхемы нет у спартана, а так же у остальных плис По теме Найдите проект декодера в сети и адаптируйте под себя. Я так понимаю, показывать будете натурно на отладочнике - заодно и схему поищите. Потому как переделывать часть проекта под нее придется
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Заголовок сообщения: Re: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Пт май 04, 2012 13:32:17
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
SubDia писал(а):
Вы, пожалуйста, ТЗ-то подкорректируйте. Вам на VHDL или на Verilog? Нужно вывести на семисегментник какие-то числа, так получается?
давайте VHDL,проверю хоть,а так надо чтобы на семисегментном индикаторе показывало числа,для примера,преобразователь из двоичного в 10й,цифру 12 должно показывать не 1100,а 1и 2 на индикаторах,следовательно 0001 0010,на схеме управления насколь понял надо мультиплексоры как то поменять,но как не знаю,чтобы сначала старшие биты отхватывало,потом младшие,следовательно для преобразователя с 10 в 2 код надо чтобы 0001 0010 превращался в 1100 и показывало в двоичном значении,т.е. букву С
Вложения:
Комментарий к файлу: схема наша плис.JPG [25.56 KiB]
Скачиваний: 767
Ай, не угадали. Verilog, так что не помогу. Может, ребята вон подскажут (хотя, вроде и так подсказали). Дальше по тексту ничего толком не понятно.((
_________________ pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего ) MrYuran: Самые ортодоксальные — это PICудеи ) Katz: Не, 51-ники. )
Полтора года назад тут был один студент... viewtopic.php?f=20&t=39853&hilit=VHDL . Тоже нужно было. Но тот вроде сообразил, что двоичное надо сначала преобразовать в БКД. Правда так и не поняли тогда - сдал или нет.
Кстати, пробовал свой последний исходник из той темы применить в одной конструкции. бехивиоральная симуляция идёт, а вот синтез ни в какую - нету, говорит у меня такого деления. дели или на 2, или вообще отстань. А, скормить хотел coolrunner-у.
Дык это, топикстартер. Покажи, что получилось. Нам то курсачи лень делать. Ну если явную плюху увидим, скажем.
Я так понимаю, охота на тублерах нащелкать двоичное число и на индикаторе увидеть число? Ну, первре, что потребуется, действительно, из двоичного получить БКД. А чтобы на индикатор вывести - там наверняка динамическую индикацию делать надо будет, или как вы сказали - мультиплексор. А за мультиплексором - преобразователь двоичного в семисегментный. за час можно написать отладить и оттестировать. с перекурами.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Заголовок сообщения: Re: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Пт май 04, 2012 23:50:48
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
доступ к микросхеме один раз в неделю..если уж проверять то с готовой прогой..написав прогу еще не понятно будет ли она ваще показывать то что необходимо=((
нам полагается сейчас расплакаться? И еще, не знаю, как вам читают этот курс (и что за курс) - в программируемую логику не программируют программу. То что вы пишите - не программа. А описание конфигурации, описание устройства. Программы у микроконтроллеров, у микропроцессоров - они выполняют программы. А VHDL описывает, как должно вести себя устройство или из чего оно состоит (вам же рассказывали про структурное и поведенческое описание?). Хм, глянул по каталогам, ваша платка напоминает Agilent BASYS2. Надо бы купить себе в подарок - поиграться? Хоть и раза в два дороже, чем платка была с Coolrunner, но зато всё нужное на борту. Хотя сто баксов на дороге не валяются.
Правда, плохо представляю, как вы её программируете. Скажем, чтобы сделать динамику на индикаторе, вам доступна только частота 25МГц. Чтобы её применить вам её еще поделить надо. Возможно у Спартана есть делитель частоты, но его применение требует отдельного изучения.
С другой стороны - всю логику вы можете отладить на симуляторе, а при доступе к телу придется только повозиться с файлом констрайнтов, чтобы всё на нужные выводы завести.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Последний раз редактировалось uldemir Вт май 08, 2012 18:06:01, всего редактировалось 1 раз.
Только не Agilent, а Digilent Есть такая в наличии. К ней лучше брать и плату "расширения", потому как разъем на 50 контактов выходит едва ли не дороже размещаемого на плате. Генератор там на 50 МГц. Что касается делителя частоты - то проще для студентов делать обычными счетчиками(за одно и попрактикуются) По теме - автор выкладывайте свой код, если его писали. Если не описывали - бегом за редактор. Мы только со стороны поможем советами
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Это у Nexys2 страшный разъём. А, и вправду Nexys2 - там есть приведенная ТС картинка. Вообще-то шикарная плата. 32М памяти... это... что-то мощное. И это студиозусы используют, чтобы лампочками моргать? А разъём на фарнеле HRS (HIROSE) - FX2-100S-1.27DSL(71) - RECEPT, 1.27MM, R/A, 100WAY стоит всего 10 долларов. Или это не он? Нет, для начала возьму платку по-скромнее.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
из какого десятичного? из БКД? так элементарно (гораздо проще чем наоборот) просто сумма чисел A*100 + B*10 + C, Если A-сотни, B-десятки и C - единицы. Умножение делается элементарно. Например на 10 ("1010") + число суммируем с самим собой два раза сдвинутым влево и результат еще раз сдвигаем влево. Ну как в столбик. На 100 ("1100100") аналогично сумма несдвинутого и сдвинутых на 3 и 4, и следом еще сдвигаем на 2. Логика понятна?
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Заголовок сообщения: Re: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Чт май 10, 2012 18:40:25
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
uldemir писал(а):
Для тех кто в танке, повторяю - на Spartanе. - ой не удержался. если на VHDL, то можете почитать мой проект http://haos.homeip.net/clock9572/index.html . Практически вам нужен самый первый модуль bin2seg - преобразует двоичный код в семисегментный.
у меня вопрос по вашему проекту.,у вас там есть преобразователь 2-10 и 10-2 в семисегмент, мне бы интересно посмотреть схему управления преобразования на xilinx,сам код понятен...
Не понял, что вы хотите. Схема как таковая не составляется. Модуль описывается, скажем, поведенческой моделью, а дальше уже работа САПРа из доступных в заданном кристалле элементов соорудить необходимое. При желании, можно у САПРа попросить вывести RTL schematic, но это довольно далеко от вменяемого для человека представления. А по поводу проекта там есть только преобразование двоичного в семисегментный. Конечно, он также попадает под определение преобразователя бинарно-кодированного-десятичного в семисегментный, но это частности.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Заголовок сообщения: Re: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Ср май 16, 2012 17:52:16
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
uldemir писал(а):
Не понял, что вы хотите. Схема как таковая не составляется. Модуль описывается, скажем, поведенческой моделью, а дальше уже работа САПРа из доступных в заданном кристалле элементов соорудить необходимое. При желании, можно у САПРа попросить вывести RTL schematic, но это довольно далеко от вменяемого для человека представления. А по поводу проекта там есть только преобразование двоичного в семисегментный. Конечно, он также попадает под определение преобразователя бинарно-кодированного-десятичного в семисегментный, но это частности.
так и не понял как сделать на vhdl преобразователь из десятичного в двоичный,напишите пожалуйста что и как=((все время ошибки выдает=((
Заголовок сообщения: Re: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Ср май 16, 2012 18:39:16
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
uldemir писал(а):
Код:
000000cccc - единицы 00000bbbb0 - десятки * 2 000bbbb000 - десятки * 8 т.е. b*2+b*8=b*10 - правильно? 0000aaaa00 - cотни * 4 0aaaa00000 - сотни * 32 aaaa000000 - сотни * 64 a*64+a*32+a*4=a*100.
И всё это суммируется. Ну, если по-тупому, то это будет выглядеть примерно так. на синтаксис и грамматику синтезируемость не проверял.
Код:
Entity bcd2bin is Port ( a : in std_logic_vector (3 downto 0); b : in std_logic_vector (3 downto 0); c : in std_logic_vector (3 downto 0); result : out std_logic_vector (9 downto 0));
architecture behavioral of bcd2bin is signal sum1 : std_logic_vector (9 downto 0); signal sum2 : std_logic_vector (9 downto 0); signal sum3 : std_logic_vector (9 downto 0); signal sum4 : std_logic_vector (9 downto 0); signal sum5 : std_logic_vector (9 downto 0); signal sum6 : std_logic_vector (9 downto 0);
result <= sum1 + sum2 + sum3 + sum4 +sum5 +sum6; end behavioral;
Возможно, спартан сьел бы и просто a(3 downto 0)*100+b(3 downto 0)*10+c(3 downto 0);, там же есть аппаратный умножитель. Но мне сейчас негде проверить, а сам я в такой сложной арифметике еще не силён - могу напутаться с типами данных.
Заголовок сообщения: Re: SPARTAN 3E семисегмент(перевод чисел)
Добавлено: Ср май 16, 2012 20:52:23
Первый раз сказал Мяу!
Зарегистрирован: Чт май 03, 2012 23:39:26 Сообщений: 23
Рейтинг сообщения:0
uldemir писал(а):
Код:
000000cccc - единицы 00000bbbb0 - десятки * 2 000bbbb000 - десятки * 8 т.е. b*2+b*8=b*10 - правильно? 0000aaaa00 - cотни * 4 0aaaa00000 - сотни * 32 aaaa000000 - сотни * 64 a*64+a*32+a*4=a*100.
И всё это суммируется. Ну, если по-тупому, то это будет выглядеть примерно так. на синтаксис и грамматику синтезируемость не проверял.
Код:
Entity bcd2bin is Port ( a : in std_logic_vector (3 downto 0); b : in std_logic_vector (3 downto 0); c : in std_logic_vector (3 downto 0); result : out std_logic_vector (9 downto 0));
architecture behavioral of bcd2bin is signal sum1 : std_logic_vector (9 downto 0); signal sum2 : std_logic_vector (9 downto 0); signal sum3 : std_logic_vector (9 downto 0); signal sum4 : std_logic_vector (9 downto 0); signal sum5 : std_logic_vector (9 downto 0); signal sum6 : std_logic_vector (9 downto 0);
result <= sum1 + sum2 + sum3 + sum4 +sum5 +sum6; end behavioral;
Возможно, спартан сьел бы и просто a(3 downto 0)*100+b(3 downto 0)*10+c(3 downto 0);, там же есть аппаратный умножитель. Но мне сейчас негде проверить, а сам я в такой сложной арифметике еще не силён - могу напутаться с типами данных.
почему то ошибку выдает=((см. скрин)
Вложения:
Комментарий к файлу: ошибка ё10-2.JPG [123.72 KiB]
Скачиваний: 707
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения