Alvich пишет: В Тоp модуле DDM у Вас не полностью соединенны шины между модулями, например DSpeed (RTL Viewer это показывает(пишет NC))
Добавьте в модуль DDM назначения всех межблочных шин с их разрядностью (без этого соединяется по одному проводу в шине) и всех межблочных сигналов
Исправил.
Конструкция ключевого соответствия пишется так:
PowControl PowControl(.FTakt(FTakt), .ButPusk(ButPusk), .ButStop(ButStop), .SWork(SWork), .SStop(SStop), .PowHi(PowHi), .PowLo(PowLo), .SAcsel(SAcsel));
...
Хотелось бы уточнить - это нужно сделать в каждом модуле?
В модуле SpeedControl выходы регистров r33 и r45 никуда не идут
После снятия сигнала кнопок (отпускания кнопки) они не защелкиваются, так задумано?
Нет, не задумано. Моя невнимательность. Состояние r33 и r45 должно анализироваться, и исключать возможность смены скорости при уже сделанном выборе, и после начала рабочего цикла (разгон мотора, и т.д.). Исправил.
По поводу защелок так же согласен, они должны удерживать выбранное значение скорости. Подумаю, как это сделать.
Ссылку по кнопкам посмотрел, спасибо.
Leka пишет: Достаточно, что сам Квартус не сможет оценить это без дополнительных указаний, и это уже повод отказаться от такого подхода. Софт, железо, методология - все заточено под синхронный дизайн.
Наверное, Вы правы, но мне нужно самому прийти к этому. Пока не понимаю, насколько это актуально в данной конкретной задаче.
Я не собирюсь сам спорить на тему, всегда ли (при возможности) нужно следовать идеологии синхронного дизайна - синтез делает Квартус, вот с ним и спорьте.
Leka, я не спорю. Просто хочу сам понять целесообразность такого подхода.
Leka пишет: Вот я взял модуль DelControl... очевидно, что алгоритм неработоспособен, хотя-бы потому, что del только инкрементируется.
Здесь мне нечего сказать... Мой ляп.
Переделаю весь модуль с учетом этого, и всех предыдущих замечаний.
Alvich, Leka, спасибо!