Advertisement
rommik

(NEW)clk_dvb_s2x.vhd

Dec 19th, 2019
576
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 3.14 KB | None | 0 0
  1. library IEEE;
  2. use IEEE.STD_LOGIC_1164.ALL;
  3. use ieee.numeric_std.all;
  4.  
  5. entity clk_dvb_s2x is
  6.     Port(
  7.         clk             :  in  std_logic;                              -- тактирование
  8.         res             :  in  std_logic;                              -- сброс
  9.         enb             :  in  std_logic;                              -- разрешение работы
  10.         QAM_select      :  in  std_logic_vector (2 downto 0);          -- выбор модуляции
  11.         frame_select    :  in  std_logic_vector (0 downto 0);          -- выбор фрейма
  12.         data_in         :  in  std_logic_vector (0 downto 0);          -- входные данные
  13.         data_out        :  out std_logic_vector (0 downto 0));         -- выходные данные
  14. end entity;
  15.  
  16. architecture Behavioral of clk_dvb_s2x is
  17.  
  18.     signal res_0          :   std_logic;
  19.     signal res_1          :   std_logic;
  20.     signal enb_0          :   std_logic;
  21.     signal enb_1          :   std_logic;
  22.     signal QAM_select_0   :   std_logic_vector (2 downto 0);
  23.     signal QAM_select_1   :   std_logic_vector (2 downto 0);
  24.     signal frame_select_0 :   std_logic_vector (0 downto 0);
  25.     signal frame_select_1 :   std_logic_vector (0 downto 0);
  26.     signal i_data_0       :   std_logic_vector (0 downto 0);
  27.     signal i_data_1       :   std_logic_vector (0 downto 0);
  28.  
  29. --    signal o_data_0       :   std_logic_vector (0 downto 0);
  30. --    signal o_data_1       :   std_logic_vector (0 downto 0);
  31. --    signal o_data_2       :   std_logic_vector (0 downto 0);
  32.  
  33.     component dvb_s2x_interleaver
  34.         Port(
  35.             i_clk           : in  std_logic;                              
  36.             i_res           : in  std_logic;                              
  37.             i_enb           : in  std_logic;                              
  38.             i_QAM_select    : in  std_logic_vector (2 downto 0);          
  39.             i_frame_select  : in  std_logic_vector (0 downto 0);          
  40.             i_data          : in  std_logic_vector (0 downto 0);                              
  41.             o_data          : out std_logic_vector (0 downto 0));
  42.     end component;
  43.  
  44. begin
  45.          
  46. process(clk) begin
  47.     if(rising_edge(clk)) then
  48.    
  49.         res_0 <= res;
  50.         res_1 <= res_0;
  51.    
  52.         enb_0 <= enb;
  53.         enb_1 <= enb_0;
  54.    
  55.         QAM_select_0 <= QAM_select;
  56.         QAM_select_1 <= QAM_select_0;
  57.        
  58.         frame_select_0 <= frame_select;
  59.         frame_select_1 <= frame_select_0;
  60.    
  61.         i_data_0 <= data_in;
  62.         i_data_1 <= i_data_0;
  63.    
  64.     end if;
  65. end process;
  66.  
  67.  
  68. --process(clk) begin
  69. --    if(rising_edge(clk)) then
  70.    
  71. --        o_data_1 <= o_data_0;
  72. --        o_data_2 <= o_data_1;
  73. --        data_out <= o_data_2;
  74.    
  75. --    end if;
  76. --end process;
  77.  
  78. dut: DVB_S2X_interleaver
  79.     port map(
  80.         i_clk          => clk,
  81.         i_res          => res_1,
  82.         i_enb          => enb_1,
  83.         i_QAM_select   => QAM_select_1,
  84.         i_frame_select => frame_select_1,
  85.         i_data         => i_data_1,
  86.         o_data         => data_out);  --o_data_0
  87.  
  88. end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement