файлы проекта в студию...
файлы проекта в студию...
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Вот сам файлик. Но привязку я сделал, не первый раз замужем. В других проектах (они в большинстве на 7128, а этот - на Циклоне) все нормально. Причем выходные файлы компилятора создаются.
Пожалуйста, правда причем здесь остальные файлы для понимания. Суть проблемы-то не меняется.
Последний раз редактировалось fifan; 05.08.2010 в 04:54.
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Картинка говорит о том, что где-то упущен clock, или enable, или есть еще какой-то промах из-за которого вся схема упростилась практически до пустышки.
Надо внимательно читать сообщения, которые Квартус выдает при компиляции и внимательно смотреть все свои сигналы и шины. Бывает.
Больше игр нет
Комментарии к проекту:
1. Описания и организацию работы с клавиатурой (еще не задействована) я позаимствовал у Ewgeny7.
2. Пока пытаюсь эмуллировать оригинальный Специалист, но в плане и МХ.
3. Буду применять готовые исходники 8253 для эмулляции последнего.
Ewgeny7, на словах объясни каким образом у тебя меняются прошивки мониторов в проекте.
---------- Post added at 07:02 ---------- Previous post was at 07:00 ----------
Возможно. Предупреждений более 100 пока. На какой вывод данного Циклона следует привязывать сигнал CLOCK в моем проекте частотой 24 МГц?
---------- Post added at 07:16 ---------- Previous post was at 07:02 ----------
Вопрос о выводе результатов компиляции снимается. Просто компилятор в одном из предупреждений выдал мне что не используется вход clock. Я поменял в самом начале программы на следующее:
И все стало выводится. Пока задействовано 50% ячеек и 32832 из 59904 бит памяти (4 кБайта).clk <= '0' when clock = '0' else '1';
---------- Post added at 07:17 ---------- Previous post was at 07:16 ----------
А как сделать деление входной частоты на 3?
---------- Post added at 07:27 ---------- Previous post was at 07:17 ----------
Количество предупреждений доведено до 44!
Да, ошибка была тут:
clk <= '1' when clock = '0' else '1';
схема просто не тактировалась, отсюда и "оптимизация в ноль".
Делаю ROM размером с два монитора. Соответственно, оба монитора там и сидят.
Переключаю банально руля старшим адресом ROM. На клавиатуре у меня задействована кнопка F8 для переключения, в модуле это сигнал cpm_s (нажата - "1"), сигнал идет на обычный триггер, с которого и рулится старший адрес ROM с мониторами.
Хорошо, но лучше меньше
У меня в "напиханном" Орионе 25 варнингов.
Избавляйся по мере возможностей от latch (простые "защелки" в проекте заменяй на регистры, тактируемые клоком).
Проще всего - PLL. Но без нормальной разводки питания может подглюкивать и "плыть". Сделай простой счетчик на три клока, по заполнению меняй фазу выходного клока.
---------- Post added at 10:03 ---------- Previous post was at 09:51 ----------
Кстати, если деление частоты тебе нужно только для процессора, то есть такая удобная хитрость - не делить частоту, а просто приостанавливать подачу тактовой на нужное время. Например, у тебя есть счетчик пикселей hcnt. Можно сделать так, например:
clk_cpu<=not(clk_cpu) when ((clock'event and clock='1') and (hcnt(2)='0'));
Это даст тебе псевдоделение частоты на два. Изменяя параметры hcnt можешь получать другие частоты![]()
Последний раз редактировалось Ewgeny7; 05.08.2010 в 09:55.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)