OpenCores
URL https://opencores.org/ocsvn/all_digital_fm_receiver/all_digital_fm_receiver/trunk

Subversion Repositories all_digital_fm_receiver

[/] [all_digital_fm_receiver/] [trunk/] [loop_filter.vhd] - Blame information for rev 5

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 rahmatulla
LIBRARY ieee;
2
USE ieee.std_logic_1164.all;
3
USE IEEE.numeric_std.ALL;
4
 
5
 
6
 
7
ENTITY loop_filter IS
8
-- Declarations
9
 port ( CLK             : in std_logic;
10
                        RESET   : in std_logic;
11
                        C                       : in signed(7 downto 0);
12
                        D1              : out signed(11 downto 0);
13
                        D2              : out signed(11 downto 0)
14
                );
15
END loop_filter  ;
16
 
17
 
18
ARCHITECTURE behavior OF loop_filter  IS
19
 
20
signal E : signed(11 downto 0);
21
signal dtemp : signed(11 downto 0);
22
 
23
begin
24
process(CLK, RESET)
25
begin
26
        if (RESET='1') then
27
            D1 <= (others => '0');
28
                                                D2 <= (others => '0');
29
                                                E <= (others => '0');
30
                                                dtemp <= (others => '0');
31
        elsif rising_edge(CLK) then
32
                                                dtemp <=  (C(7)&C(7)&C(7)&C&'0') + dtemp - E;
33
                                                E <= dtemp(11)&dtemp(11)&dtemp(11)&dtemp(11)&dtemp(11 downto 4);
34
                                                D1 <= dtemp;
35
                                                D2 <= dtemp(11 downto 4)&"0000";
36
          end if;
37
end process;
38
END behavior;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.