У меня всегда валяется несколько аккумов АА готовых к работе, по необходимости вставляю один в мышку (MX1100). Живет на одном аккумуляторе месяца 3, на двух наверное в 2 раза дольше, но мышь слишком тяжелой становиться…
Собственно если говорить в терминах квартуса, то когда вы создаете компонент через MegaWizard, вам дают выбрать, на каком языке его генерировать — там будет AHDL (не для всех), Verilog, VHDL. И квартусу абсолютно без разницы, какой вы выберете. Разница будет для вас, когда вы попытаетесь воспользоваться каким-нибудь внешним средством (например внешним симулятором), и убедитесь, что AHDL jн не поддерживает.
Ну во первых модули памяти отлично описываются и на VHDL/Verilog (руками), во вторых непосредственно AHDL тут непричем — для подключения подобных вещей подключаются стандартные альтеровские примитивы, которые имеют равноценные интерфейсы и для AHDL, и для VHDL, и т.д.
Что хочется сказать — первый незамутненный взгляд на FPGA лучше делать с помощью продукции Altera. Можно долго ломать копья Altera/Xilinx, но вряд ли кто будет отрицать факт того, что альтеровский софт (Quartus II) куда как дружелюбнее для новичков, чем софт Xilinx.
Я имел в виду документацию — вот у вас 32 разрядный адрес (о боже, куда столько?), а по какому адресу писать, чтобы вывести 15 символ в 3 строке непонятно…
И еще вопрос — знакогенератор перепрограммируемый или фиксированный?
Здорово, всегда хотел сделать что-то такое, только повода не было.
Есть два момента:
1) На мой взгляд стоит сделать более прозрачное описание интерфейса модуля — чтобы было понятно что по какому адресу грузить — чтоб можно было взять ваш модуль и пустить в работу с минимальными усилиями.
2) В коде по ссылке я вижу, что выходы на VGA одноразрядные, что вызывает недоумение:
r: out STD_LOGIC;
g: out STD_LOGIC;
b: out STD_LOGIC;
Ну что значит «качество»? Трудночитаем? Да, но и то при необходимости можно разобраться (а уж если есть оригинальная модель, то и подавно). Неоптимален? Тут все зависит от того как нарисована модель — сумматоры и умножители, как их не описывай, будут одинаковы. Пожалуй две основных дыры сейчас при генерации кода (я говорю про HDL Coder) — это отсутствие автоматического временного мультиплексирования и работа с многоклоковыми дизайнами.
Если почитать всякие рекомендации от самого же Mathworks, то они всюду призывают использовать вектора, матрицы и т.д. Только вот беда — когда создается simulink модель какого-нибудь устройства обработки сигналов, близкая к аппаратному воплощению (чтобы автоматически получить hdl-код), да еще и с обратными связями — все эти советы становятся неприменимы. Только и остается надеяться на акселераторы, которые в последних версиях стали значительно лучше.
Гонки в цифровых схемах рассматриваются как досаждающий фактор и в синхронных устройствах мало кого волнуют — лишь бы выполнялись временные требования. По большому счету, это все казуистика — одна и та же схема может рассматриваться и как цифровая (на макроуровне), так и как аналоговая (на микроуровне). И вот пока она пребывает лишь в состояниях 0 и 1 — она цифровая. Как только начинаем копать вглубь и ловить промежуточные напряжения — она становиться аналоговой. ИМХО, конечно.
Ну а по последнему пункту — будем надеяться.
И еще вопрос — знакогенератор перепрограммируемый или фиксированный?
Есть два момента:
1) На мой взгляд стоит сделать более прозрачное описание интерфейса модуля — чтобы было понятно что по какому адресу грузить — чтоб можно было взять ваш модуль и пустить в работу с минимальными усилиями.
2) В коде по ссылке я вижу, что выходы на VGA одноразрядные, что вызывает недоумение:
r: out STD_LOGIC;
g: out STD_LOGIC;
b: out STD_LOGIC;
Ну а по последнему пункту — будем надеяться.