[Logo] Форум DL
  [DL]  На главную страницу 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, 7, 8
Автор Сообщение
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Как надо и как не надо проектировать устройства
Характерные ошибки проектирования

Введение

Нельзя посмотреть мультик по HLCCAD
Работа в Linux Ubuntu через эмулятор Wine
Стирание из реестра информации о HLCCAD

Рисование и проверка схем

Количество контактов на схеме и на ее корпусе не совпадает
Контакт C не найден на схеме
Параметры корпуса не удовлетворяют формату устройства
В шине не найден источник "y"
Различаются ли большие и маленькие буквы
Как решить задачу с памятью +1 +2 +3 Решение задач c памятью
Упрощенная реализация Sign на HLCCAD

Моделирование


На контакте нельзя ввести значение при моделировании
Достигнут указанный предел моделирования
Access Violation при работе с прошивками ПЗУ

Тестирование на DL

Устройство DC2TO4CS не найдено
Result.txt не найден


Возможные ошибки, которые выдает тестирующая система, и как их исправить:

It is reached limit of modeling - задача установлена неправильно. В файле "task.cfg" неверно указан предел моделирования. Если эту задачу устанавливали не Вы, то сообщите в "Консультации".

The circuit for the device is not created - Не создана схема для тестируемого устройства. В частности, был случай, когда было создано два устройства с одинаковыми именами, и в первом (в этом случае именно оно является тестируемым) не было схемы.

Error: Project CWD.prd not include - тестируемому проекту требуется подключение стороннего проекта. В данном случае CWD.prd. При тестировании разрешается только подключение standard.prj и SignedArifm.prd. Если нужно какое-то устройство из другого проекта просто скопируйте его в свой.

Error: Amount of contacts on scheme and on its package does not equal - контакты на корпусе и на схеме не совпадают. Если задачу устанавливали не Вы, то сообщите об этом в "Консультации".
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Просьба, при установке задач, к каждому тесту делать комментарий. Это поможет студентам в отладке своих решений, а также это будет очень полезно, в случае нахождения ошибок в тестах.

Вот пример, таких комментариев:
; 1, обнуление памяти
Set 0 on x at 1
Set 0 on y at 1
Set 0 on z at 1
Diff 0 on res at 1000

; 2, значение из памяти
Set 1 on x at 1001
Set 1 on y at 1001
Set 1 on z at 1001
Diff 0 on res at 2000

; 3, запись в память суммы (1 + 1 + 3 = 5)
Set 1 on x at 2001
Set 1 on y at 2001
Set 3 on z at 2001
Diff 5 on res at 3000

Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Также старайтесь выдерживать паузу между установкой значений на входных контактах и проверкой значений на выходных, как это сделано в приведенном выше примере.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
При составлении условия задачи, не забывайте указывать знаковость\беззнаковость входных\выходных контактов.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Если HLCCAD выдает сообщения такого типа:
Предупреждение: В шине не найден источник "y".
Это означает, что на схеме нет контакта, у которого бы имя линии было "y".

Имен линий "y[16-1]", "y,0" недостаточно.
Михаил Васенда

Темы: 0
Сообщений: 6

Мой профиль
Скажите, HLCCAD версии 4.3.0(15.03.2007) самый последний?
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Последняя версия от 10.05.07 есть в SPRL. Для обновления достаточно просто забрать новый hlccad.exe.
Михаил Васенда

Темы: 0
Сообщений: 6

Мой профиль
Думал, что обновление HLCCAD как-то поспособствует решению моей, а так же общей проблемы, но нет. Не будем отступать далеко от названия темы "Вопросы и ответы по HLCCAD" и поэтому:
1. Почему устройства из проекта Standart не соответствуют help-у HLCCAD? А именно:
1.1 RAM - память - "Если CS установлен в 1, устройство выполняет команду с управляющего входа R/W: 0 - записывает по адресу A значение с DI и подает Z-состояние на выход DO" - не работает. Точнее, сие выполняется далеко не всегда. Самое весёлое, что оно работает неправильно, почему-то, только для нечётных прогонов.
1.2 CT - счётчик - "C - при "1" производится выполнение одной из команд: P - при установленной "1" значение в памяти увеличивается на 1. M - при установленной "1" значение в памяти уменьшается на 1. Менее приоритетен чем "P". L - при установленной "1" значение со входа D записывается в память." - не работает. Счётчик почему-то постоянно требует обновления данных во времени. Если в течение какого-то временного промежутка приходят одни и те же данные подряд, то он просто не воспринимает их (спорный момент). Но, следуя логике, счётчику следовало бы воспринимать данные, как новые, на каждом новом этапе отладки (прогон до окончания времени).
1.3 GEN - генератор - внутри него не возможно ни корректно установить задержки для сигналов "0" и "1", ни тактовую частоту. Они почему-то либо сбрасываются в 0, либо устанавливаются в какие-либо произвольные значения. Правда, не удобно ведь?
2. Почему не все элементы и функциональные возможности корректно отлажены и корректно работают?
2.1 Внешний редактор - Не для всех устройств работает, примером может служит GEN. Некоторые, при попытке для них его вызова, выдают ошибку. А так же при добавлении/удалении контактов у устройства он неправильно обращается с уже соединёнными контактами. Было бы хорошо, если бы линия, соединённая с контактом, хотя бы либо разъединялась, либо удалялась, но не как не соединялась с контактом, вставшим на его место.
2.2 Ещё прикол. Если линию, соединяющую два устройства, сжать до расстояния на длину двух контактов, то она исчезает. Была - и вот её нет.
2.3 При перегоне из С-MPA в схемы HLCCAD есть одно маленькое "но": там используется слишком простые имена контактов для связи устройств и поэтому возникает неоднозначность. Входные контакты и контакты, находящиеся в глубине схемы, имеют одни и те же имена.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
1. Почему устройства из проекта Standart не соответствуют help-у HLCCAD? 

Нужны конкретные примеры в виде проектов и указания, что на такой-то пикосекунде такое-то устройство срабатывает не так как должно.
GEN - генератор - внутри него не возможно ни корректно установить задержки для сигналов "0" и "1", ни тактовую частоту 

Напиши подробно как ты пытаешься устанавливать задержки.
Внешний редактор - Не для всех устройств работает 

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

Это технологические особенности HLCCAD.
При перегоне из С-MPA в схемы HLCCAD есть одно маленькое "но": там используется слишком простые имена контактов для связи устройств и поэтому возникает неоднозначность 

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

Темы: 0
Сообщений: 6

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

1. Нужны конкретные примеры в виде проектов и указания, что на такой-то пикосекунде такое-то устройство срабатывает не так как должно.

Отправил по почте. Да, только они, фактически, состоят из одного устройства подсоединённого к входным и выходным контактам.

2. Напиши подробно как ты пытаешься устанавливать задержки.

Нажимаю правой кнопкой мыши на устройстве, затем из появившегося контекстного меню выбираю пункт “Вн. редактор”. Затем при необходимости меняю режим работы и устанавливаю “Задержка для 1” и “Задержка для 0” или “Частота”, в зависимости от режима работы. По окончании редактирования нажимаю на кнопку “OK”. Да вот беда открываю его тут же снова и вижу совершенно другие значения, взамен мною введённых. Не верю своим глазам. В панике жму OK. Затем всё-таки собираюсь с духом и открываю снова и вижу не то, что не свои значения, и даже не предыдущие, не весть откуда взятые, а уже нули. После таких стрессов впору валерьянку пить.

3. Нужно сообщать о всех обнаруженных ошибках внешнего редактора, тогда они будут исправлены.

Уж толком и не помню - слишком много лета прошло. А заново пересматривать лень. Но помню, что элемент NOT так и не поддалось лечению внешним редактором. И ещё кто-то ругался Error-ами. И боюсь, что таких чудес как с GEN там хоть отбавляй.

4. Это технологические особенности HLCCAD.

Можно было бы выдавать какие-либо предупреждения, например следующего содержания: «Аккуратней товарищ. Ты думаешь, что контакты соединены, а это не так» или «Извините. Но после данной операции контакты были автоматически перепаяны в другие места, если вас что-либо не устраивает – переделайте ручками», а то потом приходиться голову ломать, что ж в этой схеме неправильно и почему она не хочет работать.

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

Вы точно уверены в этом? Проект так же отправлен по почте.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Теперь при установке новых задач необходимо делать два теста:
Основной - имя файла должно совпадать с названием главного устройства.
Секретный - файл должен быть назван "_secret.tst". Его тестирующая система не будет показывать.
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль
Есть возможность в файлах тестов указывать для HLCCAD какое сообщение выдавать в случае ошибки.
Например,
assert osum = 203401,10 at 1000 ps report "Тест 1: неверное значение на контакте osum"

Здесь в момент времени 1000ps проверяется значение на контакте osum. И если оно не равно 203401 в десятичной системе счисления, то происходит выдача ошибки с сообщением "Тест 1: неверное значение на контакте osum".
Денис Болдуев

Темы: 0
Сообщений: 12

Мой профиль
Написал программу в HLCCAD (14.04.2011), в протоколе выводит ошибку.

8.2 12:46 5. Задача №5 0 / 100 Проект создан в старой версии HLCCAD Arifm.prd DelTA3 at Nit4 HLCCAD project
Игорь Коршунов

Темы: 7
Сообщений: 2186

Мой профиль


Денис Болдуев:

Написал программу в HLCCAD (14.04.2011), в протоколе выводит ошибку.

8.2 12:46 5. Задача №5 0 / 100 Проект создан в старой версии HLCCAD Arifm.prd DelTA3 at Nit4 HLCCAD project  

Проблема была в библиотеке знаковой арифметики (SignedArifm.prd). Нужно скачать новую версию этого файла, затем заменить в проекте все знаковые устройства.
Артём Котов

Темы: 0
Сообщений: 61

Мой профиль
Вот сейчас решаю контрольную и столкнулся с проблемой:
При генерировании С-МПА проекта, файл *.prd куда-то исчезает, хотя в редакторе устройства всё создаётся нормально. А при закрытии HLCCAD выскакивает ошибка "Ошибка записи в файл %путь к файлу%". В итоге в папке с проектом присутствуют все файлы кроме прд.
Раньше удавалось это как-то решить "танцами с бубном", однако сейчас вообще ничего не получается.
 
Индекс форума ->Учебный процесс ГГУ/СШ 27 ->Проектирование цифровых систем 1, 2, 3, 4, 5, 6, 7, 8
Time:0,046