Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба У меня есть .sch которому вводишь 2 2байтовых числа и он выводит ответ на 7 сегментовый дисплей в 16 коде. то есть при 11*11 он выведет 9(не затрагивая остальные) но я например хочу сделать что бы он перемножал 2 байтовое с 3 байтовым и тогда нужно использовать два дисплея (всего их там 4) 8888 Так вот вопрос как мне сказать что вывод этой коробочки в схеме я хочу на один дисплей а другой коробочки на другой дисплей ? ISE WebPack Spartan3e Bypass2 file.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба очевидно надо указать палочки подключения:). Каждая коробочка имеет свои выходные палочки для соединения. Надо найти специальный файлик и написать какие палочки от какой коробочки на какие светилочки подключить. Файлик ucf завется. Одно меня беспокоит почему 11 * 11 = 9, и кого это девятка не затрагивает, но думаю это тайна мира коробочек. короче пины надо назначить в файле пользовательских констрайнов Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба очевидно надо указать палочки подключения:). Каждая коробочка имеет свои выходные палочки для соединения. Надо найти специальный файлик и написать какие палочки от какой коробочки на какие светилочки подключить. Файлик ucf завется. Одно меня беспокоит почему 11 * 11 = 9, и кого это девятка не затрагивает, но думаю это тайна мира коробочек. короче пины надо назначить в файле пользовательских констрайнов 11*11 в двоичном ответ в шестнадцетиричном коде можешь скинуть пример ucf файла? так как выводы я вывожу на ca cb cc cd и так далее. но как сменить цифру на какую я вывожу я без понятия Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба ох ох ох как вы вообще без констраинов работает? А клок у вас есть? а как вы его подключили? в файле констраинов пишут типа так NET "clk_pin" LOC = P55; NET "LED1" LOC = P51; NET "LED2" LOC = P48; в кавычках это входные - выходные порты модуля верхнего уровня, а с буквой Р это ноги самой плис. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба очевидно надо указать палочки подключения:). Каждая коробочка имеет свои выходные палочки для соединения. Надо найти специальный файлик и написать какие палочки от какой коробочки на какие светилочки подключить. Файлик ucf завется. Одно меня беспокоит почему 11 * 11 = 9, и кого это девятка не затрагивает, но думаю это тайна мира коробочек. короче пины надо назначить в файле пользовательских констрайнов # PlanAhead Generated physical constraints NET "AN" LOC = E2; NET "BN" LOC = N3; NET "CN" LOC = G3; NET "DN" LOC = F3; NET "CA" LOC = L14; NET "CB" LOC = H12; NET "CC" LOC = N14; NET "CD" LOC = N11; NET "CE" LOC = P12; NET "CF" LOC = L13; NET "CG" LOC = M12; NET "DP" LOC = N13; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 (изменено) · Жалоба ох ох ох как вы вообще без констраинов работает? А клок у вас есть? а как вы его подключили? в файле констраинов пишут типа так NET "clk_pin" LOC = P55; NET "LED1" LOC = P51; NET "LED2" LOC = P48; в кавычках это входные - выходные порты модуля верхнего уровня, а с буквой Р это ноги самой плис. вот я скинул вам как я запинил и свой проект что мне написать что бы плата поняла на какую из 4 цифер я хочу вывести сигнал данной функции ? ох ох ох как вы вообще без констраинов работает? А клок у вас есть? а как вы его подключили? в файле констраинов пишут типа так NET "clk_pin" LOC = P55; NET "LED1" LOC = P51; NET "LED2" LOC = P48; в кавычках это входные - выходные порты модуля верхнего уровня, а с буквой Р это ноги самой плис. вот нашел часы library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; entity hodiny is port( Clk_50MHz : in std_logic; Reset : in std_logic; Mux_sel : out std_logic ); end hodiny; architecture Behavioral of hodiny is signal tmp : std_logic_vector(17 downto 0); begin process (Clk_50MHz, Reset) begin if (Reset='1') then tmp <= (others => '0'); elsif rising_edge(Clk_50MHz) then tmp <= tmp + 1; end if; end process; Mux_sel <= tmp(17); end Behavioral; ну вот скажите пожалуйста у меня есть допустим схема которая в некоторых случаях должна выводить результат на 2 дисплея что мне написать в распиновке и если нужно где либо еще что бы она выводила на 2 дисплея ? Изменено 5 марта, 2017 пользователем Glement Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба ААА... так у вас проблема то в другом. Вы вообще не понимаете как это работает, а не как это подключить:)))) видите сигналы с F12, J12, M13, K14? вот именно они отвечают за то какая из ячеек будет гореть. за один раз вы можете вывести сигнал только на одну ячейку, вернее можно и на несколько, но они будут казать одно и тоже. Вам надо быстро быстро выбирать ячейку и показывать на ней цифру, потом выключать ее и выбирать другую с другой цифрой. Глаз инертен и он не увидит что ячейки мигают. Ну как я вижу вашу схему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба ААА... так у вас проблема то в другом. Вы вообще не понимаете как это работает, а не как это подключить:)))) видите сигналы с F12, J12, M13, K14? вот именно они отвечают за то какая из ячеек будет гореть. за один раз вы можете вывести сигнал только на одну ячейку, вернее можно и на несколько, но они будут казать одно и тоже. Вам надо быстро быстро выбирать ячейку и показывать на ней цифру, потом выключать ее и выбирать другую с другой цифрой. Глаз инертен и он не увидит что ячейки мигают. Ну как я вижу вашу схему. значит мне нужно написать таймер который будет переключать сигналы ? то есть например 8 мс горит 1 дисплей 8 мс другой теперь осталась последняя проблема где это надо написать и как это написать? так как я вижу часы. есть файл с сигналами для варианта с 1 дисплеем. а вот где писать код для переключения дисплеев так как я понял что у меня будет в файле 1 функция которая переключает две другие в двух других условия для рисования числа но я без понятия как это все реализовать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба О... ну у вас впереди долгий путь если вы задаете такие вопросы. Все что вы сейчас пишите в итоге будет схемой внутри плис. Схема разбивается на части, каждая часть делает свою работу. Каждая часть схемы - это файл на verilog, VHLD, или графическое представление. Потом должен быть один общий файл который соединяет все части схемы воедино и подключает к ножкам микросхемы. Мне видится что у вас должна быть модуль который принимает на вход 4 числа для отображения и на выходе управляет сигналами выбора экранчика и тем что на экранчик подать. Этот модуль постоянно перебирает экранчики и зажигает данные. Потом вам будут нужны модули формирования входов для этого модуля. Это тоже схемы которые что-то делают, и так далее... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба О... ну у вас впереди долгий путь если вы задаете такие вопросы. Все что вы сейчас пишите в итоге будет схемой внутри плис. Схема разбивается на части, каждая часть делает свою работу. Каждая часть схемы - это файл на verilog, VHLD, или графическое представление. Потом должен быть один общий файл который соединяет все части схемы воедино и подключает к ножкам микросхемы. Мне видится что у вас должна быть модуль который принимает на вход 4 числа для отображения и на выходе управляет сигналами выбора экранчика и тем что на экранчик подать. Этот модуль постоянно перебирает экранчики и зажигает данные. Потом вам будут нужны модули формирования входов для этого модуля. Это тоже схемы которые что-то делают, и так далее... я понимаю как это будет выглядеть я не понимаю как это сделать Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба Я думаю надо смело использовать пункты меню по созданию файлов. В план ахеде есть пункты добавить и создать новый файл для синтеза. Вот надо создать файлы, написать в них текст описания. Потом создать топовый файл в нем все собрать воедино. Добавить констраины, провести симуляцию, синтез и так далее... Не сдавайтесь! Вы на верилоге или VHDL писать умеете, кстати? Или вы хотите схемки руками рисовать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Glement 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба Я думаю надо смело использовать пункты меню по созданию файлов. В план ахеде есть пункты добавить и создать новый файл для синтеза. Вот надо создать файлы, написать в них текст описания. Потом создать топовый файл в нем все собрать воедино. Добавить констраины, провести симуляцию, синтез и так далее... Не сдавайтесь! Вы на верилоге или VHDL писать умеете, кстати? Или вы хотите схемки руками рисовать? пока что все чему нас научили это нарисовать схему. создать схематический символ и так далее потом присоединить к конекторам и все в данном задании нам дан декодер 7 сегментовый уже готовый. все что там надо было поменять это формулы для каждого из 7 сегментов . ну и к нему присоединить умножение двух двухбайтовых чисел а вот выводу на разные экраны и замедление часов платы не учили. там написано смотите в мануале что да как. но весь мануал сводится к описанию дисплея что никоим образом не помогает написать vhdl файл который будет выводить результат умножения на два дисплея Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 5 марта, 2017 Опубликовано 5 марта, 2017 · Жалоба Ну тогда конец... это интеграл брать надо:) Даже не знаю что вам посоветовать, разве что найти кого-то кто сможет вам реально показать как это делается. Описать настолько издалека очень трудно. Вам надо понять путь который проходят сигналы от ножек ПЛИС до вашего модуля и обратно. Скорее всего вам уже дан модуль верхнего уровня в графическом виде, входы выходы подключены к ногам ПЛИС и работать вам скорее всего надо именно в нем. Я предполагаю, как там реально мне не ведомо. Если все так, то надо считать что все соединено правильно и обращаться к правильным ногам этого графического уровня, найти тактовый сигнал, найти выключатели 7 сегментного индикатора и так далее... есть контакты AN0, AN1, AN2, AN3? Какой нибудь контакт с именем CLK? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 6 марта, 2017 Опубликовано 6 марта, 2017 · Жалоба Могу посоветовать для решения задачи о выводе на несколько индикаторов прочитать про динамическую индикацию. Вот тут очень хорошая .gif картинка, где очень понятно показан принцип работы динамической индикации : http://radioparty.ru/prog-avr/program-c/27...11-sevensegment Хотелось бы увидеть полное описание, поставленной перед Вами задачи. Прочитав тему, я вроде-бы понял поставленную задачу : требуется перемножить 2 числа : двухбайтовое с трехбайтовым. Вот только изначально есть один непонятный мне момент. Для полноценного отображения одного двухбайтового числа требуется 4 семисегментых индикатора, где каждый индикатор может отобразить числа от 0 до F в шестнадцатиричном коде. Т.е для двухбайтового числа, например b"1111_1111_1111_1111" требуется 4 индикатора, на которых будет гореть X"FFFF" (числа пишу как в языке VHDL) Результат умножения двух двухбайтовых чисел потребует максимум 8 индикаторов (b"1111_1111_1111_1111" • b"1111_1111_1111_1111" = X"FFFE_0001"). Результат умножения двухбайтового числа с трехбайтовым потребует уже 10 индикаторов (X"FFFE_FF0001)". Если судить по схеме, выложенной автором, плата имеет только 4 индикатора. Отсюда закономерный вопрос. Где ещё 6 индикаторов для выполнения требований поставленной задачи ? Или же автор ошибся перепутав бит с байтом ? Из объяснения автора я так и не понял, плата имеет 4 семисегментных модуля, каждый из которых состоит из 4 индикаторов (т.е всего 16 индикаторов) или же всего 1 семисегментный модуль, который содержит всего 4 индикатора ? Есть очень хорошее выражение, смысл которого всё больше и больше приобретает смысл по мере набора опыта. Без внятного ТЗ — результат ХЗ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 6 марта, 2017 Опубликовано 6 марта, 2017 · Жалоба пока что все чему нас научили это нарисовать схему. создать схематический символ и так далее потом присоединить к конекторам и все в данном задании нам дан декодер 7 сегментовый уже готовый. все что там надо было поменять это формулы для каждого из 7 сегментов . ну и к нему присоединить умножение двух двухбайтовых чисел а вот выводу на разные экраны и замедление часов платы не учили. там написано смотите в мануале что да как. но весь мануал сводится к описанию дисплея что никоим образом не помогает написать vhdl файл который будет выводить результат умножения на два дисплея А что на самом деле Вы хотите? Спихниуть лабораторку или научиться работать с ПЛИС? Только правду! Вот если второе, то могу рассказать как... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться