Guest User

Untitled

a guest
May 27th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VHDL 2.71 KB | None | 0 0
  1. --------------------------------------------------------------------------------
  2. -- SubModule DF
  3. -- Created   12/15/2014 9:41:04 PM
  4. --------------------------------------------------------------------------------
  5. Library IEEE;
  6. Use IEEE.Std_Logic_1164.all;
  7. Use IEEE.numeric_std.all;
  8. use work.spp_lib.all;
  9.  
  10.  
  11.  
  12. entity MAIN is
  13. --generic(
  14.   --  FACTOR  :natural := 100;
  15.     --FBASE    :natural := 8;
  16.     --WIDTH   :natural := 10
  17.  -- );
  18.  
  19.  port
  20.    (
  21.      CLK_I    : in  STD_LOGIC;
  22.      DATA_IN  : in  SIGNED(14 downto 0);
  23.      DATA_OUT : out SIGNED(14 downto 0);
  24.      ERR      : out STD_LOGIC
  25.     );
  26. end MAIN;
  27.  
  28.  
  29. architecture Structure of MAIN is
  30.  
  31.  
  32. signal DELAY, SUMOUT, SW1OUT,SW2OUT :SIGNED(14 downto 0);
  33. signal ERR1, ERR2,ERR3,ERR4      :  STD_LOGIC;
  34.  
  35. begin
  36.  
  37. SW1 : entity WORK.z_sw
  38. generic map(
  39.     FACTOR  => 65,
  40.     FBASE    => 10,
  41.     WIDTH   => 15
  42.     )
  43. port map
  44. (
  45.      R => '0',
  46.      C => CLK_I,
  47.      D => DATA_IN,
  48.      Q => SW1OUT,
  49.      E => ERR1
  50. );
  51.  
  52. SW2 : entity WORK.z_sw
  53. generic map(
  54.     FACTOR  => 170,
  55.     FBASE    => 9,
  56.     WIDTH   => 15
  57.     )
  58. port map
  59. (
  60.      R => '0',
  61.      C => CLK_I,
  62.      D => DELAY,
  63.      Q => SW2OUT,
  64.      E => ERR2
  65. );
  66.  
  67. DEL : entity WORK.z_delay
  68. generic map(
  69.     DELAY   => 1,
  70.     WIDTH   =>15
  71.   )
  72.   port map (
  73.     R =>'0',
  74.     C => CLK_I,
  75.     D => DATA_IN,
  76.     Q => DELAY
  77. );
  78.  
  79.  
  80.  
  81. Sum(SW2OUT, SW1OUT,SUMOUT, ERR3);
  82. Mult(SUMOUT,to_signed(1,16) , 1, DATA_OUT, ERR4);
  83.  
  84. ERR <= ERR1 and ERR2 and ERR3 and ERR4;
  85.  
  86.  
  87.  
  88.  
  89.  
  90.   process (CLK_I) is
  91.   begin
  92.  
  93.      if (CLK_I'event and CLK_I='1') then
  94.         --DELAY <=  DATA_IN;
  95.  
  96.      end if;
  97.   end process;
  98.  
  99. end Structure;
  100. --------------------------------------------------------------------------------
  101.  
  102. --------------------------------------------------------------------------------
  103. -- SubModule DF
  104. -- Created   12/15/2014 9:41:04 PM
  105. --------------------------------------------------------------------------------
  106. Library IEEE;
  107. Use IEEE.Std_Logic_1164.all;
  108. Use IEEE.numeric_std.all;
  109.  
  110. entity DF is port
  111.    (
  112.      DATA_IN  : in  STD_LOGIC_VECTOR(15 downto 0);
  113.      DATA_OUT : out STD_LOGIC_VECTOR(15 downto 0);
  114.      DIN      : in STD_LOGIC_VECTOR(7 downto 0);
  115.      CLK_I    : in  STD_LOGIC
  116.    );
  117. end DF;
  118. architecture Structure of DF is
  119.  
  120.    signal ERR :std_logic;
  121.    signal DATEIN, DATEOUT :SIGNED(14 downto 0);
  122.  
  123. begin
  124.  
  125.   DATEIN <= SIGNED(DATA_IN(14 downto 0));
  126.   inst :entity work.MAIN(Structure)
  127.     port map (
  128.      CLK_I    => DIN(0),
  129.      DATA_IN  => DATEIN,
  130.      DATA_OUT => DATEOUT,
  131.      ERR      => open
  132.     );
  133.    DATA_OUT(14 downto 0) <= STD_LOGIC_VECTOR(DATEOUT);
  134.  
  135.  
  136.  
  137.  
  138. end Structure;
  139. --------------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment