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

Составление принципиальной схемы

Здравствуйте. Интересует возможность построения принципиальной схемы с использованием логических элементов по существующим временным диаграммам.

Изначальная задача - существует проц на отладочной плате, выход с него - четыре светодиода. Нужно написать на VHDL счётчик чтоб первый диод моргал каждую секунду, второй - каждую вторую, и так далее.

 

Я пошёл "с конца" - нарисовал временные диаграммы, чтоб иметь представление какие есть сигналы, как они будут взаимосвязаны, импульсы такта. Входы и выходы. Теперь моя система - это "чёрный ящик". Дальше хочу составить по ВД принципиальную схему (там будут использованы, как я понимаю, Т-триггеры). Ну и потом уже описать её на VHDL.

Скажите, правильный ли у меня план действий, возможно ли это? Посоветуйте пожалуйста что можно изучить, я чайник и не знаю как быть дальше :help:

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


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

Выглядит как простой счетчик. Открываете справочник по логическим микросхемам(в котором есть диаграммы) и изучаете его на совпадение с вашими. Там же находите внутреннее устройство микросхем.

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


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

От требуемой диаграммы — да, обычный путь проектирования.

 

Счётчик — это одна строка на его описание и одна на его работу.

 

Далее, первый светодиод, мигающий каждую секунду — скорее всего ТЗ имеет ввиду, что это просто младший разряд счётчика, тактируемого частотой 2 Гц.

 

Чтобы стереотипно с ним мигали и остальные светодиоды, т.е. чтобы время их свечения было той же половиной секунды, требуется каждый из оставшихся трёх разрядов счётчика логически перемножить с этим его младшим разрядом, на что соответственно потребуется ещё три строки кода.

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


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

Посоветуйте пожалуйста что можно изучить, я чайник и не знаю как быть дальше :help:

Если хотите, то могу рассказать как это делается. Мой скайп-адрес в личной карточке форума...

до связи!

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


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

Если хотите, то могу рассказать как это делается. Мой скайп-адрес в личной карточке форума...

до связи!

 

Спасибо!

Скайпа у меня нет, по почте можно?

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


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

Спасибо!

Скайпа у меня нет, по почте можно?

Написать "учебник" и переслать по почте? Да Вы что, считаете что мне заняться нечем?

А что, бесплатного WiFi у Вас в городе нет? Ни одного кафе? Ни одной знакомой девушки? И в холле гостиницы, где-нибудь в уголке спрятаться нельзя?

 

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


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

Чтобы стереотипно с ним мигали и остальные светодиоды, т.е. чтобы время их свечения было той же половиной секунды, требуется каждый из оставшихся трёх разрядов счётчика логически перемножить с этим его младшим разрядом, на что соответственно потребуется ещё три строки кода.

 

Да, так и есть.

Ага, т.е. нет новых компонентов на каждый выход, работающих по своему закону. Чем-то уже напоминает дешифратор, я правильно понимаю? В этом направлении двигаться?

 

А что, бесплатного WiFi у Вас в городе нет?

 

Понял, сейчас буду решать этот вопрос, сейчас у меня в городе впервые появится WiFi

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


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

Понял, сейчас буду решать этот вопрос, сейчас у меня в городе впервые появится WiFi

В будний то день можно было бы подойти в представительство Элтеха и попросить помочь. Думаю, что помогли бы связаться со мной... :) Но ведь сегодня выходной...

 

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


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

Написать "учебник" и переслать по почте? Да Вы что, считаете что мне заняться нечем?

Ну, время-то на Форум у Вас есть. И что, готовых учебников, на которые можно было бы дать автору ссылку, не существует? Обязательно писать?

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

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


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

т.е. нет новых компонентов на каждый выход, работающих по своему закону. Чем-то уже напоминает дешифратор, я правильно понимаю? В этом направлении двигаться?

Неправильно, "новые компоненты" есть — каждый светодиод управляется своим отдельным дешифратором в виде логического элемента И. Если на Verilog, то должно выглядеть примерно так:

 

assign LED[0] = counter[1];

assign LED[1] = counter[1] && counter[2];

assign LED[2] = counter[1] && counter[2] && counter[3];

assign LED[3] = counter[1] && counter[2] && counter[3] && counter[4];

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


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

. . .

Я пошёл "с конца" - нарисовал временные диаграммы, чтоб иметь представление какие есть сигналы, как они будут взаимосвязаны, импульсы такта. Входы и выходы. Теперь моя система - это "чёрный ящик". ...

Это один из методов (когда алгоритм сложно поддается формализации на логику и его проще изобразить "картинкой" входов и выходов ), но не для Вашего случая - ведь логика элементарная (счетчик). Тем более, что задача учебная, а и Вы рискуете ничему не научиться,

а работать по "индо-пакистанской" методе :)

Я бы из верменнОй диаграммы вывел "логику", и ее уже прописывал в алгоритм.

Хотя если надо точно следовать ТЗ - то "черный ящик" подходит.

 

 

 

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


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

Ну, время-то на Форум у Вас есть. И что, готовых учебников, на которые можно было бы дать автору ссылку, не существует? Обязательно писать?

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

Я зная что такое открытая площадка. И знаю что существует достаточное количество учебников.

Но есть небольшая тонкость. Для одних VHDL - это работа и кусок хлеба. Для других - хобби. Для третьих - "сдать курсовик и забыть"... Поэтому я и хотел выяснить, что же на самом деле человеку нужно. Просто потому, что исходно ТС вопрос поставил не корректно. Сначала какой-то "процессор", потом "светодиоды" и потом "VHDL". Как это все взаимосвязано? И какой учебник нужен? Пока не понятно, что нужно рекомендовать...

Если же говорить о "всех заинтересованных", то ведь я никому еще в помощи не отказывал. Так что не будем об этом. И еще немного. Из опыта работы в техподдержке могу сказать. Есть "кривая нормального распределения" - такой горбик. По горизонтали - "сложность вопроса", по вертикали - "число таких вопросов"... Так вот вопрос этой темы - "левый край кривой". Т.е. такой вопрос как в этой теме интересен 1-2 человекам, не более... Что же касается "серединки горбика", то тут без сомнения будет много интересующихся. И такие темы все обсуждается в форуме...

 

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


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

Для одних VHDL - это работа и кусок хлеба. Для других - хобби. Для третьих - "сдать курсовик и забыть"... Поэтому я и хотел выяснить, что же на самом деле человеку нужно. Просто потому, что исходно ТС вопрос поставил не корректно. Сначала какой-то "процессор", потом "светодиоды" и потом "VHDL". Как это все взаимосвязано? И какой учебник нужен? Пока не понятно, что нужно рекомендовать...

 

Ответ на Ваш вопрос. Для меня VHDL - хобби. В институте не преподавалось ничего подобного и близко. Осваиваю с нуля. Поэтому мой вопрос в разделе "в помощь начинающему". Поэтому мой вопрос в крайней левой части вашего графика ;-)

Более подробно про "диоды" расскажу. С самого начала. Узнал я про это https://www.altera.com/products/boards_and_...evaluation.html

Так же, у меня есть Quartus prime 17.0 Standart edition. К ним прилагаются мои нулевые начальные знания VHDL и схемотехники.

 

На отладочной плате установлены 6 светодиодов. Один из них сигнализирует о наличии питания. Свечением остальных пяти есть возможность управлять при помощи ПЛИС. Её планируется программировать на языке VHDL. А именно: первый диод должен моргать раз в секунду. Второй - раз в две секунды. Третий - раз в пять секунд.

Чтоб представить взаимосвязь между будущими сигналами, мной были изображены ВД. По ним я хочу составить принципиальную схему (логические элементы и связь между ними), с этим и прошу оказать помощь - как по временным диаграммам построить схему? Всё остальное - вопрос десятый. Схема будет описана на VHDL. Программа вбита в Quartus, с этим постараюсь разбираться сам.

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


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

Для построения схемы из ВД Вам потребуется:

- Булева алгебра (если вдруг такого курса у Вас небыло).

Если собираетесь работать с лог. сигналами - оно надо в любом случае.

 

Основа синтеза схемы из ВД.

1. Из ВД строится "таблица истинности" Вашего черного ящика (потактово).

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

3. По оптимизированной (сокращенной) таблице строится схема. Проще всего метод (один из ...) оптимизации виден на "картах Карно".

---

Это один из "базовых" методов, примитивный, для простых схем (без памяти).

 

 

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


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

Ответ на Ваш вопрос. Для меня VHDL - хобби.

Есть два способа построить схему по VHDL диаграмме.

1. Простой.

2. Сложный.

 

1. Простой.

Пишете VHDL код, чтобы получилась диаграмма так, которая требуется. Затем синтезируете дизайн и смотрите схему, которую построил синтезатор.

Synplify синтезатор делает вполне себе смотрибельные схемы, но можно и прямо в Quartus посмотреть.

 

2. Сложный.

Значит любая диаграмма состоит из состояний или тактов.

В каждое состоянии состояние входов определяет состояние выходов.

Этим занимается комбинационных автомат. Ну вот входы транслирует в выходы. Делает он это мгновенно.

А вот состояниями рулит так называемая state machine. Она бывает двух типов, ну это не так важно.

 

Так вот, state machine просто меняет комбинацонные автоматы на каждом такте, из чего получается диаграмма.

Входы то одни и те же, а выходы меняются. Ну да, state machine позволяет делать "петли" то есть предыдущее состояние

выходов использовать вдогон ко входам как вход для комбинационного автомата.

 

Теперь про комбинационные автоматы. Входы транслируются в выходы согласно булевой алгебре.

Ее модификация это карты Карно. Позволяют быстро отработать сложные автоматы на бумажке.

Студентов заморачивают булевой алгеброй и картами Карно просто конкретно. На самом деле они НАФИГ не нужны в реальной

работе. Достаточно знать как работают простые элементы AND, OR, XOR, и то только для того чтобы понять отчего же сигналы

неверно смешиваются.

 

Ну вот и все. Понятно что Вам хочется геморроя на начальном этапе, ну так откройте начальные курсы по словам

булева алгебра, карты Карно, основы VHDL и вперед и с песней. Чего Вы нам то вопросы задаете.

Это все равно что "расскажите мне про математику".

 

 

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


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

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

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

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

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

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

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

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

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

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