Advertisement
Guest User

Untitled

a guest
Dec 13th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.82 KB | None | 0 0
  1. ----------------------------------------------------------------------------------
  2. -- Namn: registerblock
  3. -- Filnamn: registerblock.vhd
  4. -- Testbench: registerblock_tb.vhd
  5. --
  6. -- Insignaler:
  7. -- clk - klocksignal, all uppdatering av register sker vid stigande flank
  8. -- n_rst - synkron resetsignal, aktiv låg
  9. -- F - resultatet från ALU
  10. -- DEST - bestämmer vilket av registerna R0 och R1 som ska vara aktivt
  11. -- RegEna - laddsignal till det aktiva registret
  12. --
  13. -- Utsignaler:
  14. -- RegOut - det aktiva registrets innehåll
  15. ----------------------------------------------------------------------------------
  16. library ieee;
  17. use ieee.std_logic_1164.all;
  18. use ieee.numeric_std.all;
  19.  
  20. library work;
  21. use work.all;
  22. use work.cpu_pkg.all;
  23.  
  24. entity registerblock is
  25. port(
  26. clk : in std_logic;
  27. n_rst : in std_logic;
  28. F : in std_logic_vector(7 downto 0);
  29. DEST : in std_logic;
  30. RegEna : in std_logic;
  31. RegOut : out std_logic_vector(7 downto 0)
  32. );
  33. end entity;
  34.  
  35. architecture structural of registerblock is
  36.  
  37. signal rst, update0, update1 : std_logic;
  38. signal r0_out, r1_out, mux_out : std_logic_vector(7 downto 0);
  39.  
  40. begin
  41.  
  42. rst <= not (not n_rst and clk);
  43. update0 <= not DEST and RegEna;
  44. update1 <= DEST and RegEna;
  45.  
  46. reg0: entity REG8 port map(
  47. CLK => clk,
  48. CLR => rst,
  49. ENA => update0,
  50. D => F,
  51. Q => r0_out
  52. );
  53.  
  54. reg1: entity REG8 port map(
  55. CLK => clk,
  56. CLR => rst,
  57. ENA => update1,
  58. D => F,
  59. Q => r1_out
  60. );
  61.  
  62. mux: entity MUX2x8 port map(
  63. IN0 => r0_out,
  64. IN1 => r1_out,
  65. SEL => DEST,
  66. O => mux_out
  67. );
  68.  
  69. RegOut <= mux_out;
  70. end architecture;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement