Шестнадцатеричный семисегментный дисплей verilog
Я взял проект, используя Verilog. У нас есть два 4-битных числа, мультиплексор (S0,S1) и четыре модуля (сумматор, субстрактор и xor). Выход 4 бита. Я думаю, что это кажется простым. Я написал код Verilog, который содержит все из них в виде модулей. Я назначил контакты на плату DE0. Как видите, вывод можно увидеть на светодиодах. В этом нет проблем. Но как выводится на семисегментный дисплей вместо светодиодов? Однако результат должен быть шестнадцатеричным, а не двоичным. У меня также есть контакты с семисегментным дисплеем, поэтому я думаю, что я буду реализовывать их как светодиоды. Я новичок в Verilog. Это будет моя первая программа.
- Если S равно 0 (00), результат сумматора будет виден на светодиодах.
- Если S равно 1 (01), результат вычитания будет виден на светодиодах.
- Если S равно 2 (10), результат И будет отображаться на светодиодах.
- Если S равно 3 (11), результат операции XOR будет виден на светодиодах.
1 ответ
Семисегментный дисплей - это всего лишь 7 светодиодов в виде рисунка 8 (с 8-м светодиодом для десятичной точки). Таким образом, вам нужно только направить штырь, прикрепленный к этому сегменту дисплея, НИЗКИМ, чтобы осветить сегмент (см. Руководство по DE0, раздел 4.3, для штырей, прикрепленных к семисегментному дисплею: ftp://ftp.altera.com/up/pub/Altera_Material/Boards/DE0/DE0_User_Manual.pdf). Теперь это означает, что у вас есть контроль над каждым сегментом, но просто добавление 4-битного числа в дисплей не будет продуктом, который вы можете легко прочитать. Для этого вам понадобится преобразователь из вашего 4-битного значения в 7-битное значение, представляющее шаблон, чтобы осветить семисегментный сегмент (т. Е. Если ваш вывод 4'b0001
вы хотите, чтобы ваши семь сегментов отображали 1, поэтому вам нужно преобразовать 4'b0001
в 7-битное значение, которое приведет к отображению 1). Я думаю, что это достойная задача для вас, когда вы изучаете Verilog, поэтому я не буду предоставлять код для 4-битного или семисегментного модуля отображения. Но если вы столкнетесь с какими-либо проблемами, создающими свои собственные Не стесняйтесь комментировать этот ответ, и мы можем попытаться помочь. Или задайте новый вопрос, если это большая проблема.