TA147

Ejecicios y trabajos prácticos de la materia Taller de Sistemas Digitales (TA147)
Index Commits Files Refs
vhdl/basics/std_logic_vector/std_logic_vector_tb.vhd (1264B)
   1 library ieee;
   2 use ieee.std_logic_1164.all;
   3 
   4 entity std_logic_vector_tb is
   5 end entity;
   6 
   7 architecture std_logic_vector_arq of std_logic_vector_tb is
   8 
   9     -- std_logic signals use single quotation marks when assigning values, this
  10     -- is because not only the can be assigned with 0 or 1 but also other
  11     -- non-numeric values, such as 'Z' for a high impedance signal or '-' for a
  12     -- don't care, etc.
  13     signal sig_vec_a: std_logic_vector(7 downto 0) := "U1010101";
  14     signal sig_vec_b: std_logic_vector(3 downto 0) := (others => '0');
  15     signal sig_vec_c: std_logic_vector(0 to 3)     := (others => '0');
  16     signal sig_vec_d: std_logic_vector(7 downto 0) := "00000001";
  17     signal sig_vec_e: std_logic_vector(7 downto 0) := "00000001";
  18 
  19 begin
  20     process is
  21     begin
  22 
  23         wait for 100 us;
  24 
  25         -- shift register
  26         for i in 7 downto 1 loop
  27             sig_vec_d(i) <= sig_vec_d(i - 1);
  28         end loop;
  29 
  30         sig_vec_d(0) <= sig_vec_d(7);
  31 
  32         -- shift register more generic (using signal attributes)
  33         for i in sig_vec_e'left downto sig_vec_e'right + 1 loop
  34             sig_vec_e(i) <= sig_vec_e(i - 1);
  35         end loop;
  36 
  37         sig_vec_e(sig_vec_e'right) <= sig_vec_e(sig_vec_e'left);
  38 
  39 
  40     end process;
  41 end architecture;