Модераторы: Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VHDL, 2 задачи; структурное, потоковое, поведенчес, проверка правильности кода для каждого в 
:(
    Опции темы
seoguru
Дата 29.9.2013, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 29.9.2013

Репутация: нет
Всего: нет



Доброго времени суток!
Есть 2 задачи, нужно "решить" на всех видах проектирования:
  1. Определитель четности \ нечетности чисел
  2. 4-х входовый И-НЕ

Почитал Уэйкерли Дж.Ф., получились следующие варианты:

Задача 1:
Код
library IEEE;
use IEEE.std_logic_1164.all;

entity ex1 is 
port ( N: in STD_LOGIC_VECTOR (3 downto 0);
        F: out STD_LOGIC; )
end ex1;

Потоковое проектирование:
Код
architecture potok1_arch of ex1 is
begin
 with CONV_INTEGER(N) select
 F <= '1' when 0|2|4|6|8|10|12|14,
         '0' when others;
end potok1_arch;


Поведенческое проектирование:
Код
architecture poved1_arch of ex1 is
begin
 process(N)
  variable NI:INTEGER;
 begin
  NI:=CONV_INTEGER(N);
  if NI mod2=0 then F <= '1';
  else F<='0';
  end if;
 end process;
end poved1_arch;


Структурное проектирование:
Код
В процессе, но особо идей нет, возможно ли вообще такое написать на структурном?



Задача 2:
Код
library IEEE;
use IEEE.std_logic_1164.all;

entity ex2 is 
port ( N: in STD_LOGIC_VECTOR (3 downto 0);
        F: out STD_LOGIC; )
end ex2;

Потоковое проектирование:
Код
architecture potok2_arch of ex2 is
signal N0, N1, N2, N3: STD_LOGIC;
begin
 N0 <= not N(0);
 N1 <= not N(1);
 N2 <= not N(2);
 N3 <= not N(3);
 F <= N0 or N1 or N2 or N3;
end potok2_arch;


Поведенческое проектирование:
Код
architecture poved2_arch of ex2 is
begin
 process(N)
  variable N0, N1, N2, N3: STD_LOGIC;
 begin
  N0:=not N(0);
  N1:=not N(1);
  N2:=not N(2);
  N3:=not N(3);
  F <= N0 or N1 or N2 or N3;
 end process;
end poved2_arch;


Структурное проектирование:
Код
architecture strukt2_arch of ex2 is
signal N3_L, N2_L, N1_L, N0_L:STD_LOGIC;
component INV port (I: in STD_LOGIC; O: out STD_LOGIC); end component;
component OR4 port (I0,I1,I2,I3: in STD_LOGIC; O: out STD_LOGIC); end component;
begin
 U1: INV port map (N(3),N3_L);
 U2: INV port map (N(2),N2_L);
 U3: INV port map (N(1),N1_L);
 U4: INV port map (N(0),N0_L);
 U5: OR4 port map (N3_L, N2_L, N1_L, N0_L, F);
end strukt2_arch;


Прошу проверить корректность кода и подсказать что исправить, если есть ошибки. Заранее спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разное (электроника) | Следующая тема »


 




[ Время генерации скрипта: 0.0870 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.