Вычисление значения выражения на CMOS микросхемах

Здесь принимаются все самые невообразимые вопросы... Главное - не стесняйтесь. Поверьте, у нас поначалу вопросы были еще глупее :)
Ответить
Открыл глаза
Сообщения: 60
Зарегистрирован: Пт окт 29, 2010 19:45:07

Сообщение KillJoy »

Добрый день. Помогите разобраться со следующей задачей: нужно составить схему на CMOS микросхемах для вычисления значения выражения y=((x-2)*(x-1)+6)/((x+4)*(x+4)). 0b000 <=x<=0b111, деление целочисленное(упрощать выражение не нужно). С суммой и разностью я , вроде бы , разобрался, а вот как умножать и делить - не представляю. Подскажите.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Разных значений переменной х всего 8. Для каждого вычислите значение функции на бумаге и реализуйте ее таблицей. Кстати, данная функция при целочисленном делении и диапазоне х всегда равна нулю.
Реклама
Открыл глаза
Сообщения: 60
Зарегистрирован: Пт окт 29, 2010 19:45:07

Сообщение KillJoy »

Мне не совсем понятно, какой таблицей реализовывать функцию. Можете привести небольшой пример?
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Насколько я понял, переменная х изменяется в пределах 0b000 <=x<=0b111, что в десятичной системе соответствует 0 <= х <= 7. Таблица будет состоять из 7-ми строк и 2-х столбцов. В превом столбце записываете значения переменной х, во втором столбце соотв. значения функции. Например:

Код: Выделить всё

 х   f(х)
000   0
001   0
.......
111   0
Как я уже писал, проверьте функцию - приведенная выше принимает только значение 0. Как получите нормальную функцию, можем конкретнее обсудить что с ней делать.
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 60
Зарегистрирован: Пт окт 29, 2010 19:45:07

Сообщение KillJoy »

Вот функция :
(x^3+6x^2-4x-2)/((x+2)^2)
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Ну вот, другое дело. Функция принимает значения от 0 до 5, т.е потребуется 3 бита для представления ее значений. Записываем значения функции в таблицу как я писал выше:

Код: Выделить всё

 х  f(х)
000 000 =0
001 000 =0
010 000 =0
011 001 =1
100 010 =2
101 011 =3
110 100 =4
111 101 =5
Далее, каждый столбец значений f(x) представляете как отдельнуя функцию входных переменных, например в виде ДНФ. Если переменные обозначим a,b,c, то первый столбец соответствует функции a&b, второй - функции a&(not b), третий - функции a&c OR (not a)&b&c. Таким образом, блок реализующий функжию будет иметь 3 входа, соотв. переменных a,b,c и 3 выхода, соответствующих столбцам функции. Не сомневаюсь, что все это подробнее описано в любом учебнике.
Реклама
Ответить

Вернуться в «Теория»