LINUX.ORG.RU
ФорумTalks

Проблемы со схемой LabVIEW


0

1

Делаю простенький АЛУ. Сначала хочу сделать ввод значения. Алгоритм, по которому я строю принцип:

При нажатии на кнопку 0..F:
1. Через дешифратор получаю значение 0000..1111
2. Нажатие на кнопку открывает сигнал синхронизации для ячеек памяти.
3. Вся память записывается сама в себя со сдвигом 4 влево.
4. Первые 4 бита записываются как введенное число

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

Есть подозрение, что это из-за того, что не захлопывается сигнал C на входе памяти.

Может кто-нибудь помочь?

Файл: https://dl.dropboxusercontent.com/u/31471800/p2p/CalculatorHex-step1.vi

Могу кинуть png, если кто-то может взглядом глянуть хотя бы принцип и подкинуть идею, почему может не работать.

P.S. Возможно выходы дисплея идут в обратном порядке - пока не критично.
P.P.S. Из-за недостатка звезд не могу создать тег labview - пардон.
P.P.P.S. Оно без проблем работает под Mint и Ubuntu.

Изображение: https://dl.dropboxusercontent.com/u/31471800/p2p/CalculatorHex-step1d.png

★★

Последнее исправление: sambist (всего исправлений: 3)

Схему не смотрел, но советую кроме самой схемы проверить настройки симуляции схемы.

Sadler ★★★
()
Ответ на: комментарий от Sadler

Схема на таких ячейках памяти должа работать при любых свойствах эмуляции. Они не на feedbacknode базируются, а на for+case.

sambist ★★
() автор топика

Дополнил пост.

sambist ★★
() автор топика

К твоей проблеме не относится, но всё же.

Мне кажется или у тебя действительно куски схемы с комбинационными элементами и регистрами совпадают? Если да, то вынеси их в отдельные приборы и отлаживай работу уже этого прибора. А пока это мазохизм какой-то.

Сам я с LabView не работал особо, но видел, как с ним работал мужик с опытом. У него в одном приборе было десятка 2 (максимум 3 и то в разных ветках ветвления) элементов. А у тебя там под 2 сотни их будет.

Norgat ★★★★★
()
Ответ на: комментарий от Norgat

Моя конечная цель - сделать весь калькулятор в таком стиле. Из субприборов потом сложно все это дело превращать в большой прибор.

sambist ★★
() автор топика
Ответ на: комментарий от sambist

Если не будешь делать subVI, в конце-концов утонешь в нагромождении элементов.

Главное правило — весь VI должен влезать максимум в пару-тройку экранов (при этом прокрутка должна быть только в одном направлении).

Eddy_Em ☆☆☆☆☆
()

//не вглядываясь в схему

labview умеет в waveform viewer или как его там. мол указать контрольные точки и при каждом изменении значения дампить/отображать уровни на контрольных точках?

или лучше дампить значения на всех входах/выходах при любом изменении.

exception13 ★★★★★
()

//не вставая с дивана

ну и возможно на какой то сигнал нужно поставить задержку.

exception13 ★★★★★
()
Последнее исправление: exception13 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.