Перейти к содержанию

X-Ray

Members
  • Постов

    3
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные X-Ray

  1. Meteor77, спасибо тебе большое за ответ.

    Я , как уже говорил,просто не шарю в vhdl.И как писать тестбенчи не особо вкурсе,буду разбираться.Но всё равно ОГРОМНОЕ спасибо за помощь!

    Если не затруднит, не мог бы ты весь код тестбенча запостить.

  2. Сейчас будет тест.Спасибо за ответ, проверю.

    А открытый коллектор не влияет на логику.

    С ходу:в твоём коде нет завязки на входы RD и WR, которые разрешают/запрещают чтение/запись.

    Но всё равно большое спасибо!!!!!!!!

    В общем начал я тестить.

    Скомпилилось.Но подскажи пожалуйста как на вэйв формах подавать например на D значения.

    Тоесть при моей реализации я подавал отдельно на каждый разряд(D1-D4), а когда массив-то можно D придать только одно значение(.Как быть?

  3. Необходимо на Vhdl реализовать регистр КР1533ИР32

    он аналогичен КР1533ИР26 за исключением отсутсвия z-состояния

    Впринципе ничего сложного, но я в VHDL не шарю.

    вот мой код

    --
    --  File: c:\my designs\KP1533IR32\SRC\Ir32.VHD
    --  created by Design Wizard: 11/07/12 12:22:45
    --
    --{{ Section below this comment is automatically maintained
    --   and may be overwritten
    --{entity {Ir32} architecture {Ir32}}
    library IEEE;
    use IEEE.std_logic_1164.all;
    entity Ir32 is
    port (
     D1: in Bit;
     D2: in Bit;
     D3: in Bit;
     D4: in Bit;
     AW0: in Bit;
     AW1: in Bit;
     AR0: in Bit;
     AR1: in Bit;
     WR: in Bit;
     RD: in Bit;
     Q1: out Bit;
     Q2: out Bit;
     Q3: out Bit;
     Q4: out Bit
    );
    shared variable  R11,R12,R13,R14,R21,R22,R23,R24,R31,R32,R33,R34,R41,R42,R43,R44:Bit;
    end Ir32;
    --}} End of automatically maintained section
    architecture Ir32 of Ir32 is
    begin
    T1: process(D1)
    begin
    if WR='0' then
    if AW1='0' and AW0='0' then  R11:=D1;
    	 R12:=D2;
    	   R13:=D3;
    	 R14:=D4;
    end if;
    if AW1='0' and AW0='1' then  R21:=D1;
    	 R22:=D2;
    	   R23:=D3;
    	 R24:=D4;
    end if;
    if AW1='1' and AW0='0' then  R31:=D1;
    	 R32:=D2;
    	   R33:=D3;
    	 R34:=D4;
    end if;
    if AW1='1' and AW0='1' then  R41:=D1;
    	 R42:=D2;
    	   R43:=D3;
    	 R44:=D4;
    end if;
    end if;
    if RD='0' then
    if AR1='0' and AR0='0' then  Q1<=R11;
    	 Q2<=R12;
    	   Q3<=R13;
    	 Q4<=R14;
    end if;
    if AR1='0' and AR0='1' then  Q1<=R21;
    	 Q2<=R22;
    	   Q3<=R23;
    	 Q4<=R24;
    end if;
    if AR1='1' and AR0='0' then  Q1<=R31;
    	 Q2<=R32;
    	   Q3<=R33;
    	 Q4<=R34;
    end if;
    if AR1='1' and AR0='1' then  Q1<=R41;
    	 Q2<=R42;
    	   Q3<=R43;
    	 Q4<=R44;
    end if;
    else if RD='1' then		  Q1<='1';
    	 Q2<='1';
    	   Q3<='1';
    	 Q4<='1';
    end if;
    end if;
    end process t1;
     -- <<enter your statements here>>
    end Ir32;
    

    На вэйвформах не корректно работает, кто может исправит ошибки?

    Или вообще заново напишет?

    вообще проблема была такая-при старте, устройство работает, но на последующие изменения на адресных входах не реагирует(

    подскажите плиз

×
×
  • Создать...