Автор |
Сообщение |
11.02.2007 13:42:40
Тема: Характерные ошибки проектирования
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
В этой теме по моей просьбе Роман Белько (ПО-22) будет проводить разбор характерных ошибок, совершаемых студентами во время выполнения контрольных работ по проектированию цифровых устройств.
|
12.02.2007 10:07:28
Тема: Ошибка создания нового проекта
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Первая контрольная работа позади. Кто хотел научиться проектировать устройства за неделю, ну или хотя бы срисовывать, тот научился. Что касается первого курса, у них ещё всё впереди. Но второй курс ... Стыдно, товарищи.
Специально для тех, кто видит HLCCAD впервые, а такие, несомненно, есть, здесь я расскажу, как создать проект с нуля.
Итак, шаг номер один! Необходимо создать новый проект. Без этого ну никак. Я надеюсь запускать HLCCAD научились все, и я не буду объяснять как это делается. На первой картинке показано что надо нажать, чтобы начать создавать новый проект.
После клика на выпадающем меню в месте с надписью "Новый проект", должно появиться окошко, внешний вид которого показан на второй картинке. Большинство первокурсников "погорели" на том, что увидя это окошко, быстренько ввели произвольное имя файла, добавили новый поект и проектировали дальше, ни капельки не подозревая что уже есть ошибка. Так что же надо вводить? В условии задачи в правом верхнем углу есть надпись. К примеру, в первой задаче была такая надпись:"Имя HLCCAD проекта:Logic.prd". Вот и надо было ввести слово "Logic", а только потом добавлять проект.
Шаг номер два! Нужно добавить новое устройство. Как же это делается? Наводим указатель мышки на уже созданный проект в инспекторе проектов и кликаем правой клавишей мыши. Тут выпадает меню. Если всё сделано правильно, то должно получиться что-то вроде этого.
В этом меню надо нажать на строчку с надписью "Новое устройство". Появится маленькое окошко.
Опять же! Никогда не спешите! В это маленькое окошко вводится название устройства не с потолка, а с условия задачи. Каким должно быть имя входного устройства написано в правом верхнем углу условия задачи. В первой задаче написано так: "Входное устройство:Logic". Вводите Logic и кликаете ОК.
Всё! Здесь больше делать ничего не надо. Остаётся только спроектировать требуемое устройство и отослать его.
|
13.02.2007 09:43:29
Тема: Неверное оформление входных и выходных контактов
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Неверное оформление входных и выходных контактов. Это ещё одна проблема, с которой сталкивался почти каждый студент. Сперва приведу пример неправильного решения задачи "Device" из первой контрольный работы.
А теперь правильное решение этой же задачи.
Различие состоит лишь в названиях входных и выходного контакта. Из первой картинки видно, что названия этих контактов придумано. В этом и заключается ошибка. Названия контактов всегда должны соответствовать условию задачи. В любой задаче по проектированию они описаны. К примеру, в задаче "Device" была такая табличка:
В этой табличке указываются названия, размерности, а также тип всех входных и выходных контактов. И в соответствии с этими параметрами нужно составлять корпус каждого устройства.
|
13.02.2007 10:31:52
Тема: Контакты нужно соединять
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Вот очень интересная ошибка. На картинке видно, что обведённые контакты присоединены друг к другу. Но на самом деле это не так. Если бы контакты были соединены между собой, они бы перекрасились в белый цвет. В данном случае этого не произошло.
|
13.02.2007 10:54:20
Тема: Если есть входы, то должны быть и выходы
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Это решение Лены Лукьяненко (ПО-22).
А это характеристики всех входных и выходных контактов.
Как видите, все контакты IN. А где же OUT?
|
13.02.2007 21:39:29
Тема: Если есть выходы, то обязательно должны быть и входы
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Эта ошибка очень похожа на предыдущую. Отличие лишь в том, что там были только входные контакты, а здесь только выходные.
Ну, а это карактеристики контактов:
|
13.02.2007 22:12:34
Тема: Разные размерности контактов на корпусе и схеме
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Я не знаю, как такое могло получиться, но где-то у пяти студентов группы ПО-11 в задаче "Умножить и сложить" совершенно одинаковая ошибка. На корпусе устройства у выходного контакта res указана размерность, равная четырём. Это не верно, так как в условии размерность этого контакта равна восьми.
Для большей наглядности вот ещё одна картинка:
А вот уже на схеме той же задачи выходной контакт res имеет размерность восемь.
Как я могу догадываться, студенты, увидя у себя на схеме не ту размерность, которая требуется условием, просто изменили размерность выхода прямо на схеме. Этого делать нельзя! Получится, что на корпусе и на схеме разные размерности. Чтобы исправить такую ошибку, нужно перейти обратно на корпус устройства, изменить что надо и заново добавить контакты. Всё очень просто.
|
13.02.2007 23:22:22
Тема: Учитесь проектировать красиво
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Здесь я бы хотел показать два абсолютно правильных решения задачи "Умножить и сложить": одно решение моё, а другое - не моё. Я конечно понимаю, что чувство красоты у каждого своё, но всё же ...
Это чужое решение:
А это моё:
Как я уже сказал, первое решение правильное, оно без проблем прошло все тесты, но, как мне кажется, оно не такое красивое, как моё. Если размерность двух соединяемых контактов больше единицы, то правильнее эти контакты соединять не линией, а шиной. И красивее получается, и вероятность разрыва на практике меньше. И таких решений очень много. Мы проектируем для себя. Делайте делать это красиво.
|
14.02.2007 20:46:46
Тема: Re:Характерные ошибки проектирования
|
Дмитрий Молотков
Темы: 0
Сообщений: 7
Мой профиль
|
Восстановление утерянного поста .
Как я уже сказал, решение правильное, оно без проблем прошло все тесты, но, как мне кажется, оно не такое красивое, как моё.
А мне кажется наоборот. Решение прежде всего должно быть читабельно и быстродействующе. В данном аспекте эти схемы аналогичны. Визуальная красота из-за различных видов линий слишком субъективна.
Если размерность двух соединяемых контактов больше единицы, то правильнее эти контакты соединять не линией, а шиной
И почему это ? Правильнее в каком аспекте ? Если неправильно соединять одинарной линией то HLCCAD мог бы хотя бы выдавать предупреждение . Он этого не делает - следовательно это абсолютно корректное использование линии.
И красивее получается, и вероятность разрыва на практике меньше. И таких решений очень много
Красивее - это не аргумент . Если поменят изображение линии и шины - тогда уже надо использовать линию ? И почему вероятность разрыва меньше , откуда это следует ?
______________________
Ничто так не мешает видеть, как точка зрения
|
15.02.2007 11:08:01
Тема: Re:Учитесь проектировать красиво
|
Михаил Долинский
Темы: 2072
Сообщений: 49883
Мой профиль
|
Прежде всего, я согласен с Димой Молотковым в том, что данное сообщение с заголовком "Учитесь проектировать красиво" более точно было бы разместить в ДРУГОЙ ТЕМЕ - "Как надо и как не надо проектировать", а не в теме "Ошибки проектирования", поскольку это НЕ ПРИВОДИТ к неверной работе/симуляции схемы.
В то же время, хочу поддержать Романа в том, что ПРАВИЛЬНЕЙ одиночные линии рисовать тонкими линии, а групповые тостыми.
Да в HLCCAD-е реализовано так, что, чем бы ни соединил, будет работать (это называется "защита от дурака").
Но ТЕХНИЧЕСКИ ГРАМОТНЕЕ и ЭСТЕТИЧЕСКИ КРАСИВЕЕ
ОДИНОЧНЫЕ линии соединять ТОНКИМИ (одиночными) линиями, а ГРУППЫ линий (ШИНЫ) соединять толстыми линиями, которые как раз и обозначают ШИНЫ.
ИМЕННО так принято рисовать цифровые схемы в технической литературе и конструкторской документации, и там использование не тех линий считается ГРУБЕЙШЕЙ и ДЕТСКОЙ ошибкой и подлежит ОБЯЗАТЕЛЬНОМУ УСТРАНЕНИЮ.
Кроме того, в случае правильного использования линий СХЕМА интуитивно ПОНЯТНЕЕ !!! Тем не менее HLCCAD позволяет КАЖДОМУ делать так, как ему нравится.
И еще просьба КО ВСЕМ, кто читает сообщения Романа и высказывается в ответ. У нас ФОРУМ УЧЕБНЫЙ. Мы хотим, чтобы его материалами пользовались студенты ВСЕХ поколений - сейчас - ВЫ, в следующем семестре - другие студенты и т.д.
Для этого НЕОБХОДИМО, чтобы в ФОРУМЕ не было "мусора" или "флейма" или "пустопорожних разговоров". Если то, что Вы пишете, НЕ ПРИНЕСЕТ ИНФОРМАЦИОННОЙ пользы другим читателям - то лучше пользоваться ЛИЧНОЙ почтой, а не форумом. А форум давайте наполнять только "ВЕЧНОЙ" информацией. Надеюсь на понимание.
|
19.02.2007 20:18:28
Тема: Ошибка добавления в бит переноса сумматора нулевой константы
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Решение, которое изображено чуть ниже неправильное только лишь из-за того, что в бит переноса сумматора не добавлена нулевая константа.
Более того, если в проекте есть контакты, которые вообще не используются, их лучше удалить. В этом случае при компиляции появляется меньше предупреждений. Да и решение более читабельно. Если скомпилировать решение изображённое на первом рисунке, то окошко сообщений выдаст нам четыре предупреждения. На второй картинке показан то же самый проект, вот только контакт переполнения у сумматора и контакты "<" и ">" у компаратора удалены. Вот что получится при компиляции:
Далее следуют два правильных альтернативных решения этой задачи. В первом к биту переноса сумматора добавлена константа "0".
Ну а во втором решении контракт переноса вообще удалён.
|
23.02.2007 00:02:01
Тема: Статистика
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
В этом сообщении я систематизировал результаты первых четырёх контрольных работ по проектированию устройств, которые проводились на первом (ПО-11) и втором (ПО-21 и ПО-22) курсах. Здесь рассматривается как общее количество отсылок по каждой задаче, так и количество правильных и неправильных решений.
Контрольная работа №1
Общая статистика по контрольной работе
Общее количество отсылок: ПО11 - 370, ПО21 и ПО22 - 444.
Количество правильных решений: ПО11 - 200, ПО21 и ПО22 - 290.
Количество неправильных решений: ПО11 - 170, ПО21 и ПО22 - 154.
Задача №1 - Easy_Devise
Общее количество отсылок: ПО11 - 65, ПО21 и ПО22 - 64.
Количество правильных решений: ПО11 - 29, ПО21 и ПО22 - 41.
Количество неправильных решений: ПО11 - 36, ПО21 и ПО22 - 23.
Задача №2 - Котёнок
Общее количество отсылок: ПО11 - 38, ПО21 и ПО22 - 67.
Количество правильных решений: ПО11 - 18, ПО21 и ПО22 - 41.
Количество неправильных решений: ПО11 - 20, ПО21 и ПО22 - 26.
Задача №3 - Деление на 4
Общее количество отсылок: ПО11 - 58, ПО21 и ПО22 - 57.
Количество правильных решений: ПО11 - 27, ПО21 и ПО22 - 38.
Количество неправильных решений: ПО11 - 31, ПО21 и ПО22 - 19.
Задача №4 - Умножить и сложить
Общее количество отсылок: ПО11 - 51, ПО21 и ПО22 - 63.
Количество правильных решений: ПО11 - 26, ПО21 и ПО22 - 37.
Количество неправильных решений: ПО11 - 25, ПО21 и ПО22 - 26.
Задача №5 - Прямоугольный треугольник?
Общее количество отсылок: ПО11 - 34, ПО21 и ПО22 - 50.
Количество правильных решений: ПО11 - 26, ПО21 и ПО22 - 33.
Количество неправильных решений: ПО11 - 8, ПО21 и ПО22 - 17.
Задача №6 - Проверка и установка бита
Общее количество отсылок: ПО11 - 30, ПО21 и ПО22 - 47.
Количество правильных решений: ПО11 - 23, ПО21 и ПО22 - 30.
Количество неправильных решений: ПО11 - 7, ПО21 и ПО22 - 17.
Задача №7 - Количество
Общее количество отсылок: ПО11 - 38, ПО21 и ПО22 - 34.
Количество правильных решений: ПО11 - 22, ПО21 и ПО22 - 26.
Количество неправильных решений: ПО11 - 16, ПО21 и ПО22 - 8.
Задача №8 - Антисумматор
Общее количество отсылок: ПО11 - 23, ПО21 и ПО22 - 25.
Количество правильных решений: ПО11 - 10, ПО21 и ПО22 - 16.
Количество неправильных решений: ПО11 - 13, ПО21 и ПО22 - 9.
Задача №9 - Парный теннис
Общее количество отсылок: ПО11 - 20, ПО21 и ПО22 - 20.
Количество правильных решений: ПО11 - 9, ПО21 и ПО22 - 13.
Количество неправильных решений: ПО11 - 11, ПО21 и ПО22 - 7.
Задача №10 - Сдвиг
Общее количество отсылок: ПО11 - 13, ПО21 и ПО22 - 17.
Количество правильных решений: ПО11 - 10, ПО21 и ПО22 - 15.
Количество неправильных решений: ПО11 - 3, ПО21 и ПО22 - 2.
Контрольная работа №2
Общая статистика по контрольной работе
Общее количество отсылок: ПО11 - 305, ПО21 и ПО22 - 349.
Количество правильных решений: ПО11 - 195, ПО21 и ПО22 - 224.
Количество неправильных решений: ПО11 - 110, ПО21 и ПО22 - 125.
Задача №1 - Device
Общее количество отсылок: ПО11 - 33, ПО21 и ПО22 - 63.
Количество правильных решений: ПО11 - 27, ПО21 и ПО22 - 43.
Количество неправильных решений: ПО11 - 6, ПО21 и ПО22 - 20.
Задача №2 - Вакхабит
Общее количество отсылок: ПО11 - 9, ПО21 и ПО22 - 33.
Количество правильных решений: ПО11 - 7, ПО21 и ПО22 - 18.
Количество неправильных решений: ПО11 - 2, ПО21 и ПО22 - 15.
Задача №3 - Арифметик
Общее количество отсылок: ПО11 - 48, ПО21 и ПО22 - 49.
Количество правильных решений: ПО11 - 27, ПО21 и ПО22 - 29.
Количество неправильных решений: ПО11 - 21, ПО21 и ПО22 - 20.
Задача №4 - Задача: Посчитай-ка
Общее количество отсылок: ПО11 - 43, ПО21 и ПО22 - 44.
Количество правильных решений: ПО11 - 27, ПО21 и ПО22 - 30.
Количество неправильных решений: ПО11 - 16, ПО21 и ПО22 - 14.
Задача №5 - Triangle?
Общее количество отсылок: ПО11 - 45, ПО21 и ПО22 - 39.
Количество правильных решений: ПО11 - 26, ПО21 и ПО22 - 24.
Количество неправильных решений: ПО11 - 19, ПО21 и ПО22 - 15.
Задача №6 - Поменять знак числа
Общее количество отсылок: ПО11 - 38, ПО21 и ПО22 - 45.
Количество правильных решений: ПО11 - 27, ПО21 и ПО22 - 26.
Количество неправильных решений: ПО11 - 11, ПО21 и ПО22 - 19.
Задача №7 - Кодер
Общее количество отсылок: ПО11 - 34, ПО21 и ПО22 - 22.
Количество правильных решений: ПО11 - 19, ПО21 и ПО22 - 15.
Количество неправильных решений: ПО11 - 15, ПО21 и ПО22 - 7.
Задача №8 - Крепкий орешек (SQRT)
Общее количество отсылок: ПО11 - 14, ПО21 и ПО22 - 12.
Количество правильных решений: ПО11 - 4, ПО21 и ПО22 - 7.
Количество неправильных решений: ПО11 - 10, ПО21 и ПО22 - 5.
Задача №9 - Футбол
Общее количество отсылок: ПО11 - 21, ПО21 и ПО22 - 22.
Количество правильных решений: ПО11 - 12, ПО21 и ПО22 - 12.
Количество неправильных решений: ПО11 - 9, ПО21 и ПО22 - 10.
Задача №10 - Инверсия
Общее количество отсылок: ПО11 - 20, ПО21 и ПО22 - 20.
Количество правильных решений: ПО11 - 19, ПО21 и ПО22 - 20.
Количество неправильных решений: ПО11 - 1, ПО21 и ПО22 - 0.
|
26.02.2007 14:44:49
Тема: Статистика
|
Роман Белько
Темы: 3
Сообщений: 47
Мой профиль
|
Контрольная работа №3
Общая статистика по контрольной работе
Общее количество отсылок: ПО11 - 347, ПО21 и ПО22 - 304.
Количество правильных решений: ПО11 - 192, ПО21 и ПО22 - 166.
Количество неправильных решений: ПО11 - 155, ПО21 и ПО22 - 138.
Задача №1 - Устройство
Общее количество отсылок: ПО11 - 39, ПО21 и ПО22 - 54.
Количество правильных решений: ПО11 - 30, ПО21 и ПО22 - 33.
Количество неправильных решений: ПО11 - 9, ПО21 и ПО22 - 21.
Задача №2 - Таблица Татьяны
Общее количество отсылок: ПО11 - 45, ПО21 и ПО22 - 12.
Количество правильных решений: ПО11 - 23, ПО21 и ПО22 - 11.
Количество неправильных решений: ПО11 - 22, ПО21 и ПО22 - 1.
Задача №3 - Arifma
Общее количество отсылок: ПО11 - 49, ПО21 и ПО22 - 48.
Количество правильных решений: ПО11 - 29, ПО21 и ПО22 - 28.
Количество неправильных решений: ПО11 - 20, ПО21 и ПО22 - 20.
Задача №4 - Простое выражение
Общее количество отсылок: ПО11 - 41, ПО21 и ПО22 - 55.
Количество правильных решений: ПО11 - 28, ПО21 и ПО22 - 31.
Количество неправильных решений: ПО11 - 13, ПО21 и ПО22 - 24.
Задача №5 - Сравнение 2 сумм
Общее количество отсылок: ПО11 - 40, ПО21 и ПО22 - 33.
Количество правильных решений: ПО11 - 28, ПО21 и ПО22 - 21.
Количество неправильных решений: ПО11 - 12, ПО21 и ПО22 - 12.
Задача №6 - Количество нулей
Общее количество отсылок: ПО11 - 25, ПО21 и ПО22 - 34.
Количество правильных решений: ПО11 - 18, ПО21 и ПО22 - 15.
Количество неправильных решений: ПО11 - 7, ПО21 и ПО22 - 19.
Задача №7 - Сумма делителей
Общее количество отсылок: ПО11 - 40, ПО21 и ПО22 - 26.
Количество правильных решений: ПО11 - 19, ПО21 и ПО22 - 10.
Количество неправильных решений: ПО11 - 21, ПО21 и ПО22 - 16.
Задача №8 - Биатлон
Общее количество отсылок: ПО11 - 27, ПО21 и ПО22 - 16.
Количество правильных решений: ПО11 - 8, ПО21 и ПО22 - 5.
Количество неправильных решений: ПО11 - 19, ПО21 и ПО22 - 11.
Задача №9 - Простые операции
Общее количество отсылок: ПО11 - 29, ПО21 и ПО22 - 16.
Количество правильных решений: ПО11 - 3, ПО21 и ПО22 - 8.
Количество неправильных решений: ПО11 - 26, ПО21 и ПО22 - 8.
Задача №10 - Максимальное из трёх чисел
Общее количество отсылок: ПО11 - 12, ПО21 и ПО22 - 10.
Количество правильных решений: ПО11 - 6, ПО21 и ПО22 - 4.
Количество неправильных решений: ПО11 - 6, ПО21 и ПО22 - 6.
Контрольная работа №4
Общая статистика по контрольной работе
Общее количество отсылок: ПО11 - 348, ПО21 и ПО22 - 247.
Количество правильных решений: ПО11 - 167, ПО21 и ПО22 - 147.
Количество неправильных решений: ПО11 - 181, ПО21 и ПО22 - 100.
Задача №1 - Логические функции
Общее количество отсылок: ПО11 - 47, ПО21 и ПО22 - 49.
Количество правильных решений: ПО11 - 30, ПО21 и ПО22 - 33.
Количество неправильных решений: ПО11 - 17, ПО21 и ПО22 - 16.
Задача №2 - Дробь
Общее количество отсылок: ПО11 - 49, ПО21 и ПО22 - 14.
Количество правильных решений: ПО11 - 18, ПО21 и ПО22 - 8.
Количество неправильных решений: ПО11 - 31, ПО21 и ПО22 - 6.
Задача №3 - Порядок
Общее количество отсылок: ПО11 - 23, ПО21 и ПО22 - 16.
Количество правильных решений: ПО11 - 16, ПО21 и ПО22 - 12.
Количество неправильных решений: ПО11 - 7, ПО21 и ПО22 - 4.
Задача №4 - Простая арифметика
Общее количество отсылок: ПО11 - 46, ПО21 и ПО22 - 41.
Количество правильных решений: ПО11 - 26, ПО21 и ПО22 - 32.
Количество неправильных решений: ПО11 - 20, ПО21 и ПО22 - 9.
Задача №5 - Условное выражение
Общее количество отсылок: ПО11 - 69, ПО21 и ПО22 - 38.
Количество правильных решений: ПО11 - 11, ПО21 и ПО22 - 9.
Количество неправильных решений: ПО11 - 58, ПО21 и ПО22 - 29.
Задача №6 - Чётное/нечётное
Общее количество отсылок: ПО11 - 42, ПО21 и ПО22 - 30.
Количество правильных решений: ПО11 - 22, ПО21 и ПО22 - 20.
Количество неправильных решений: ПО11 - 20, ПО21 и ПО22 - 10.
Задача №7 - Кости
Общее количество отсылок: ПО11 - 36, ПО21 и ПО22 - 34.
Количество правильных решений: ПО11 - 18, ПО21 и ПО22 - 17.
Количество неправильных решений: ПО11 - 18, ПО21 и ПО22 - 17.
Задача №8 - Четвёрки
Общее количество отсылок: ПО11 - 10, ПО21 и ПО22 - 5.
Количество правильных решений: ПО11 - 8, ПО21 и ПО22 - 5.
Количество неправильных решений: ПО11 - 2, ПО21 и ПО22 - 0.
Задача №9 - Степень
Общее количество отсылок: ПО11 - 20, ПО21 и ПО22 - 5.
Количество правильных решений: ПО11 - 12, ПО21 и ПО22 - 2.
Количество неправильных решений: ПО11 - 8, ПО21 и ПО22 - 3.
Задача №10 - Три переключателя света
Общее количество отсылок: ПО11 - 6, ПО21 и ПО22 - 15.
Количество правильных решений: ПО11 - 6, ПО21 и ПО22 - 9.
Количество неправильных решений: ПО11 - 0, ПО21 и ПО22 - 6.
|
16.03.2007 18:58:05
Тема: Re:Характерные ошибки проектирования
|
Игорь Коршунов
Темы: 7
Сообщений: 2198
Мой профиль
|
Ошибка, допущенная Романом Белько, при установке задачи Memory, состояла в том, что в его схеме возникали гонки сигналов.
Сигнал записи С на триггер приходит с некоторой задержкой, т.к. он является результатом вычислений других устройств. А сигнал данных D появлялся без задержек. Из-за этого тригер иногда записывал новые данные (которые записывать было нельзя) просто из-за того, что управляющий сигнал еще не успевал обнулится.
Одно из возможных решений (не самое лучшее) уст. задержку (устройство AND внизу схемы) перед сигналом D, гарантирующую, что он будет приходить позже управляющего сигнала C (для этой схемы достаточно, например 10 ps).
|
|
|