Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.06.2009, 00:15
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 1  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
По умолчанию Эмулятор комбинационной схемы

Добрый день!
Наверняка каждый из Вас в университете или школе рассматривал комбинационные схемы.
Передо мной стоит задача разработать приложение, позволяющее создавать, и самое ужасное - симулировать их.
Для того чтобы было понятнее, я приведу пример во вложении.
Допустим у нас есть 2 кнопки генерирующие логический 0, либо 1 в зависимости нажаты ли они. Выходы этих клавиш поступают в блок логического "И", который в зависимости от входных данных формирует на выходе 0, либо 1.
Мне нужно создать редактор, позволяющий эмулировать подобные процессы, только элементов там будет значительно больше.
В качестве примера можно привести Electronic WorkBench под винду.
Как реализовать интерфейс и связи между элементами я знаю, но как производить симуляцию сцемы - понятия не имею.
Может кто-то сталкивался и хотя бы подскажет в каком направлении компать. Т.к. для меня важна только идея - код я реализую если алгоритм будет понятен.
Заранее благодарен.
Изображения
 

Старый 08.06.2009, 00:25
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
http://en.wikipedia.org/wiki/Logic_gate#Logic_gates ?

Старый 08.06.2009, 01:34
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А D-триггеры тоже будут? =)

silin, что это?

Там, похоже тема из обычной корпусной электроники 70-х годов. И, ИЛИ, ИЛИ-НЕ, ИСКЛ-И(ИЛИ), RS-ТРИГЕРЫ, C-ТРИГГЕРЫ, регистры, мультиплексоры, счетчики и в таком духе.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 08.06.2009 в 01:39.
Старый 08.06.2009, 02:44
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 4  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Спасибо за ссылку. Дело в том, что я первым делом в википедию и пошел искать ответы. Принцип действия логических элементов я знаю, сложность для меня состоит в создании эмулятора такой схемы.
Мне нужно на входе установить виртуальное устройство типа кнопки, подающей сигнал и визуально наблюдать его прохождение. А на выходе установить, что-то типа лампочки и видеть функционирование схемы.

Добавлено:
Нашел внизу страницы, которую дал silin:
http://www.neuroproductions.be/logic...ndex.php?id=52

То что нужно, знать бы как это реализовано...


Последний раз редактировалось Роман Вадимович; 08.06.2009 в 02:48.
Старый 08.06.2009, 02:51
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 5  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
http://code.google.com/p/as3ds/ - возможно, поможет. Особенно не всматривался, что туда входит.
__________________
Дело не в тебе

Старый 08.06.2009, 02:56
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 6  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Cпасибо, пригодится любая информация!

Старый 08.06.2009, 09:58
wizardjedi вне форума Посмотреть профиль Отправить личное сообщение для wizardjedi Найти все сообщения от wizardjedi
  № 7  
Ответить с цитированием
wizardjedi
 
Аватар для wizardjedi

Регистрация: May 2009
Сообщений: 10
У вас типичная задача для систем автоматизированного проектирования (САПР). То, что вы хотите реализовать, это моделирование систем на макро-уровне.

Можете прочитать про это в книге И.П. Норенкова "Основы автоматизированного проектирования", ну, или, например, в лекциях В.В. Топоркова

Если вкратце, то первоначально, вам необходимо построить модель комбинационной схемы, например, в виде графа.

Впоследствии применяя метод простых итераций или метод Зейделя решаете задачу определения состояний комбинационной схемы в 0,1, и в переходах 0->1,1->0. Определяете выходные значения(а заодно статические и динамические риски сбоев ).

Однако, эти методы достаточно требовательны к памяти и вычислений многовато, можно воспользоваться модификацией методов на основе событийной модели(это когда создаётся специальный блок, следящий за изменением событий на выходе элементов и пересчитывает только в том случае, если имело место изменения состояния выхода). Заодно сможете и задержки просчитать.

Старый 08.06.2009, 10:09
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>silin, что это?
наводящий вопрос..
я банально не понял, в чем собственно проблема, если "реализовать интерфейс и связи между элементами" не вопрос, то в чем затык ?

Старый 08.06.2009, 20:21
Роман Вадимович вне форума Посмотреть профиль Отправить личное сообщение для Роман Вадимович Найти все сообщения от Роман Вадимович
  № 9  
Ответить с цитированием
Роман Вадимович

Регистрация: May 2007
Сообщений: 232
Цитата:
я банально не понял, в чем собственно проблема, если "реализовать интерфейс и связи между элементами" не вопрос, то в чем затык ?
Создать редактор, который позволит расставлять элементы и связывать входы с выходами я знаю как. Но как провести симуляцию - для меня загадка. Спасибо wizardjedi, за приведенную литературу. Сейчас займусь поисками аналогов преложенных книг. Как верно Вы заметили, пересчет всей схемы я планирую осуществлять только при изменении генераторов сигналов, что сократит ресурсоёмкость программы.
Если рассмотреть элементарный пример в приложении, то мы видим 2 кнопки (источники сигнала), логический элемент "ИЛИ" и графичекий индикатор.
Принцип расчета я пока вижу следующим образом:

1) Циклически перебираем все элементы, являющиеся генераторами сигнала (в данном случае 2 кнопки).
2) Берем первый и устанавливаем его значение на всех входах, элементов подключенных к нему.
3) Пытаемся эмуляровать дальше и видим, что у элемента "ИЛИ" известно значение только первого входа, поэтому берем следующий генератор сигнала и повторяем пункт 2.
4) При подаче второго сигнала на входы элемента "ИЛИ" - мы можем двигаться дальше.
5) Получаем выходное значение и зажигаем либо тушим лампочку.

Это все, что я пока могу полагать - не знаю является ли этот алгоритм универсальным, поэтому мне остается только начать изучение книг предложенных, wizardjedi.

Спасибо за помощь.
Изображения
 

Старый 08.06.2009, 22:11
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 10  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Зачем циклически опрашивать? Есть четыре объекта (в данном случае): два входа, логический элемент, выход. Лампочка запрашивает сигнал с выхода, выход запрашивает логичекий элемент, логический элемент опрашивает свои входы, входы запрашивают состояние своих кнопок.Все

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:08.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:08.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.