Advertisement
Guest User

Untitled

a guest
Dec 16th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 2.83 KB | None | 0 0
  1. LIBRARY ieee;
  2. USE ieee.std_logic_1164.all;
  3. USE ieee.std_logic_arith.all;
  4. ENTITY test_bench2 IS
  5. generic( numOfBits : integer :=16);
  6. END ENTITY test_bench2;
  7. ARCHITECTURE behavioral OF test_bench2 IS
  8.  
  9. signal tbdin_i : STD_LOGIC_VECTOR (15 downto 0) := (others => '0');
  10. signal tbdin_q : STD_LOGIC_VECTOR (15 downto 0) := (others => '0');
  11. signal tbclk : std_logic;
  12. signal tbdoutI : std_logic_vector(15 downto 0);
  13. signal tbdoutQ : std_logic_vector(15 downto 0);
  14.  
  15. signal tbrst : std_logic;
  16. signal tbrfd : std_logic;
  17.  
  18. signal tbdv :  std_logic;
  19. signal tbsign :  std_logic := '1';
  20.  
  21. signal syncro_rst : std_logic;
  22. signal syncro_rfd : std_logic;
  23.  
  24. component top IS
  25.     Port ( clk : in std_logic;
  26.     dv : in std_logic;
  27.     codeI : in std_logic_vector(15 downto 0);
  28.     codeQ : in std_logic_vector(15 downto 0);
  29.     doutI : out std_logic_vector(15 downto 0);
  30.     doutQ : out std_logic_vector(15 downto 0));
  31. END component;
  32.  
  33. component ReadFile is
  34.     generic( numOfBits : integer :=16;
  35.     file_i : string := "C:\Users\thug\Desktop\FPGA\lab13v2\data_i.txt";
  36.     file_q : string := "C:\Users\thug\Desktop\FPGA\lab13v2\data_q.txt");
  37. port( data_i : out std_logic_vector ((numOfBits-1) downto 0) := (others => '0');
  38.     data_q : out std_logic_vector ((numOfBits-1) downto 0) := (others => '0');
  39.     dv: out std_logic;
  40.     rst : in std_logic;
  41.     rfd : in std_logic;
  42.     clk : in std_logic);
  43. end component;
  44.  
  45. component WriteFile_full IS
  46.     generic( numOfBits : integer :=16;
  47.     file_i : string := "C:\Users\thug\Desktop\FPGA\lab13v2\doutput_i.txt";
  48.     file_q : string := "C:\Users\thug\Desktop\FPGA\lab13v2\doutput_q.txt");
  49. port( clk,dv,sign : in std_logic;
  50.      DataIn_I : in std_logic_vector ((numOfBits-1) downto 0);
  51.      DataIn_Q : in std_logic_vector ((numOfBits-1) downto 0));
  52. end component;
  53.  
  54. -----------------------------------------------------------------
  55.  
  56. BEGIN
  57. generate_clk : process begin
  58.     loop
  59.         tbclk <= '0';
  60.         wait for 25 ns;
  61.         tbclk <= '1';
  62.         wait for 25 ns;
  63.         end loop;
  64. end process;
  65.  
  66. generate_tbrst : process begin
  67.     tbrst <= '1', '0' after 175 ns;
  68.     wait;
  69. end process;
  70.  
  71. generate_tbrfd : process begin
  72.     tbrfd <= '0', '1' after 200 ns;
  73.     wait;
  74. end process;
  75.  
  76.  
  77. process(tbclk) begin
  78.     if rising_edge(tbclk) then
  79.         syncro_rst <= tbrst;
  80.         syncro_rfd <= tbrfd;
  81.     end if;
  82. end process;
  83.  
  84. read : ReadFile
  85. port map (clk => tbclk,
  86.     rfd => syncro_rfd,
  87.     rst => syncro_rst,
  88.     dv => tbdv,
  89.     data_i => tbdin_i,
  90.     data_q => tbdin_q);
  91.  
  92. write : WriteFile_full
  93. port map ( clk => tbclk,
  94.     dv => tbdv,
  95.     sign => tbsign,
  96.     DataIn_I => tbdoutI,
  97.     DataIn_Q => tbdoutQ);
  98.  
  99. lab_13 : top
  100. port map ( clk => tbclk,
  101.     dv => tbdv,
  102.     codeI => tbdin_i,
  103.     codeQ => tbdin_q,
  104.     doutI => tbdoutI,
  105.     doutQ => tbdoutQ);
  106.  
  107. END  behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement