Jump to content
    

Дешифратор с семисегментным индикатором

Среда - Active HDL 9.1

Задание: Разработать и смоделировать декодер для семисегментного индикатора и отображении на нем десятеричных чисел

 

Вопрос: Как представить семисегментный индикатор в Active HDL среде, как объединить с дешифратором и что из себя представляет моделирование?

 

его величество код дешифратора:

 

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity test is
    port(
     clk : in std_logic;
     bcd : in STD_LOGIC_VECTOR(3 downto 0);
     segment7 : out std_logic_vector(6 downto 0)  -- 7 bit decoded output.
         );
end test;

--}} End of automatically maintained section

architecture Behavioral of test is
begin 
    process (clk,bcd)
BEGIN
if (clk'event and clk='1') then
case  bcd is
when "0000"=> segment7 <="0000001";  -- '0'
when "0001"=> segment7 <="1001111";  -- '1'
when "0010"=> segment7 <="0010010";  -- '2'
when "0011"=> segment7 <="0000110";  -- '3'
when "0100"=> segment7 <="1001100";  -- '4' 
when "0101"=> segment7 <="0100100";  -- '5'
when "0110"=> segment7 <="0100000";  -- '6'
when "0111"=> segment7 <="0001111";  -- '7'
when "1000"=> segment7 <="0000000";  -- '8'
when "1001"=> segment7 <="0000100";  -- '9'
  --nothing is displayed when a number more than 9 is given as input. 
when others=> segment7 <="1111111"; 
end case;
end if;

end process;

     -- enter your statements here --

end Behavioral;

 

 

Share this post


Link to post
Share on other sites

Вопрос: Как представить семисегментный индикатор в Active HDL среде, как объединить с дешифратором и что из себя представляет моделирование?

RTFM, данный индикатор ЕМПИП является стандартным примером разбираемым в документации на данное ПО.

 

Share this post


Link to post
Share on other sites

RTFM, данный индикатор ЕМПИП является стандартным примером разбираемым в документации на данное ПО.

 

Который день рою в поисках внятного ответа на вопрос о моделировании семисегментного индикатора в среде... Обычно, ограничиваются вышеизложенным кодом, иногда с добавлением test bench кода и никогда МОДЕЛЬ. Все вариации были под железный индикатор и отображении на нём..! Как смоделировать семисегментник в Active-HDL или любой подобной HDL среде. Если я где даташит с этим проспал, покажите где...

Share this post


Link to post
Share on other sites

Который день рою в поисках внятного ответа на вопрос о моделировании семисегментного индикатора в среде...

Моделирование обычно сводится к проверке формирования временных диаграм для динамических систем, или состояний на выходах ПЛИС для статических систем.

Насколько понял Вы хотите увидеть на выходе дешифратора отображение "символов", а-ля как это делает какой-нибудь протеус?

Share this post


Link to post
Share on other sites

Моделирование обычно сводится к проверке формирования временных диаграм для динамических систем, или состояний на выходах ПЛИС для статических систем.

Насколько понял Вы хотите увидеть на выходе дешифратора отображение "символов", а-ля как это делает какой-нибудь протеус?

 

мне нужно просимулировать и я в ступоре как это сделать...

 

надо из далека начать, вы как 7 сегментный индикатор работает знаете?

 

Да, обычно блок состоит из 4 семисегментных индикаторов с подведенными к блоку двумя шинами на 4 и на 7( или 8, если точки). Управление индикатором из блока осуществляется по шине из 4, управление сегментами посредством шины из 7.

Share this post


Link to post
Share on other sites

мне нужно просимулировать и я в ступоре как это сделать...

 

Да, обычно блок состоит из 4 семисегментных индикаторов с подведенными к блоку двумя шинами на 4 и на 7( или 8, если точки). Управление индикатором из блока осуществляется по шине из 4, управление сегментами посредством шины из 7.

Ну так и напишите на верилоге модель индикатора. Из чего он состоит Вы знаете, как работает знаете. И наверняка временные соотношения знаете. А код с "цифирок" индикатора отправляйте в консоль... В тестбенче подключите эту модель к дешифратору и получите эквивалент полного устройства...

И тогда в тестбенче на вход дешифратора подаете код, а на консоли читаете то, что будет видно на "цифирках"...

Вот и вся хитрость...

 

Share this post


Link to post
Share on other sites

Ну так и напишите на верилоге модель индикатора. Из чего он состоит Вы знаете, как работает знаете. И наверняка временные соотношения знаете. А код с "цифирок" индикатора отправляйте в консоль... В тестбенче подключите эту модель к дешифратору и получите эквивалент полного устройства...

И тогда в тестбенче на вход дешифратора подаете код, а на консоли читаете то, что будет видно на "цифирках"...

Вот и вся хитрость...

 

Действо в Active-HDL происходит, а не верилоге. И нужен перечень компонентов данной среды для проектирования, а мануалов по этому не нашёл, все, что были, программировали "железный" индикатор...

Share this post


Link to post
Share on other sites

Действо в Active-HDL происходит, а не верилоге. И нужен перечень компонентов данной среды для проектирования, а мануалов по этому не нашёл, все, что были, программировали "железный" индикатор...

Да, Вы же на VHDL код пишите... Вам про верилог понять трудно... А что, в Active-HDL на VHDL нельзя сделать то, что я сказал? И при чем тут "перечень"? На кой он Вам?

Это курсач такой сложный задали?

 

Share this post


Link to post
Share on other sites

Это курсач такой сложный задали?

 

Формальная лабрадорная, меня больше непонимание напрягает... и дешифратор есть и принцип известен, а как этот 7-сегментный в Active-HDL собрать по прежнему не ясно...

 

Share this post


Link to post
Share on other sites

А если описать "конечный автомат" с 15 состояниями, который в зависимости от входного воздействия переходит в эти состояния. Условия попадение в состояние 1 - комбинация сигналов на входе соотвествующая единицы индикатора. Ну и следовательно будите на вход дешифратора подавать разные воздействия, а выход дешифратора подадите на это автомат, и он буде переходить в разные состояния, это и будет симуляцией работы.

Актив-ХДЛ умеет интерактивно показывать в каком состоянии автомат?

 

 

 

 

Share this post


Link to post
Share on other sites

А если описать "конечный автомат" с 15 состояниями, который в зависимости от входного воздействия переходит в эти состояния. Условия попадение в состояние 1 - комбинация сигналов на входе соотвествующая единицы индикатора. Ну и следовательно будите на вход дешифратора подавать разные воздействия, а выход дешифратора подадите на это автомат, и он буде переходить в разные состояния, это и будет симуляцией работы.

Актив-ХДЛ умеет интерактивно показывать в каком состоянии автомат?

Это - FSM, нужно только в том случае, если индикация динамическая. Да и то, вполне хватит обычного регистра. А у автомата придется писать переходы "из каждого состояния в каждое", а это долго и хлопотно...

И если динамической индикации нет, то достаточно обычного шифратора. Причем даже не синтезируемого, у которого на входе сигналы, а на выходе текстовая строка с названием светящегося символа....

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...