Subversion Repositories gfir
Compare Revisions
- This comparison shows the changes necessary to convert path
/
- from Rev 3 to Rev 4
- ↔ Reverse comparison
Rev 3 → Rev 4
ghdl -i -v --ieee=standard -fexplicit --std=93c --warn-no-vital-generic --workdir=simu --work=work src/*.vhd testbench/fir_filter_stage_tb.vhd |
ghdl -m -v --ieee=synopsys -fexplicit --std=93c --warn-no-vital-generic --workdir=simu --work=work fir_filter_stage_tb |
ghdl -r -v fir_filter_stage_tb --stop-time=500ns --vcd=output.vcd |
gtkwave output.vcd & |
1 |
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
---------- |
--! @file |
--! @brief The top-level test-bench. |
---------- |
library IEEE; |
use IEEE.std_logic_1164.all; |
use ieee.std_logic_arith.all; -- conv_integer, conv_signed |
library work; |
use work.tb_pack.all; |
use work.fir_pkg.all; |
library std; |
use std.textio.all; -- write, writeline |
|
entity fir_filter_stage_tb is |
end fir_filter_stage_tb; |
|
architecture tb of fir_filter_stage_tb is |
|
constant clockperiod : time := 10 ns; --! Clock period |
|
component fir_filter_stage_TF |
port (fir_clk, fir_clr : in std_logic; |
fir_in : in std_logic_vector(0 downto 0); |
fir_out : out std_logic_vector(14 downto 0)); |
end component; |
|
signal fir_clk, fir_clr : std_logic; |
signal fir_in : std_logic_vector(0 downto 0); |
signal fir_out : std_logic_vector(14 downto 0); |
signal read_flag : std_ulogic; |
signal write_finished, read_finished : std_ulogic := '0'; |
-- Internal deibugging signals |
signal multi_add : std_logic_vector((order-1)*width_out-1 downto 0); |
signal add_delay : std_logic_vector((order-2)*width_out-1 downto 0); |
signal delay_add : std_logic_vector((order-1)*width_out-1 downto 0); |
signal multi_delay : std_logic_vector(width_out-1 downto 0); |
|
begin |
|
process |
begin |
fir_in <= (others => '0'); |
wait until read_flag = '1'; |
ReadData ( "./testbench/data.txt", fir_in, fir_clk, read_finished); --! Input file for stimuli bit-stream |
end process; |
|
multi_add <= g_multi_add; |
add_delay <= g_add_delay; |
delay_add <= g_delay_add; |
multi_delay <= g_multi_delay; |
|
ExportOutput: process |
file wr_file : text open write_mode is "./fir_filter_ouput.txt"; --! Output file |
variable export_vector : integer; |
variable export_line : line; |
begin |
wait until rising_edge(fir_clk); |
export_vector := conv_integer(conv_signed(unsigned(fir_out),fir_out'length)); |
write(export_line, export_vector); |
writeline(wr_file, export_line); |
end process; |
|
DUT : fir_filter_stage_TF |
port map( |
fir_clk => fir_clk, |
fir_clr => fir_clr, |
fir_in => fir_in, |
fir_out => fir_out |
); |
|
process |
begin |
fir_clr <= '1'; read_flag <= '0'; |
wait for 43 ns; |
|
fir_clr <= '0'; read_flag <= '1'; |
wait for 43 ns; |
|
fir_clr <= '0'; read_flag <= '1'; |
wait for 500 ns; |
end process; |
|
process |
begin |
wait for (clockperiod/2); |
fir_clk <= '1'; |
wait for (clockperiod/2); |
fir_clk <= '0'; |
end process; |
|
end tb; |
---------- |
--! @file |
--! @brief This is signed constant multiplier with unsigned input port. |
---------- |
LIBRARY ieee; |
USE ieee.std_logic_1164.all; |
USE ieee.std_logic_signed.all; |
USE ieee.std_logic_arith.all; |
|
ENTITY multiplier_gen IS |
generic (multi_width_const : natural; |
multi_width_in : natural); |
port (multiplier_const : in std_logic_vector(multi_width_const-1 downto 0); --! Constant multiplier hardwired to the filter coefficient |
multiplier_in : in std_logic_vector(multi_width_in-1 downto 0); --! Constant multiplier input port with variable bit-width |
multiplier_out : out std_logic_vector((multi_width_const+multi_width_in)+1 downto 0)); --! Constant multiplier output port |
END ENTITY multiplier_gen; |
|
-- |
ARCHITECTURE behave OF multiplier_gen IS |
signal tmp_multiplier_out : std_logic_vector((multi_width_const+multi_width_in) downto 0); |
signal tmp_msb : std_logic; |
BEGIN |
tmp_multiplier_out <= unsigned(multiplier_in) * signed(multiplier_const); |
tmp_msb <= tmp_multiplier_out(tmp_multiplier_out'left); |
multiplier_out <= tmp_msb&tmp_multiplier_out; |
END ARCHITECTURE behave; |
|
--------------------------------------------------------------------------------------------------- |
--! @file |
--! @brief This is the top-level design for a direct-form FIR digital filter. \n |
--! @details It instantiate the three major components for constructing a digital filter such as;\n |
--! adder (adder_gen), multiplier (multiplier_gen), and delay (delay_gen). \n |
--! The top-level is a structural description in a generic/scalable form. \n |
--! The filter coefficients and the quantization bit width should be edited/pasted \n |
--! into the fir_pkg.vhd. The filter coefficients should be given in integer format. \n |
--! Design specs: \n |
--! Unsigned single/multi-bit input (fir_in) \n |
--! Signed multi-bit output (fir_out) \n |
--! Active high asynchronous reset (fir_clr) \n |
--! Rising edge clock (fir_clk) \n |
-- |
--! @image html firDF.png "Direct-form FIR Filter Structure" |
-- |
--! @author Ahmed Shahein |
--! @email ahmed.shahein@ieee.org |
--! @date 04.2012 |
--------------------------------------------------------------------------------------------------- |
LIBRARY ieee; |
USE ieee.std_logic_1164.all; |
USE ieee.std_logic_arith.all; |
USE ieee.std_logic_unsigned.all; |
USE work.fir_pkg.all; |
|
ENTITY fir_filter_stage_DF IS |
port (fir_clk : in std_logic; --! Rising edge clock |
fir_clr : in std_logic; --! Active high asynchronous reset |
fir_in : in std_logic_vector(0 downto 0); --! Unsigned single/multi-bit input |
fir_out : out std_logic_vector(14 downto 0)); --! Signed multi-bit output |
END ENTITY fir_filter_stage_DF; |
|
-- |
ARCHITECTURE struct OF fir_filter_stage_DF IS |
-- COMPONENT DECLARATION |
component multiplier_gen |
generic (multi_width_const : natural; |
multi_width_in : natural); |
port (multiplier_const : in std_logic_vector(multi_width_const-1 downto 0); |
multiplier_in : in std_logic_vector(multi_width_in-1 downto 0); |
multiplier_out : out std_logic_vector((multi_width_const+multi_width_in)+1 downto 0)); |
end component; |
|
component adder_gen |
generic (add_width : natural); |
port (add_a_in : in std_logic_vector(add_width-1 downto 0); |
add_b_in : in std_logic_vector(add_width-1 downto 0); |
add_out : out std_logic_vector(add_width-1 downto 0)); |
end component; |
|
component delay_gen |
generic (delay_width : natural); |
port (clk, clr : in std_logic; |
delay_in : in std_logic_vector(delay_width-1 downto 0); |
delay_out : out std_logic_vector(delay_width-1 downto 0)); |
end component; |
|
-- CONSTANT DECLARATION |
constant coeff : int_vector := fir_coeff_thirdstage; --! Filter coefficients defined in the fir_pkg.vhd |
constant width_in : natural := fir_in'length; --! Input bit-width |
constant width_out : natural := fir_out'length; --! Output bit-width |
constant width_const : positive := quantization; --! Quantization bit-width defined in the fir_pkg.vhd |
constant order : natural := coeff'length; --! Filter length |
|
-- SIGNAL DECLARATION |
signal multi_add : std_logic_vector(order*width_out-1 downto 0); --! Internal signal holding multiplier's outputs and adder's inputs |
signal add_add : std_logic_vector((order-1)*width_out-1 downto 0); --! Internal signal holding preced adder output and proceed adder input |
signal delay_multi : std_logic_vector((order-1)*width_in-1 downto 0); --! Internal signal holding delay's output and multiplier's inputs |
|
BEGIN |
|
COEFFMULTIs: for i in 0 to order-1 generate --! Generate the filter multipliers set |
FirstMULT: if i = 0 generate |
MULTI: multiplier_gen |
generic map(multi_width_const => width_const, |
multi_width_in => width_in) |
port map( |
multiplier_const => conv_std_logic_vector(coeff(i), width_const), |
multiplier_in => fir_in, |
multiplier_out => multi_add((i+1)*width_out-1 downto i*width_out) |
); |
end generate; |
InterMULTs: if i > 0 generate |
MULTIs: multiplier_gen |
generic map(multi_width_const => width_const, |
multi_width_in => width_in) |
port map( |
multiplier_const => conv_std_logic_vector(coeff(i), width_const), |
multiplier_in => delay_multi(i*width_in-1 downto (i-1)*width_in), |
multiplier_out => multi_add((i+1)*width_out-1 downto i*width_out) |
); |
end generate; |
end generate; |
|
COEFFDELAY: for i in 1 to order-1 generate --! Generate the filter delays set |
DELAY: if i = 1 generate |
FirstDELAY: delay_gen |
generic map(delay_width => width_in) |
port map( |
clr => fir_clr, |
delay_in => fir_in, |
delay_out => delay_multi(i*width_in-1 downto (i-1)*width_in), |
clk => fir_clk |
); |
end generate; |
InterDElAYs: if i > 1 generate |
DELAYs: delay_gen |
generic map(delay_width => width_in) |
port map( |
clr => fir_clr, |
delay_in => delay_multi((i-1)*width_in-1 downto (i-2)*width_in), |
delay_out => delay_multi(i*width_in-1 downto (i-1)*width_in), |
clk => fir_clk |
); |
end generate; |
end generate; |
|
COEFFADD: for i in 1 to order-1 generate --! Generate the filter adders set |
FirstADDER: if i = 1 generate |
ADDER0: adder_gen |
generic map(add_width => width_out) |
port map( |
add_a_in => multi_add((i+1)*width_out-1 downto i*width_out), -- from multipliers |
add_b_in => multi_add(i*width_out-1 downto (i-1)*width_out), |
add_out => add_add(i*width_out-1 downto (i-1)*width_out) |
); |
end generate; |
InterADDER: if i > 1 generate |
ADDERs: adder_gen |
generic map(add_width => width_out) |
port map( |
add_a_in => multi_add((i+1)*width_out-1 downto i*width_out), -- from multipliers |
add_b_in => add_add((i-1)*width_out-1 downto (i-2)*width_out), |
add_out => add_add(i*width_out-1 downto (i-1)*width_out) |
); |
end generate; |
end generate; |
|
fir_out <= add_add((order-1)*width_out-1 downto (order-1)*width_out-width_out); |
|
END ARCHITECTURE struct; |
--------------------------------------------------------------------------------------------------- |
--! @file |
--! @brief This is the top-level design for a transposed-form FIR digital filter. \n |
--! @details It instantiate the three major components for constructing a digital filter such as;\n |
--! adder (adder_gen), multiplier (multiplier_gen), and delay (delay_gen). \n |
--! The top-level is a structural description in a generic/scalable form. \n |
--! The filter coefficients and the quantization bit width should be edited/pasted \n |
--! into the fir_pkg.vhd. The filter coefficients should be given in integer format. \n |
--! Design specs: \n |
--! Unsigned single/multi-bit input (fir_in) \n |
--! Signed multi-bit output (fir_out) \n |
--! Active high asynchronous reset (fir_clr) \n |
--! Rising edge clock (fir_clk) \n |
-- |
--! @image html firTF.png "Transposed-form FIR Filter Structure" |
-- |
--! @author Ahmed Shahein |
--! @email ahmed.shahein@ieee.org |
--! @date 04.2012 |
--------------------------------------------------------------------------------------------------- |
LIBRARY ieee; |
USE ieee.std_logic_1164.all; |
USE ieee.std_logic_arith.all; |
USE ieee.std_logic_unsigned.all; |
USE work.fir_pkg.all; |
|
ENTITY fir_filter_stage_TF IS |
port (fir_clk : in std_logic; --! Rising edge clock |
fir_clr : in std_logic; --! Active high asynchronous reset |
fir_in : in std_logic_vector(0 downto 0); --! Unsigned single/multi-bit input |
fir_out : out std_logic_vector(14 downto 0)); --! Signed multi-bit output |
END ENTITY fir_filter_stage_TF; |
|
-- |
ARCHITECTURE struct OF fir_filter_stage_TF IS |
-- COMPONENT DECLARATION |
component multiplier_gen |
generic (multi_width_const : natural; |
multi_width_in : natural); |
port (multiplier_const : in std_logic_vector(multi_width_const-1 downto 0); |
multiplier_in : in std_logic_vector(multi_width_in-1 downto 0); |
multiplier_out : out std_logic_vector((multi_width_const+multi_width_in)+1 downto 0)); |
end component; |
|
component adder_gen |
generic (add_width : natural); |
port (add_a_in : in std_logic_vector(add_width-1 downto 0); |
add_b_in : in std_logic_vector(add_width-1 downto 0); |
add_out : out std_logic_vector(add_width-1 downto 0)); |
end component; |
|
component delay_gen |
generic (delay_width : natural); |
port (clk, clr : in std_logic; |
delay_in : in std_logic_vector(delay_width-1 downto 0); |
delay_out : out std_logic_vector(delay_width-1 downto 0)); |
end component; |
|
-- CONSTANT DECLARATION |
--constant coeff : int_vector := fir_coeff_thirdstage; --! Filter coefficients defined in the fir_pkg.vhd |
constant width_in : natural := fir_in'length; --! Input bit-width |
--constant width_out : natural := fir_out'length; --! Output bit-width |
constant width_const : positive := quantization; --! Quantization bit-width defined in the fir_pkg.vhd |
--constant order : natural := coeff'length; --! Filter length |
|
-- SIGNAL DECLARATION |
signal multi_add : std_logic_vector((order-1)*width_out-1 downto 0); --! Internal signal holding multiplier's outputs and adder's inputs |
signal add_delay : std_logic_vector((order-2)*width_out-1 downto 0); --! Internal signal holding adder's outputs and delay's inputs |
signal delay_add : std_logic_vector((order-1)*width_out-1 downto 0); --! Internal signal holding delay's output and adder's inputs |
signal multi_delay : std_logic_vector(width_out-1 downto 0); --! internal signal for the left most multiplier since it is connected directly to delay |
|
BEGIN |
|
COEFFMULTIs: for i in 0 to order-1 generate --! Generate the filter multipliers set |
LastMULT: if i = order-1 generate |
MULTI: multiplier_gen |
generic map(multi_width_const => width_const, |
multi_width_in => width_in) |
port map(multiplier_const => conv_std_logic_vector(coeff(i), width_const), |
multiplier_in => fir_in, |
multiplier_out => multi_delay); |
end generate; |
InterMULTs: if i < order-1 generate |
MULTIs: multiplier_gen |
generic map(multi_width_const => width_const, |
multi_width_in => width_in) |
port map(multiplier_const => conv_std_logic_vector(coeff(i), width_const), |
multiplier_in => fir_in, |
multiplier_out => multi_add((i+1)*width_out-1 downto i*width_out)); |
end generate; |
end generate; |
|
COEFFDELAY: for i in 0 to order-2 generate --! Generate the filter delays set |
DELAY: if i = order-2 generate |
LastDELAY: delay_gen |
generic map(delay_width => width_out) |
port map(clk => fir_clk, |
clr => fir_clr, |
delay_in => multi_delay, |
delay_out => delay_add((i+1)*width_out-1 downto i*width_out)); |
end generate; |
InterDElAYs: if i < order-2 generate |
DELAYs: delay_gen |
generic map(delay_width => width_out) |
port map(clk => fir_clk, |
clr => fir_clr, |
delay_in => add_delay((i+1)*width_out-1 downto i*width_out), |
delay_out => delay_add((i+1)*width_out-1 downto i*width_out)); |
end generate; |
end generate; |
|
COEFFADD: for i in 0 to order-2 generate --! Generate the filter adders set |
FirstADDER: if i = 0 generate |
ADDER0: adder_gen |
generic map(add_width => width_out) |
port map( |
add_a_in => multi_add((i+1)*width_out-1 downto i*width_out), |
add_b_in => delay_add((i+1)*width_out-1 downto i*width_out), |
add_out => fir_out); |
end generate; |
InterADDER: if i > 0 generate |
ADDERs: adder_gen |
generic map(add_width => width_out) |
port map( |
add_a_in => multi_add((i+1)*width_out-1 downto i*width_out), |
add_b_in => delay_add((i+1)*width_out-1 downto i*width_out), |
add_out => add_delay(i*width_out-1 downto (i-1)*width_out)); |
end generate; |
end generate; |
|
-- Internal debugging signals |
g_multi_add <= multi_add; |
g_add_delay <= add_delay; |
g_delay_add <= delay_add; |
g_multi_delay <= multi_delay; |
|
END ARCHITECTURE struct; |
---------- |
--! @file |
--! @brief This is the supporting package. \b "JUST EDIT THIS FILE" |
---------- |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.std_logic_arith.all; |
|
package fir_pkg is |
|
type int_vector is array (natural range <>) of integer; |
|
constant coeff : int_vector := (-51,25,128,77,-203,-372,70,1122,2047,2047,1122,70,-372,-203,77,128,25,-51); --! Filter coefficients defined in the fir_pkg.vhd |
-- Q 12, N 18 |
constant quantization : positive := 12; --! Filter quantization bit-width |
constant order : natural := coeff'length; |
constant width_out : natural := 15; |
|
-- Global signals for internal debugging |
signal g_multi_add : std_logic_vector((order-1)*width_out-1 downto 0); |
signal g_add_delay : std_logic_vector((order-2)*width_out-1 downto 0); |
signal g_delay_add : std_logic_vector((order-1)*width_out-1 downto 0); |
signal g_multi_delay : std_logic_vector(width_out-1 downto 0); |
|
function binary_width ( |
x : natural) |
return natural; |
|
function EOp ( |
M : positive |
) |
return natural; |
|
function EOn ( |
M : positive |
) |
return natural; |
|
end fir_pkg; |
|
package body fir_pkg is |
|
function binary_width ( |
x : natural) |
return natural is |
variable y : integer; |
variable count : natural; |
begin |
|
y := abs(x); |
count := 0; |
while y > 0 loop |
y := y/2; |
count := count + 1; |
end loop; |
|
return count; |
|
end function; |
|
function EOp ( |
M : positive |
) |
return natural is |
begin |
if (M mod 2) = 0 then |
return M/2-1; |
else |
return M/2; |
end if; |
end function; |
|
function EOn ( |
M : positive |
) |
return natural is |
begin |
if (M mod 2) = 0 then |
return M/2-1; |
else |
return M/2-1; |
end if; |
end function; |
|
end fir_pkg; |
---------- |
--! @file |
--! @brief The test-bench supporting package. |
---------- |
library IEEE; |
use IEEE.std_logic_1164.all; |
use IEEE.std_logic_arith.all; |
use std.textio.all; |
|
package tb_pack is |
|
procedure ReadData( constant filename : in string; |
signal bpsdm_data : out std_logic_vector; |
signal clk : in std_ulogic; |
signal finished : out std_ulogic ); |
|
end tb_pack; |
|
package body tb_pack is |
|
procedure ReadData( constant filename : in string; |
signal bpsdm_data : out std_logic_vector; |
signal clk : in std_ulogic; |
signal finished : out std_ulogic ) is |
|
file inputfile : text open read_mode is filename; |
variable inputline : line; |
variable data : integer; |
begin |
while not endfile(inputfile) loop |
-- read one line of the file |
readline(inputfile, inputline); |
-- read one integer number from that line |
read(inputline, data); |
-- output data at rising clock edge, converting the integer number to a |
-- bit vector using the given vector length and either signed or unsigned |
-- input |
wait until rising_edge(clk); |
bpsdm_data <= std_logic_vector(conv_signed(data, bpsdm_data'length)) after 0 ns; |
end loop; |
-- as soon as last line is reached, output information that finished |
-- reading contents |
finished <= '1'; |
end procedure ReadData; |
|
end tb_pack; |
---------- |
--! @file |
--! @brief This is a positive edge triggered D-flip flop. |
---------- |
LIBRARY ieee; |
USE ieee.std_logic_1164.all; |
USE ieee.std_logic_arith.all; |
|
ENTITY delay_gen IS |
generic (delay_width : integer); |
port (clk : in std_logic; --! Rising edge clock |
clr : in std_logic; --! Active high asynchronous reset |
delay_in : in std_logic_vector(delay_width-1 downto 0); --! Delay input port variable bit-width |
delay_out : out std_logic_vector(delay_width-1 downto 0)); --! Delay output port variable bit-width |
END ENTITY delay_gen; |
|
ARCHITECTURE behave OF delay_gen IS |
BEGIN |
process (clr, clk) |
begin |
if clr = '1' then |
delay_out <= (others => '0'); |
elsif rising_edge(clk) then |
delay_out <= delay_in; |
end if; |
end process; |
END ARCHITECTURE behave; |
|
---------- |
--! @file |
--! @brief This is a two input signed adder. |
--------- |
LIBRARY ieee; |
USE ieee.std_logic_1164.all; |
USE ieee.std_logic_signed.all; |
|
ENTITY adder_gen IS |
generic (add_width : natural); |
port (add_a_in : in std_logic_vector(add_width-1 downto 0); --! Two input adder element first input port with variable input bit-width |
add_b_in : in std_logic_vector(add_width-1 downto 0); --! Two input adder element second input port with variable input bit-width |
add_out : out std_logic_vector(add_width-1 downto 0));--! Two input adder element output port with variable input bit-width |
END ENTITY adder_gen; |
|
ARCHITECTURE behave OF adder_gen IS |
BEGIN |
add_out <= add_a_in + add_b_in; |
END ARCHITECTURE behave; |
|
+ FIR Digital Filter
+ |
+
fir_filter_stage_TF Member List
add_a_in | adder_gen | [Port] |
add_b_in | adder_gen | [Port] |
add_delay | struct | [Signal] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ADDER0 | struct | [Component Instantiation] |
adder_gen (defined in struct) | struct | [Component] |
ADDERs (defined in struct) | struct | [Component Instantiation] |
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
delay_add | struct | [Signal] |
delay_gen (defined in struct) | struct | [Component] |
delay_in | delay_gen | [Port] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
DELAYs (defined in struct) | struct | [Component Instantiation] |
fir_clk | fir_filter_stage_TF | [Port] |
fir_clr | fir_filter_stage_TF | [Port] |
fir_in | fir_filter_stage_TF | [Port] |
fir_out | fir_filter_stage_TF | [Port] |
fir_pkg (defined in fir_filter_stage_TF) | fir_filter_stage_TF | [Package] |
ieee | fir_filter_stage_TF | [Library] |
LastDELAY | struct | [Component Instantiation] |
MULTI | struct | [Component Instantiation] |
multi_add | struct | [Signal] |
multi_delay | struct | [Signal] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_gen (defined in struct) | struct | [Component] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
MULTIs (defined in struct) | struct | [Component Instantiation] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in fir_filter_stage_TF) | fir_filter_stage_TF | [Package] |
std_logic_arith (defined in fir_filter_stage_TF) | fir_filter_stage_TF | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
std_logic_unsigned (defined in fir_filter_stage_TF) | fir_filter_stage_TF | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
width_const | struct | [Constant] |
width_in | struct | [Constant] |
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/tabs.css =================================================================== --- gfir/trunk/vhdl/help/html/tabs.css (nonexistent) +++ gfir/trunk/vhdl/help/html/tabs.css (revision 4) @@ -0,0 +1,59 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} Index: gfir/trunk/vhdl/help/html/hierarchy.html =================================================================== --- gfir/trunk/vhdl/help/html/hierarchy.html (nonexistent) +++ gfir/trunk/vhdl/help/html/hierarchy.html (revision 4) @@ -0,0 +1,113 @@ + + + + +
+ FIR Digital Filter
+ |
+
Design Unit Hierarchy
-
+
- fir_filter_stage_DF + +
- fir_filter_stage_TF
-
+
- struct + +
+
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/class__tb__pack-members.html =================================================================== --- gfir/trunk/vhdl/help/html/class__tb__pack-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/class__tb__pack-members.html (revision 4) @@ -0,0 +1,86 @@ + + + + +
+ FIR Digital Filter
+ |
+
tb_pack Member List
ReadDatafilename, bpsdm_data, clk, finished (defined in tb_pack) | tb_pack | [Procedure] |
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/installdox =================================================================== --- gfir/trunk/vhdl/help/html/installdox (nonexistent) +++ gfir/trunk/vhdl/help/html/installdox (revision 4) @@ -0,0 +1,112 @@ +#!/usr/bin/perl + +%subst = ( ); +$quiet = 0; + +while ( @ARGV ) { + $_ = shift @ARGV; + if ( s/^-// ) { + if ( /^l(.*)/ ) { + $v = ($1 eq "") ? shift @ARGV : $1; + ($v =~ /\/$/) || ($v .= "/"); + $_ = $v; + if ( /(.+)\@(.+)/ ) { + if ( exists $subst{$1} ) { + $subst{$1} = $2; + } else { + print STDERR "Unknown tag file $1 given with option -l\n"; + &usage(); + } + } else { + print STDERR "Argument $_ is invalid for option -l\n"; + &usage(); + } + } + elsif ( /^q/ ) { + $quiet = 1; + } + elsif ( /^\?|^h/ ) { + &usage(); + } + else { + print STDERR "Illegal option -$_\n"; + &usage(); + } + } + else { + push (@files, $_ ); + } +} + +foreach $sub (keys %subst) +{ + if ( $subst{$sub} eq "" ) + { + print STDERR "No substitute given for tag file `$sub'\n"; + &usage(); + } + elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) + { + print "Substituting $subst{$sub} for each occurrence of tag file $sub\n"; + } +} + +if ( ! @files ) { + if (opendir(D,".")) { + foreach $file ( readdir(D) ) { + $match = ".html"; + next if ( $file =~ /^\.\.?$/ ); + ($file =~ /$match/) && (push @files, $file); + ($file =~ /\.svg/) && (push @files, $file); + ($file =~ "navtree.js") && (push @files, $file); + } + closedir(D); + } +} + +if ( ! @files ) { + print STDERR "Warning: No input files given and none found!\n"; +} + +foreach $f (@files) +{ + if ( ! $quiet ) { + print "Editing: $f...\n"; + } + $oldf = $f; + $f .= ".bak"; + unless (rename $oldf,$f) { + print STDERR "Error: cannot rename file $oldf\n"; + exit 1; + } + if (open(F,"<$f")) { + unless (open(G,">$oldf")) { + print STDERR "Error: opening file $oldf for writing\n"; + exit 1; + } + if ($oldf ne "tree.js") { + while (
+ FIR Digital Filter
+ |
+
behave Architecture Reference
+Signals | |
+tmp_multiplier_out | std_logic_vector ( ( multi_width_const+multi_width_in ) downto 0 ) |
+tmp_msb | std_logic |
The documentation for this class was generated from the following file:
-
+
- src/multiplier_gen.vhd +
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave-members.html (revision 4) @@ -0,0 +1,92 @@ + + + + +
+ FIR Digital Filter
+ |
+
behave Member List
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct.png =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct.png (revision 4)
+ FIR Digital Filter
+ |
+
tb_pack Package Reference
+Procedures | |
+ | ReadData( +constant filename: in string + signal bpsdm_data: out std_logic_vector + signal clk: in std_ulogic + signal finished: out std_ulogic + ) |
+Libraries | |
+IEEE | |
+Packages | |
+std_logic_1164 | |
+std_logic_arith | |
+textio |
The documentation for this class was generated from the following file:
-
+
- src/tb_pack.vhd +
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.html (revision 4) @@ -0,0 +1,166 @@ + + + + +
+ FIR Digital Filter
+ |
+
struct Architecture Reference
+Components | |
+multiplier_gen | <Entity multiplier_gen> |
+adder_gen | <Entity adder_gen> |
+delay_gen | <Entity delay_gen> |
+Constants | |
+width_in | natural := fir_in ' length |
Input bit-width. | |
+width_const | positive := quantization |
Quantization bit-width defined in the fir_pkg.vhd. | |
+Signals | |
+multi_add | std_logic_vector ( ( order-1 ) *width_out-1 downto 0 ) |
Internal signal holding multiplier's outputs and adder's inputs. | |
+add_delay | std_logic_vector ( ( order-2 ) *width_out-1 downto 0 ) |
Internal signal holding adder's outputs and delay's inputs. | |
+delay_add | std_logic_vector ( ( order-1 ) *width_out-1 downto 0 ) |
Internal signal holding delay's output and adder's inputs. | |
+multi_delay | std_logic_vector ( width_out-1 downto 0 ) |
internal signal for the left most multiplier since it is connected directly to delay | |
+Component Instantiations | |
+MULTI | multiplier_gen <Entity multiplier_gen> |
Generate the filter multipliers set. | |
+MULTIs | multiplier_gen <Entity multiplier_gen> |
+LastDELAY | delay_gen <Entity delay_gen> |
Generate the filter delays set. | |
+DELAYs | delay_gen <Entity delay_gen> |
+ADDER0 | adder_gen <Entity adder_gen> |
Generate the filter adders set. | |
+ADDERs | adder_gen <Entity adder_gen> |
The documentation for this class was generated from the following file:
-
+
- src/fir_filter_stage_TF.vhd +
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/class__fir__pkg-members.html =================================================================== --- gfir/trunk/vhdl/help/html/class__fir__pkg-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/class__fir__pkg-members.html (revision 4) @@ -0,0 +1,88 @@ + + + + +
+ FIR Digital Filter
+ |
+
fir_pkg Member List
binary_widthx (defined in fir_pkg) | fir_pkg | [Function] |
EOnM (defined in fir_pkg) | fir_pkg | [Function] |
EOpM (defined in fir_pkg) | fir_pkg | [Function] |
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classdelay__gen.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classdelay__gen.png =================================================================== --- gfir/trunk/vhdl/help/html/classdelay__gen.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classdelay__gen.png (revision 4)
+ FIR Digital Filter
+ |
+
+Architectures | |
behave | Architecture |
+Libraries | |
+ieee | |
+Packages | |
+std_logic_1164 | |
+std_logic_signed | |
+Generics | |
+add_width | natural |
+Ports | |
+add_a_in | in std_logic_vector ( add_width-1 downto 0 ) |
Two input adder element first input port with variable input bit-width. | |
+add_b_in | in std_logic_vector ( add_width-1 downto 0 ) |
Two input adder element second input port with variable input bit-width. | |
+add_out | out std_logic_vector ( add_width-1 downto 0 ) |
Two input adder element output port with variable input bit-width. |
The documentation for this class was generated from the following file:
-
+
- src/adder_gen.vhd +
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/fir__filter__stage_8vhd.html =================================================================== --- gfir/trunk/vhdl/help/html/fir__filter__stage_8vhd.html (nonexistent) +++ gfir/trunk/vhdl/help/html/fir__filter__stage_8vhd.html (revision 4) @@ -0,0 +1,96 @@ + + + + + +
src/fir_filter_stage.vhd File Reference
+This is the top-level design for a transposed-form FIR digital filter.
+ It instantiate the three major components for constructing a digital filter such as;
+ adder (adder_gen), multiplier (multiplier_gen), and delay (delay_gen).
+ The top-level is a structural description in a generic/scalable form.
+ The filter coefficients and the quantization bit width should be edited/pasted
+ into the fir_pkg.vhd. The filter coefficients should be given in integer format.
+ Design specs:
+ Unsigned single/multi-bit input (fir_in)
+ Signed multi-bit output (fir_out)
+ Active high asynchronous reset (fir_clr)
+ Rising edge clock (fir_clk)
+.
+More...
Architectures | |
fir_filter_stage | Entity |
struct | Architecture |
Detailed Description
+This is the top-level design for a transposed-form FIR digital filter.
+ It instantiate the three major components for constructing a digital filter such as;
+ adder (adder_gen), multiplier (multiplier_gen), and delay (delay_gen).
+ The top-level is a structural description in a generic/scalable form.
+ The filter coefficients and the quantization bit width should be edited/pasted
+ into the fir_pkg.vhd. The filter coefficients should be given in integer format.
+ Design specs:
+ Unsigned single/multi-bit input (fir_in)
+ Signed multi-bit output (fir_out)
+ Active high asynchronous reset (fir_clr)
+ Rising edge clock (fir_clk)
+.
Generated on Mon Apr 9 16:26:39 2012 for FIR Digital Filter by + + 1.6.3 + + Index: gfir/trunk/vhdl/help/html/adder__gen_8vhd.html =================================================================== --- gfir/trunk/vhdl/help/html/adder__gen_8vhd.html (nonexistent) +++ gfir/trunk/vhdl/help/html/adder__gen_8vhd.html (revision 4) @@ -0,0 +1,94 @@ + + + + +
+ FIR Digital Filter
+ |
+
src/adder_gen.vhd File Reference
This is a two input signed adder. +More...
++Architectures | |
adder_gen | Entity |
behave | Architecture |
Detailed Description
+This is a two input signed adder.
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__DF_1_1struct-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__DF_1_1struct-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__DF_1_1struct-members.html (revision 4) @@ -0,0 +1,135 @@ + + + + +
+ FIR Digital Filter
+ |
+
struct Member List
add_a_in | adder_gen | [Port] |
add_add | struct | [Signal] |
add_b_in | adder_gen | [Port] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ADDER0 | struct | [Component Instantiation] |
adder_gen (defined in struct) | struct | [Component] |
ADDERs (defined in struct) | struct | [Component Instantiation] |
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
coeff | struct | [Constant] |
delay_gen (defined in struct) | struct | [Component] |
delay_in | delay_gen | [Port] |
delay_multi | struct | [Signal] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
DELAYs (defined in struct) | struct | [Component Instantiation] |
FirstDELAY | struct | [Component Instantiation] |
ieee (defined in multiplier_gen) | multiplier_gen | [Library] |
ieee (defined in delay_gen) | delay_gen | [Library] |
ieee (defined in adder_gen) | adder_gen | [Library] |
MULTI | struct | [Component Instantiation] |
multi_add | struct | [Signal] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_gen (defined in struct) | struct | [Component] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
MULTIs (defined in struct) | struct | [Component Instantiation] |
order | struct | [Constant] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_1164 (defined in delay_gen) | delay_gen | [Package] |
std_logic_1164 (defined in adder_gen) | adder_gen | [Package] |
std_logic_arith (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_arith (defined in delay_gen) | delay_gen | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
width_const | struct | [Constant] |
width_in | struct | [Constant] |
width_out | struct | [Constant] |
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/search/files_74.html =================================================================== --- gfir/trunk/vhdl/help/html/search/files_74.html (nonexistent) +++ gfir/trunk/vhdl/help/html/search/files_74.html (revision 4) @@ -0,0 +1,25 @@ + +
+ FIR Digital Filter
+ |
+
fir_pkg Package Reference
+Functions | |
+natural | binary_width ( x: in natural ) |
+natural | EOp ( M: in positive ) |
+natural | EOn ( M: in positive ) |
+Libraries | |
+ieee | |
+Packages | |
+std_logic_1164 | |
+std_logic_arith | |
+Constants | |
+coeff | int_vector := ( -51 , 25 , 128 , 77 , -203 , -372 , 70 , 1122 , 2047 , 2047 , 1122 , 70 , -372 , -203 , 77 , 128 , 25 , -51 ) |
Filter coefficients defined in the fir_pkg.vhd. | |
+quantization | positive := 12 |
Filter quantization bit-width. | |
+order | natural := coeff ' length |
+width_out | natural := 15 |
+Types | |
+int_vector | array ( natural range<> ) of integer |
+Signals | |
+g_multi_add | std_logic_vector ( ( order-1 ) *width_out-1 downto 0 ) |
+g_add_delay | std_logic_vector ( ( order-2 ) *width_out-1 downto 0 ) |
+g_delay_add | std_logic_vector ( ( order-1 ) *width_out-1 downto 0 ) |
+g_multi_delay | std_logic_vector ( width_out-1 downto 0 ) |
The documentation for this class was generated from the following file:
-
+
- src/fir_pkg.vhd +
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave-members.html (revision 4) @@ -0,0 +1,93 @@ + + + + +
+ FIR Digital Filter
+ |
+
behave Member List
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/functions.html =================================================================== --- gfir/trunk/vhdl/help/html/functions.html (nonexistent) +++ gfir/trunk/vhdl/help/html/functions.html (revision 4) @@ -0,0 +1,239 @@ + + + + +
+ FIR Digital Filter
+ |
+
- a -
-
+
- add_a_in +: adder_gen + +
- add_add +: struct + +
- add_b_in +: adder_gen + +
- add_delay +: struct + +
- add_out +: adder_gen + +
- ADDER0 +: struct + +
- c -
+ + +- d -
-
+
- delay_add +: struct + +
- delay_in +: delay_gen + +
- delay_multi +: struct + +
- delay_out +: delay_gen + +
- f -
-
+
- fir_clk +: fir_filter_stage_DF +, fir_filter_stage_TF + +
- fir_clr +: fir_filter_stage_TF +, fir_filter_stage_DF + +
- fir_in +: fir_filter_stage_DF +, fir_filter_stage_TF + +
- fir_out +: fir_filter_stage_TF +, fir_filter_stage_DF + +
- FirstDELAY +: struct + +
- i -
-
+
- ieee +: fir_filter_stage_DF +, fir_filter_stage_TF + +
- l -
-
+
- LastDELAY +: struct + +
- m -
-
+
- MULTI +: struct + +
- multi_add +: struct + +
- multi_delay +: struct + +
- multiplier_const +: multiplier_gen + +
- multiplier_in +: multiplier_gen + +
- multiplier_out +: multiplier_gen + +
- o -
-
+
- order +: struct + +
- q -
-
+
- quantization +: fir_pkg + +
- w -
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/firDF.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/firDF.png =================================================================== --- gfir/trunk/vhdl/help/html/firDF.png (nonexistent) +++ gfir/trunk/vhdl/help/html/firDF.png (revision 4)
+ FIR Digital Filter
+ |
+
Class List
package body | fir_pkg | |
package body | tb_pack | |
entity | adder_gen | |
architecture | behave | |
architecture | behave | |
architecture | behave | |
entity | delay_gen | |
entity | fir_filter_stage_DF | |
entity | fir_filter_stage_TF | |
package | fir_pkg | |
entity | multiplier_gen | |
architecture | struct | |
architecture | struct | |
package | tb_pack |
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/delay__gen_8vhd.html =================================================================== --- gfir/trunk/vhdl/help/html/delay__gen_8vhd.html (nonexistent) +++ gfir/trunk/vhdl/help/html/delay__gen_8vhd.html (revision 4) @@ -0,0 +1,94 @@ + + + + +
+ FIR Digital Filter
+ |
+
src/delay_gen.vhd File Reference
This is a positive edge triggered D-flip flop. +More...
++Architectures | |
delay_gen | Entity |
behave | Architecture |
Detailed Description
+This is a positive edge triggered D-flip flop.
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classtb__pack-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classtb__pack-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classtb__pack-members.html (revision 4) @@ -0,0 +1,90 @@ + + + + +
+ FIR Digital Filter
+ |
+
tb_pack Member List
IEEE (defined in tb_pack) | tb_pack | [Library] |
ReadDatafilename, bpsdm_data, clk, finished (defined in tb_pack) | tb_pack | [Procedure] |
std_logic_1164 (defined in tb_pack) | tb_pack | [Package] |
std_logic_arith (defined in tb_pack) | tb_pack | [Package] |
textio (defined in tb_pack) | tb_pack | [Package] |
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct-members.html (revision 4) @@ -0,0 +1,133 @@ + + + + +
+ FIR Digital Filter
+ |
+
struct Member List
add_a_in | adder_gen | [Port] |
add_b_in | adder_gen | [Port] |
add_delay | struct | [Signal] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ADDER0 | struct | [Component Instantiation] |
adder_gen (defined in struct) | struct | [Component] |
ADDERs (defined in struct) | struct | [Component Instantiation] |
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
delay_add | struct | [Signal] |
delay_gen (defined in struct) | struct | [Component] |
delay_in | delay_gen | [Port] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
DELAYs (defined in struct) | struct | [Component Instantiation] |
ieee (defined in multiplier_gen) | multiplier_gen | [Library] |
ieee (defined in delay_gen) | delay_gen | [Library] |
ieee (defined in adder_gen) | adder_gen | [Library] |
LastDELAY | struct | [Component Instantiation] |
MULTI | struct | [Component Instantiation] |
multi_add | struct | [Signal] |
multi_delay | struct | [Signal] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_gen (defined in struct) | struct | [Component] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
MULTIs (defined in struct) | struct | [Component Instantiation] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_1164 (defined in delay_gen) | delay_gen | [Package] |
std_logic_1164 (defined in adder_gen) | adder_gen | [Package] |
std_logic_arith (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_arith (defined in delay_gen) | delay_gen | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
width_const | struct | [Constant] |
width_in | struct | [Constant] |
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classmultiplier__gen.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classmultiplier__gen.png =================================================================== --- gfir/trunk/vhdl/help/html/classmultiplier__gen.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classmultiplier__gen.png (revision 4)
+ FIR Digital Filter
+ |
+
adder_gen Member List
add_a_in | adder_gen | [Port] |
add_b_in | adder_gen | [Port] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ieee (defined in adder_gen) | adder_gen | [Library] |
std_logic_1164 (defined in adder_gen) | adder_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/tab_a.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/tab_a.png =================================================================== --- gfir/trunk/vhdl/help/html/tab_a.png (nonexistent) +++ gfir/trunk/vhdl/help/html/tab_a.png (revision 4)
fir_filter_stage Entity Reference
Architectures | |
struct | Architecture |
Libraries | |
ieee | |
Packages | |
+std_logic_1164 | |
+std_logic_arith | |
+std_logic_unsigned | |
+fir_pkg | Package <fir_pkg> |
Ports | |
+fir_clk | in std_logic |
Rising edge clock. | |
+fir_clr | in std_logic |
Active high asynchronous reset. | |
+fir_in | in std_logic_vector ( 0 downto 0 ) |
Unsigned single/multi-bit input. | |
+fir_out | out std_logic_vector ( 14 downto 0 ) |
Signed multi-bit output. |
Member Data Documentation
+ +ieee library [Library] |
+
The documentation for this class was generated from the following file:
-
+
- src/fir_filter_stage.vhd +
Generated on Mon Apr 9 16:26:40 2012 for FIR Digital Filter by + + 1.6.3 + + Index: gfir/trunk/vhdl/help/html/firTF.eps =================================================================== --- gfir/trunk/vhdl/help/html/firTF.eps (nonexistent) +++ gfir/trunk/vhdl/help/html/firTF.eps (revision 4) @@ -0,0 +1,495 @@ +%!PS-Adobe-2.0 EPSF-2.0 +%%BoundingBox: 107 364 560 653 +%%HiResBoundingBox: 107.500000 364.000000 559.500000 652.500000 +%......................................... +%%Creator: GPL Ghostscript 871 (pswrite) +%%CreationDate: 2012/04/09 16:04:20 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +% EPSF created by ps2eps 1.64 +%%BeginProlog +save +countdictstack +mark +newpath +/showpage {} def +/setpagedevice {pop} def +%%EndProlog +%%Page 1 1 +%%BeginProlog +% This copyright applies to everything between here and the %%EndProlog: +% Copyright (C) 2010 Artifex Software, Inc. All rights reserved. +%%BeginResource: procset GS_pswrite_2_0_1001 1.001 0 +/GS_pswrite_2_0_1001 80 dict dup begin +/PageSize 2 array def/setpagesize{ PageSize aload pop 3 index eq exch +4 index eq and{ pop pop pop}{ PageSize dup 1 +5 -1 roll put 0 4 -1 roll put dup null eq {false} {dup where} ifelse{ exch get exec} +{ pop/setpagedevice where +{ pop 1 dict dup /PageSize PageSize put setpagedevice} +{ /setpage where{ pop PageSize aload pop pageparams 3 {exch pop} repeat +setpage}if}ifelse}ifelse}ifelse} bind def +/!{bind def}bind def/#{load def}!/N/counttomark # +/rG{3{3 -1 roll 255 div}repeat setrgbcolor}!/G{255 div setgray}!/K{0 G}! +/r6{dup 3 -1 roll rG}!/r5{dup 3 1 roll rG}!/r3{dup rG}! +/w/setlinewidth #/J/setlinecap # +/j/setlinejoin #/M/setmiterlimit #/d/setdash #/i/setflat # +/m/moveto #/l/lineto #/c/rcurveto # +/p{N 2 idiv{N -2 roll rlineto}repeat}! +/P{N 0 gt{N -2 roll moveto p}if}! +/h{p closepath}!/H{P closepath}! +/lx{0 rlineto}!/ly{0 exch rlineto}!/v{0 0 6 2 roll c}!/y{2 copy c}! +/re{4 -2 roll m exch dup lx exch ly neg lx h}! +/^{3 index neg 3 index neg}! +/f{P fill}!/f*{P eofill}!/s{H stroke}!/S{P stroke}! +/q/gsave #/Q/grestore #/rf{re fill}! +/Y{P clip newpath}!/Y*{P eoclip newpath}!/rY{re Y}! +/|={pop exch 4 1 roll 1 array astore cvx 3 array astore cvx exch 1 index def exec}! +/|{exch string readstring |=}! +/+{dup type/nametype eq{2 index 7 add -3 bitshift 2 index mul}if}! +/@/currentfile #/${+ @ |}! +/B{{2 copy string{readstring pop}aload pop 4 array astore cvx +3 1 roll}repeat pop pop true}! +/Ix{[1 0 0 1 11 -2 roll exch neg exch neg]exch}! +/,{true exch Ix imagemask}!/If{false exch Ix imagemask}!/I{exch Ix image}! +/Ic{exch Ix false 3 colorimage}! +/F{/Columns counttomark 3 add -2 roll/Rows exch/K -1/BlackIs1 true>> +/CCITTFaxDecode filter}!/FX{< +, +1113 6437 14 86 /4F +$X ++8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y ++8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y ++8d5Yzzzzzz+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y+8d5Y~> +, +1139 6437 37 64 /1J +$C +0Gjchs8W-!s8W-!s8W-!qu?-`rU4;=(f)2@+7Hs_rVLpLL(luY~> +, +1171 6413 71 8 /4J +$C +,D"tVp]~> +, +1246 6437 4F , +1273 6437 54 64 /1N +$C +0GK'As8W-!s8W-!s8W-!s8W-!s8W-!^]3\Nm^B`5Y0t3mLc@(]a4fp(]3I52$\f!9:p9~> +, +5211 5332 1F , +5253 5332 4F , +5279 5332 1J , +5311 5308 4J , +5378 5331 65 65 /4N +$C ++CX>uBS$^*F;uFfe#,S>S"N%&"<5h:6+oF":J&=cl[&I.ot#YQs8W-!qcC!$qchY'p
."bh:r7hg+CX1~> +, +5453 5331 53 63 /1R +$C +.Din4+V6ru#H+Jmo_%8^S'W9fT]dc[St06fTE"Zcs8W-!s8W-!s8W-!s8W-!s8VQ~> +, +5512 5331 35 85 /4R +$C ++Mtr!TljQ+, +255 0 r3 +5095 5717 87 64 /1V +$C +0GK]X8VI-Ds8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!^]2(GrBJm%^:'Kt2;C(,#_EQ7_[=56 +aFf@Z]D\V=9m2.o1tQ.?\1iO=&7C'@J,~> +, +5194 5716 1R , +5262 5717 13 86 /4V +$X +5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ< +5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ< +5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<5PRJ<~> +, +5280 5716 4R , +5322 5717 4F , +5340 5693 4J , +5407 5716 65 65 /1Z +$C ++Tog$cuf[$*DgMW3iC>?:9k7uoEZ;t+SlW&V#Bras53k6GMg-PnG=B%7`ZFqA2@r*%9]o`NZK5P +-3:8<""Hoq7"U.>9J?B[\Y*=(p:n*(0")\b-"Ii^a(j/*:r7r$(fCPK~> +, +5474 5716 61 87 /4Z +$C ++@.;U0PD"?n:ST(H?slU+N3ITH4GOKSt.7c[ +, +5541 5716 4Z , +53 94 0 rG +4256 4971 4Z , +4324 4971 65 65 /2D +$C +,=1CX2hW.ni ^Hhao4-3s&I,kRfDj-6Ag*hpA\EBhqD0*Q*o=H +f4e>q.g?AjX]hs&WsTbt"X?<@~> +, +4399 4972 4V , +4417 4971 1Z , +4484 4947 62 87 /5D +$C ++c-=C*r!A:e'BranD4&XDqk9KqtmRprBImi+U Q$)@Y.*:oDnR[iqH)Q[DnR[i +qH)SHYJ"j]H<8t;YJ"j]HIr~> +, +4544 4948 4J , +4612 4971 1Z , +4678 4971 4Z , +4745 4971 4Z , +40 0 153 rG +3612 5151 1Z , +3679 5151 4Z , +3747 5151 4Z , +3814 5128 4J , +3880 5151 4Z , +3947 5151 2D , +4022 5152 4V , +4041 5151 1Z , +4108 5127 5D , +50 G +4855 6250 48 54 /2H +$C +-,RJ#Je!Edl-l@;mXYI^'7+t!l0@-?dVo/PM%BXds8VtGP&$dB[t!,dY-ucr>A71n>8:o&0WdWm +K*;~> +, +4906 6250 51 54 /5H +$C +-,Ro76m-H$V[,>*6QYG&2hW69FIUb-Du+e:TDu%Bs8W-!s8B"Ms0]OWIr-d>[&p0Z'!PcP.b$/S +6OFZ.>V#~> +, +4961 6250 50 54 /2L +$C ++Mu9?cNG6n$.*eXK?_b.oFPq8dX>CKdqeDNqN'8.j;#phr^6hdn*,=Mdbenf +, +5016 6251 30 73 /5L +$C +1DBfgs8W-!s8W-!s8W-!s8V001B7CMR%OEYqtmV7=T,^QE+)!~> +, +5042 6251 5L , +5070 6231 25 92 /2P +$C +4;n1u6pL_Os8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8Vm'k.gl~> +, +5098 6250 50 73 /5P +$C +-,RJ#KH)-!e#,SIh#n\6%nXGt-N?ZPl+6oH +, +5153 6231 20 92 /2T +$C +,DL^J-klX\s8W-!s8W-!s8W-!s8W-!s!*8Jrr~> +, +3778 6250 2H , +3829 6250 5H , +3884 6250 2L , +3939 6251 5L , +3966 6251 5L , +3993 6231 2P , +4029 6251 28 72 /5T +$C +,6\&Hs8W-!s8W-!s3(<^Hp/X"55+L&(u.3.GB\7ZhZ~> +, +4076 6231 2T , +2701 6250 2H , +2752 6250 5H , +2807 6250 2L , +2862 6251 5L , +2888 6251 5L , +2916 6231 2P , +2944 6251 49 72 /2X +$C +/dhWn]S.#IgYKJbpMSg!Fre)1h7Ijt_fd'4GIMJG]6C`4hVZ'A-aR93s6[!om^l*Fm4/Sk@>2[( +L9)e36OHJ?J,~> +, +2999 6231 2T , +1435 4018 105 129 @C +, ++J?dTs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s-No+>Q=a'^]~> +1553 4018 79 129 @C +, +0FO&j?iU0+s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N&uqt9j_gAcWRqb%BA\8/=7$n_r$a/jmQ +Y5PNTCPKG/L:CZ2_/Nem/e?#&s8W-!s8W-!s8W,7~> +1645 4016 92 97 @C +, +-"+BD##pE`PT\oi#WP,eF<*Dal-TpX3ZqimTKr.=_@=q>$,&JKqpKCg-NC!Gl26-B9X+'e +1795 4018 55 131 /6F +$C +3eID3s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!ni/CSs8W,^:ga8&s8W,VqmX8snf"\1hnB!U +LN)249HF~> +, +1852 4018 19 129 /3J +$C +0FRp\s8W-!s8W-!s8W-!s8W-!s8W-!s,hlIs89Ycs8W-!J,~> +, +1892 4018 18 129 /6J +$C +/dq^Zs8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8RT~> +, +1924 4017 48 127 /3N +$C ++@,M!'EneD[BHFms2\j`'eOi`s8W-!s8W-!s8W-!s8W-!s8W-!s8SDp^]4?6r9+Ogs8W-!s8W,u +*Zjh?pP4O:~> +, +1974 4016 92 97 @C +, +-"+BD##pE`PT\oi#WP,eF<*Dal-TpX3ZqimTKr.=_@=q>$,&JKqpKCg-NC!Gl26-B9X+'e +2081 4018 53 95 /6N +$C +0FRp\s8W-!s8W-!s8W-!s8W-!s8W,fs8N&qs*OY"p/C`p4;]\5K9#j+n,D3nrqG:Y0#EEPTZDo~> +, +2184 4016 87 97 @C +, +,s_#N"lOsJ",%XA6,I^a3csW6%&:BVTg"&;cp>;lU`6,dSsAR*qRo%1^:O/ZrHa1N1ZSEes8W-! +s8R$;rP/.3*omsj%r$LHrn:TM[n>P4Q*@km_[Bkh +2274 4016 92 97 @C +, +,sdA&!t[`UK7j^GE1I4?cueO$U)@Wd5e+j##4R8nDLr>^kr5L(5IsXgXm,jW^Zkc&rh'5hI5h3+ +s8W-!s8Qj,s8Qm3fCltfQhInjXjZ*D/ZlCg[MVWj=CE]g( K)6OM +2381 4018 79 95 /3V +$C +0FO&j?iU0+s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N&uqt9jdm4J9\m<4d6m;TpE0Y%E.(a\50 +GO9Rc?*;cf0%ULa$ku!ZP)sn~> +, +2473 4016 82 97 /6V +$C +,+uT"L0ToO3'k@_V[, CT:] +^=Z(oD(HMUO=hHVlIDq9TrSM;:r7hg#"'g_'*[:~> +, +2563 4017 3N , +2621 4018 6N , +2681 4016 78 95 /3Z +$C +-35A72hD6K#7*F7n:T3,H4NeI]la&YUV-^dK2`uW+S6_HK;ANC]k[S^f>%@bs8W-!s8W-!s8W-! +s8W-!s8W-!s8W-!s8W-!s53~> +, +2773 4016 87 97 @C +, +,s_#N"lOsJ",%XA6,I^a3csW6%&:BVTg"&;cp>;lU`6,dSsAR*qRo%1^:O/ZrHa1N1ZSEes8W-! +s8R$;rP/.3*omsj%r$LHrn:TM[n>P4Q*@km_[Bkh +2863 4017 3N , +2921 4018 3J , +2953 4016 92 97 @C +, +,sdA&!t[`UK7j^GE1I4?cueO$U)@Wd5e+j##4R8nDLr>^kr5L(5IsXgXm,jW^Zkc&rh'5hI5h3+ +s8W-!s8Qj,s8Qm3fCltfQhInjXjZ*D/ZlCg[MVWj=CE]g( K)6OM +3061 4018 3V , +3203 3980 87 133 @C +, +,/CjN#%S9)+E2sd* /+2_bl7""7(B:0XeEof##<4"r7UZ)\'lu,Q~> +3302 4016 92 97 @C +, +,sdA&!t[`UK7j^GE1I4?cueO$U)@Wd5e+j##4R8nDLr>^kr5L(5IsXgXm,jW^Zkc&rh'5hI5h3+ +s8W-!s8Qj,s8Qm3fCltfQhInjXjZ*D/ZlCg[MVWj=CE]g( K)6OM +3402 4016 92 97 @C +, +-"+BD##pE`PT\oi#WP,eF<*Dal-TpX3ZqimTKr.=_@=q>$,&JKqpKCg-NC!Gl26-B9X+'e +3501 4016 6V , +3641 4018 6F , +3699 4018 6N , +3751 4016 92 97 @C +, +,sdA&!t[`UK7j^GE1I4?cueO$U)@Wd5e+j##4R8nDLr>^kr5L(5IsXgXm,jW^Zkc&rh'5hI5h3+ +s8W-!s8Qj,s8Qm3fCltfQhInjXjZ*D/ZlCg[MVWj=CE]g( K)6OM +3859 4018 129 95 @C +, +0FO%o>a, VLd +4059 4018 6N , +4119 4018 3J , +4151 3980 87 133 @C +, +,/CjN#%S9)+E2sd* /+2_bl7""7(B:0XeEof##<4"r7UZ)\'lu,Q~> +4258 4018 79 129 @C +, +0FO&j?iU0+s8W-!s8W-!s8W-!s8W-!s8W-!s8W-!s8N&uqt9j_gAcWRqb%BA\8/=7$n_r$a/jmQ +Y5PNTCPKG/L:CZ2_/Nem/e?#&s8W-!s8W-!s8W,7~> +4350 4017 3N , +4451 4017 3N , +4501 4016 92 97 @C +, +,sdA&!t[`UK7j^GE1I4?cueO$U)@Wd5e+j##4R8nDLr>^kr5L(5IsXgXm,jW^Zkc&rh'5hI5h3+ +s8W-!s8Qj,s8Qm3fCltfQhInjXjZ*D/ZlCg[MVWj=CE]g( K)6OM +4658 4018 6J , +4690 4016 92 97 @C +, +-"+BD##pE`PT\oi#WP,eF<*Dal-TpX3ZqimTKr.=_@=q>$,&JKqpKCg-NC!Gl26-B9X+'e +4789 4018 6F , +4840 4017 3N , +K +3703 3677 -977 0 S +2623 3677 128 -43 0 85 -128 -42 f* +cleartomark end end pagesave restore + showpage +%%PageTrailer +%%Trailer +%%Pages: 1 +%%Trailer +cleartomark +countdictstack +exch sub { end } repeat +restore +%%EOF Index: gfir/trunk/vhdl/help/html/tab_h.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/tab_h.png =================================================================== --- gfir/trunk/vhdl/help/html/tab_h.png (nonexistent) +++ gfir/trunk/vhdl/help/html/tab_h.png (revision 4)
+ FIR Digital Filter
+ |
+
fir_pkg Member List
binary_widthx (defined in fir_pkg) | fir_pkg | [Function] |
coeff | fir_pkg | [Constant] |
EOnM (defined in fir_pkg) | fir_pkg | [Function] |
EOpM (defined in fir_pkg) | fir_pkg | [Function] |
g_add_delay (defined in fir_pkg) | fir_pkg | [Signal] |
g_delay_add (defined in fir_pkg) | fir_pkg | [Signal] |
g_multi_add (defined in fir_pkg) | fir_pkg | [Signal] |
g_multi_delay (defined in fir_pkg) | fir_pkg | [Signal] |
ieee (defined in fir_pkg) | fir_pkg | [Library] |
int_vector (defined in fir_pkg) | fir_pkg | [Type] |
order (defined in fir_pkg) | fir_pkg | [Constant] |
quantization | fir_pkg | [Constant] |
std_logic_1164 (defined in fir_pkg) | fir_pkg | [Package] |
std_logic_arith (defined in fir_pkg) | fir_pkg | [Package] |
width_out (defined in fir_pkg) | fir_pkg | [Constant] |
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__TF.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__TF.png =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__TF.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__TF.png (revision 4)
+ FIR Digital Filter
+ |
+
src/fir_filter_stage_DF.vhd File Reference
This is the top-level design for a direct-form FIR digital filter.
+.
+More...
+Architectures | |
fir_filter_stage_DF | Entity |
struct | Architecture |
Detailed Description
+This is the top-level design for a direct-form FIR digital filter.
+.
It instantiate the three major components for constructing a digital filter such as;
+ adder (adder_gen), multiplier (multiplier_gen), and delay (delay_gen).
+ The top-level is a structural description in a generic/scalable form.
+ The filter coefficients and the quantization bit width should be edited/pasted
+ into the fir_pkg.vhd. The filter coefficients should be given in integer format.
+ Design specs:
+ Unsigned single/multi-bit input (fir_in)
+ Signed multi-bit output (fir_out)
+ Active high asynchronous reset (fir_clr)
+ Rising edge clock (fir_clk)
+
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/tab_b.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/tab_b.gif =================================================================== --- gfir/trunk/vhdl/help/html/tab_b.gif (nonexistent) +++ gfir/trunk/vhdl/help/html/tab_b.gif (revision 4)
+ FIR Digital Filter
+ |
+
src/fir_pkg.vhd File Reference
This is the supporting package. "JUST EDIT THIS FILE". +More...
++Architectures | |
fir_pkg | Package |
fir_pkg | Package Body |
Detailed Description
+This is the supporting package. "JUST EDIT THIS FILE".
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.png =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__TF_1_1struct.png (revision 4)
+ FIR Digital Filter
+ |
+
+Architectures | |
behave | Architecture |
+Libraries | |
+ieee | |
+Packages | |
+std_logic_1164 | |
+std_logic_arith | |
+Generics | |
+delay_width | integer |
+Ports | |
+clk | in std_logic |
Rising edge clock. | |
+clr | in std_logic |
Active high asynchronous reset. | |
+delay_in | in std_logic_vector ( delay_width-1 downto 0 ) |
Delay input port variable bit-width. | |
+delay_out | out std_logic_vector ( delay_width-1 downto 0 ) |
Delay output port variable bit-width. |
The documentation for this class was generated from the following file:
-
+
- src/delay_gen.vhd +
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classadder__gen.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classadder__gen.png =================================================================== --- gfir/trunk/vhdl/help/html/classadder__gen.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classadder__gen.png (revision 4)
fir_filter_stage Member List
This is the complete list of members for fir_filter_stage, including all inherited members.add_a_in | adder_gen | [Port] |
add_b_in | adder_gen | [Port] |
add_delay | struct | [Signal] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ADDER0 (defined in struct) | struct | [Component Instantiation] |
adder_gen (defined in struct) | struct | [Component] |
ADDERs (defined in struct) | struct | [Component Instantiation] |
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
coeff | struct | [Constant] |
delay_add | struct | [Signal] |
delay_gen (defined in struct) | struct | [Component] |
delay_in | delay_gen | [Port] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
DELAYs (defined in struct) | struct | [Component Instantiation] |
fir_clk | fir_filter_stage | [Port] |
fir_clr | fir_filter_stage | [Port] |
fir_in | fir_filter_stage | [Port] |
fir_out | fir_filter_stage | [Port] |
fir_pkg (defined in fir_filter_stage) | fir_filter_stage | [Package] |
ieee | fir_filter_stage | [Library] |
LastDELAY | struct | [Component Instantiation] |
MULTI | struct | [Component Instantiation] |
multi_add | struct | [Signal] |
multi_delay | struct | [Signal] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_gen (defined in struct) | struct | [Component] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
MULTIs (defined in struct) | struct | [Component Instantiation] |
order | struct | [Constant] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in fir_filter_stage) | fir_filter_stage | [Package] |
std_logic_arith (defined in fir_filter_stage) | fir_filter_stage | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
std_logic_unsigned (defined in fir_filter_stage) | fir_filter_stage | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
width_const | struct | [Constant] |
width_in | struct | [Constant] |
width_out | struct | [Constant] |
Generated on Mon Apr 9 16:26:40 2012 for FIR Digital Filter by + + 1.6.3 + + Index: gfir/trunk/vhdl/help/html/fir__filter__stage__TF_8vhd.html =================================================================== --- gfir/trunk/vhdl/help/html/fir__filter__stage__TF_8vhd.html (nonexistent) +++ gfir/trunk/vhdl/help/html/fir__filter__stage__TF_8vhd.html (revision 4) @@ -0,0 +1,107 @@ + + + + +
+ FIR Digital Filter
+ |
+
src/fir_filter_stage_TF.vhd File Reference
This is the top-level design for a transposed-form FIR digital filter.
+.
+More...
+Architectures | |
fir_filter_stage_TF | Entity |
struct | Architecture |
Detailed Description
+This is the top-level design for a transposed-form FIR digital filter.
+.
It instantiate the three major components for constructing a digital filter such as;
+ adder (adder_gen), multiplier (multiplier_gen), and delay (delay_gen).
+ The top-level is a structural description in a generic/scalable form.
+ The filter coefficients and the quantization bit width should be edited/pasted
+ into the fir_pkg.vhd. The filter coefficients should be given in integer format.
+ Design specs:
+ Unsigned single/multi-bit input (fir_in)
+ Signed multi-bit output (fir_out)
+ Active high asynchronous reset (fir_clr)
+ Rising edge clock (fir_clk)
+
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.png =================================================================== --- gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.png (revision 4)
struct Architecture Reference
Components | |
+multiplier_gen | <Entity multiplier_gen> |
+adder_gen | <Entity adder_gen> |
+delay_gen | <Entity delay_gen> |
Constants | |
+coeff | int_vector := fir_coeff_thirdstage |
Filter coefficients defined in the fir_pkg.vhd. | |
+width_in | natural := fir_in ' length |
Input bit-width. | |
+width_out | natural := fir_out ' length |
Output bit-width. | |
+width_const | positive := quantization |
Quantization bit-width defined in the fir_pkg.vhd. | |
+order | natural := coeff ' length |
Filter length. | |
Signals | |
+multi_add | std_logic_vector ( ( order -1 ) *width_out -1 downto 0 ) |
Internal signal holding multiplier's outputs and adder's inputs. | |
+add_delay | std_logic_vector ( ( order -2 ) *width_out -1 downto 0 ) |
Internal signal holding adder's outputs and delay's inputs. | |
+delay_add | std_logic_vector ( ( order -1 ) *width_out -1 downto 0 ) |
Internal signal holding delay's output and adder's inputs. | |
+multi_delay | std_logic_vector ( width_out -1 downto 0 ) |
internal signal for the left most multiplier since it is connected directly to delay | |
Component Instantiations | |
+MULTI | multiplier_gen <Entity multiplier_gen> |
Generate the filter multipliers set. | |
+MULTIs | multiplier_gen <Entity multiplier_gen> |
+LastDELAY | delay_gen <Entity delay_gen> |
Generate the filter delay set. | |
+DELAYs | delay_gen <Entity delay_gen> |
+ADDER0 | adder_gen <Entity adder_gen> |
+ADDERs | adder_gen <Entity adder_gen> |
The documentation for this class was generated from the following file:
-
+
- src/fir_filter_stage.vhd +
Generated on Mon Apr 9 16:26:40 2012 for FIR Digital Filter by + + 1.6.3 + + Index: gfir/trunk/vhdl/help/html/classmultiplier__gen.html =================================================================== --- gfir/trunk/vhdl/help/html/classmultiplier__gen.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classmultiplier__gen.html (revision 4) @@ -0,0 +1,143 @@ + + + + +
+ FIR Digital Filter
+ |
+
+Architectures | |
behave | Architecture |
+Libraries | |
+ieee | |
+Packages | |
+std_logic_1164 | |
+std_logic_signed | |
+std_logic_arith | |
+Generics | |
+multi_width_const | natural |
+multi_width_in | natural |
+Ports | |
+multiplier_const | in std_logic_vector ( multi_width_const-1 downto 0 ) |
Constant multiplier hardwired to the filter coefficient. | |
+multiplier_in | in std_logic_vector ( multi_width_in-1 downto 0 ) |
Constant multiplier input port with variable bit-width. | |
+multiplier_out | out std_logic_vector ( ( multi_width_const+multi_width_in ) +1 downto 0 ) |
Constant multiplier output port. |
The documentation for this class was generated from the following file:
-
+
- src/multiplier_gen.vhd +
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classdelay__gen-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classdelay__gen-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classdelay__gen-members.html (revision 4) @@ -0,0 +1,94 @@ + + + + +
+ FIR Digital Filter
+ |
+
delay_gen Member List
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
delay_in | delay_gen | [Port] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
ieee (defined in delay_gen) | delay_gen | [Library] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in delay_gen) | delay_gen | [Package] |
std_logic_arith (defined in delay_gen) | delay_gen | [Package] |
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__DF.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__DF.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__DF.html (revision 4) @@ -0,0 +1,163 @@ + + + + +
+ FIR Digital Filter
+ |
+
+Architectures | |
struct | Architecture |
+Libraries | |
ieee | |
+Packages | |
+std_logic_1164 | |
+std_logic_arith | |
+std_logic_unsigned | |
+fir_pkg | Package <fir_pkg> |
+Ports | |
+fir_clk | in std_logic |
Rising edge clock. | |
+fir_clr | in std_logic |
Active high asynchronous reset. | |
+fir_in | in std_logic_vector ( 0 downto 0 ) |
Unsigned single/multi-bit input. | |
+fir_out | out std_logic_vector ( 14 downto 0 ) |
Signed multi-bit output. |
Member Data Documentation
+ +ieee library [Library] |
+
The documentation for this class was generated from the following file:
-
+
- src/fir_filter_stage_DF.vhd +
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave.png =================================================================== --- gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classdelay__gen_1_1behave.png (revision 4)
+ FIR Digital Filter
+ |
+
+Architectures | |
struct | Architecture |
+Libraries | |
ieee | |
+Packages | |
+std_logic_1164 | |
+std_logic_arith | |
+std_logic_unsigned | |
+fir_pkg | Package <fir_pkg> |
+Ports | |
+fir_clk | in std_logic |
Rising edge clock. | |
+fir_clr | in std_logic |
Active high asynchronous reset. | |
+fir_in | in std_logic_vector ( 0 downto 0 ) |
Unsigned single/multi-bit input. | |
+fir_out | out std_logic_vector ( 14 downto 0 ) |
Signed multi-bit output. |
Member Data Documentation
+ +ieee library [Library] |
+
The documentation for this class was generated from the following file:
-
+
- src/fir_filter_stage_TF.vhd +
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/class__tb__pack.html =================================================================== --- gfir/trunk/vhdl/help/html/class__tb__pack.html (nonexistent) +++ gfir/trunk/vhdl/help/html/class__tb__pack.html (revision 4) @@ -0,0 +1,105 @@ + + + + +
+ FIR Digital Filter
+ |
+
tb_pack Package Body Reference
+Procedures | |
+ | ReadData( +constant filename: in string + signal bpsdm_data: out std_logic_vector + signal clk: in std_ulogic + signal finished: out std_ulogic + ) |
The documentation for this class was generated from the following file:
-
+
- src/tb_pack.vhd +
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/bc_s.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/bc_s.png =================================================================== --- gfir/trunk/vhdl/help/html/bc_s.png (nonexistent) +++ gfir/trunk/vhdl/help/html/bc_s.png (revision 4)
+ FIR Digital Filter
+ |
+
behave Architecture Reference
+Processes | |
+PROCESS_0 | ( clr , clk ) |
The documentation for this class was generated from the following file:
-
+
- src/delay_gen.vhd +
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage_1_1struct-members.html (revision 4) @@ -0,0 +1,112 @@ + + + + + +
struct Member List
This is the complete list of members for struct, including all inherited members.add_a_in | adder_gen | [Port] |
add_b_in | adder_gen | [Port] |
add_delay | struct | [Signal] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ADDER0 (defined in struct) | struct | [Component Instantiation] |
adder_gen (defined in struct) | struct | [Component] |
ADDERs (defined in struct) | struct | [Component Instantiation] |
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
coeff | struct | [Constant] |
delay_add | struct | [Signal] |
delay_gen (defined in struct) | struct | [Component] |
delay_in | delay_gen | [Port] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
DELAYs (defined in struct) | struct | [Component Instantiation] |
ieee (defined in multiplier_gen) | multiplier_gen | [Library] |
ieee (defined in delay_gen) | delay_gen | [Library] |
ieee (defined in adder_gen) | adder_gen | [Library] |
LastDELAY | struct | [Component Instantiation] |
MULTI | struct | [Component Instantiation] |
multi_add | struct | [Signal] |
multi_delay | struct | [Signal] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_gen (defined in struct) | struct | [Component] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
MULTIs (defined in struct) | struct | [Component Instantiation] |
order | struct | [Constant] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_1164 (defined in delay_gen) | delay_gen | [Package] |
std_logic_1164 (defined in adder_gen) | adder_gen | [Package] |
std_logic_arith (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_arith (defined in delay_gen) | delay_gen | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
width_const | struct | [Constant] |
width_in | struct | [Constant] |
width_out | struct | [Constant] |
Generated on Mon Apr 9 16:26:40 2012 for FIR Digital Filter by + + 1.6.3 + + Index: gfir/trunk/vhdl/help/html/tb__pack_8vhd.html =================================================================== --- gfir/trunk/vhdl/help/html/tb__pack_8vhd.html (nonexistent) +++ gfir/trunk/vhdl/help/html/tb__pack_8vhd.html (revision 4) @@ -0,0 +1,94 @@ + + + + +
+ FIR Digital Filter
+ |
+
src/tb_pack.vhd File Reference
The test-bench supporting package. +More...
++Architectures | |
tb_pack | Package |
tb_pack | Package Body |
Detailed Description
+The test-bench supporting package.
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classmultiplier__gen-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classmultiplier__gen-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classmultiplier__gen-members.html (revision 4) @@ -0,0 +1,96 @@ + + + + +
+ FIR Digital Filter
+ |
+
multiplier_gen Member List
ieee (defined in multiplier_gen) | multiplier_gen | [Library] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
std_logic_1164 (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_arith (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__DF-members.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__DF-members.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__DF-members.html (revision 4) @@ -0,0 +1,130 @@ + + + + +
+ FIR Digital Filter
+ |
+
fir_filter_stage_DF Member List
add_a_in | adder_gen | [Port] |
add_add | struct | [Signal] |
add_b_in | adder_gen | [Port] |
add_out | adder_gen | [Port] |
add_width (defined in adder_gen) | adder_gen | [Generic] |
ADDER0 | struct | [Component Instantiation] |
adder_gen (defined in struct) | struct | [Component] |
ADDERs (defined in struct) | struct | [Component Instantiation] |
clk | delay_gen | [Port] |
clr | delay_gen | [Port] |
coeff | struct | [Constant] |
delay_gen (defined in struct) | struct | [Component] |
delay_in | delay_gen | [Port] |
delay_multi | struct | [Signal] |
delay_out | delay_gen | [Port] |
delay_width (defined in delay_gen) | delay_gen | [Generic] |
DELAYs (defined in struct) | struct | [Component Instantiation] |
fir_clk | fir_filter_stage_DF | [Port] |
fir_clr | fir_filter_stage_DF | [Port] |
fir_in | fir_filter_stage_DF | [Port] |
fir_out | fir_filter_stage_DF | [Port] |
fir_pkg (defined in fir_filter_stage_DF) | fir_filter_stage_DF | [Package] |
FirstDELAY | struct | [Component Instantiation] |
ieee | fir_filter_stage_DF | [Library] |
MULTI | struct | [Component Instantiation] |
multi_add | struct | [Signal] |
multi_width_const (defined in multiplier_gen) | multiplier_gen | [Generic] |
multi_width_in (defined in multiplier_gen) | multiplier_gen | [Generic] |
multiplier_const | multiplier_gen | [Port] |
multiplier_gen (defined in struct) | struct | [Component] |
multiplier_in | multiplier_gen | [Port] |
multiplier_out | multiplier_gen | [Port] |
MULTIs (defined in struct) | struct | [Component Instantiation] |
order | struct | [Constant] |
PROCESS_0(clr, clk) (defined in behave) | behave | [Process] |
std_logic_1164 (defined in fir_filter_stage_DF) | fir_filter_stage_DF | [Package] |
std_logic_arith (defined in fir_filter_stage_DF) | fir_filter_stage_DF | [Package] |
std_logic_signed (defined in multiplier_gen) | multiplier_gen | [Package] |
std_logic_signed (defined in adder_gen) | adder_gen | [Package] |
std_logic_unsigned (defined in fir_filter_stage_DF) | fir_filter_stage_DF | [Package] |
tmp_msb (defined in behave) | behave | [Signal] |
tmp_multiplier_out (defined in behave) | behave | [Signal] |
width_const | struct | [Constant] |
width_in | struct | [Constant] |
width_out | struct | [Constant] |
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classes.html =================================================================== --- gfir/trunk/vhdl/help/html/classes.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classes.html (revision 4) @@ -0,0 +1,95 @@ + + + + +
+ FIR Digital Filter
+ |
+
Design Units
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave.png =================================================================== --- gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave.png (nonexistent) +++ gfir/trunk/vhdl/help/html/classmultiplier__gen_1_1behave.png (revision 4)
+ FIR Digital Filter
+ |
+
File List
src/adder_gen.vhd | This is a two input signed adder |
src/delay_gen.vhd | This is a positive edge triggered D-flip flop |
src/fir_filter_stage_DF.vhd | This is the top-level design for a direct-form FIR digital filter. + |
src/fir_filter_stage_TF.vhd | This is the top-level design for a transposed-form FIR digital filter. + |
src/fir_pkg.vhd | This is the supporting package. "JUST EDIT THIS FILE" |
src/multiplier_gen.vhd | This is signed constant multiplier with unsigned input port |
src/tb_pack.vhd | The test-bench supporting package |
Generated on Thu Apr 12 2012 22:44:02 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/functions_vars.html =================================================================== --- gfir/trunk/vhdl/help/html/functions_vars.html (nonexistent) +++ gfir/trunk/vhdl/help/html/functions_vars.html (revision 4) @@ -0,0 +1,239 @@ + + + + +
+ FIR Digital Filter
+ |
+
- a -
-
+
- add_a_in +: adder_gen + +
- add_add +: struct + +
- add_b_in +: adder_gen + +
- add_delay +: struct + +
- add_out +: adder_gen + +
- ADDER0 +: struct + +
- c -
+ + +- d -
-
+
- delay_add +: struct + +
- delay_in +: delay_gen + +
- delay_multi +: struct + +
- delay_out +: delay_gen + +
- f -
-
+
- fir_clk +: fir_filter_stage_DF +, fir_filter_stage_TF + +
- fir_clr +: fir_filter_stage_TF +, fir_filter_stage_DF + +
- fir_in +: fir_filter_stage_DF +, fir_filter_stage_TF + +
- fir_out +: fir_filter_stage_TF +, fir_filter_stage_DF + +
- FirstDELAY +: struct + +
- i -
-
+
- ieee +: fir_filter_stage_DF +, fir_filter_stage_TF + +
- l -
-
+
- LastDELAY +: struct + +
- m -
-
+
- MULTI +: struct + +
- multi_add +: struct + +
- multi_delay +: struct + +
- multiplier_const +: multiplier_gen + +
- multiplier_in +: multiplier_gen + +
- multiplier_out +: multiplier_gen + +
- o -
-
+
- order +: struct + +
- q -
-
+
- quantization +: fir_pkg + +
- w -
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/class__fir__pkg.html =================================================================== --- gfir/trunk/vhdl/help/html/class__fir__pkg.html (nonexistent) +++ gfir/trunk/vhdl/help/html/class__fir__pkg.html (revision 4) @@ -0,0 +1,104 @@ + + + + +
+ FIR Digital Filter
+ |
+
fir_pkg Package Body Reference
+Functions | |
+natural | binary_width ( x: in natural ) |
+natural | EOp ( M: in positive ) |
+natural | EOn ( M: in positive ) |
The documentation for this class was generated from the following file:
-
+
- src/fir_pkg.vhd +
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/index.html =================================================================== --- gfir/trunk/vhdl/help/html/index.html (nonexistent) +++ gfir/trunk/vhdl/help/html/index.html (revision 4) @@ -0,0 +1,76 @@ + + + + +
+ FIR Digital Filter
+ |
+
FIR Digital Filter Documentation
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/multiplier__gen_8vhd.html =================================================================== --- gfir/trunk/vhdl/help/html/multiplier__gen_8vhd.html (nonexistent) +++ gfir/trunk/vhdl/help/html/multiplier__gen_8vhd.html (revision 4) @@ -0,0 +1,94 @@ + + + + +
+ FIR Digital Filter
+ |
+
src/multiplier_gen.vhd File Reference
This is signed constant multiplier with unsigned input port. +More...
++Architectures | |
multiplier_gen | Entity |
behave | Architecture |
Detailed Description
+This is signed constant multiplier with unsigned input port.
+Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.html =================================================================== --- gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classadder__gen_1_1behave.html (revision 4) @@ -0,0 +1,108 @@ + + + + +
+ FIR Digital Filter
+ |
+
behave Architecture Reference
The documentation for this class was generated from the following file:
-
+
- src/adder_gen.vhd +
Generated on Thu Apr 12 2012 22:44:00 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/html/classfir__filter__stage__DF_1_1struct.html =================================================================== --- gfir/trunk/vhdl/help/html/classfir__filter__stage__DF_1_1struct.html (nonexistent) +++ gfir/trunk/vhdl/help/html/classfir__filter__stage__DF_1_1struct.html (revision 4) @@ -0,0 +1,172 @@ + + + + +
+ FIR Digital Filter
+ |
+
struct Architecture Reference
+Components | |
+multiplier_gen | <Entity multiplier_gen> |
+adder_gen | <Entity adder_gen> |
+delay_gen | <Entity delay_gen> |
+Constants | |
+coeff | int_vector := fir_coeff_thirdstage |
Filter coefficients defined in the fir_pkg.vhd. | |
+width_in | natural := fir_in ' length |
Input bit-width. | |
+width_out | natural := fir_out ' length |
Output bit-width. | |
+width_const | positive := quantization |
Quantization bit-width defined in the fir_pkg.vhd. | |
+order | natural := coeff ' length |
Filter length. | |
+Signals | |
+multi_add | std_logic_vector ( order *width_out -1 downto 0 ) |
Internal signal holding multiplier's outputs and adder's inputs. | |
+add_add | std_logic_vector ( ( order -1 ) *width_out -1 downto 0 ) |
Internal signal holding preced adder output and proceed adder input. | |
+delay_multi | std_logic_vector ( ( order -1 ) *width_in -1 downto 0 ) |
Internal signal holding delay's output and multiplier's inputs. | |
+Component Instantiations | |
+MULTI | multiplier_gen <Entity multiplier_gen> |
Generate the filter multipliers set. | |
+MULTIs | multiplier_gen <Entity multiplier_gen> |
+FirstDELAY | delay_gen <Entity delay_gen> |
Generate the filter delays set. | |
+DELAYs | delay_gen <Entity delay_gen> |
+ADDER0 | adder_gen <Entity adder_gen> |
Generate the filter adders set. | |
+ADDERs | adder_gen <Entity adder_gen> |
The documentation for this class was generated from the following file:
-
+
- src/fir_filter_stage_DF.vhd +
Generated on Thu Apr 12 2012 22:44:01 for FIR Digital Filter by + + 1.7.3 + + Index: gfir/trunk/vhdl/help/doc/firTF.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Index: gfir/trunk/vhdl/help/doc/firTF.jpg =================================================================== --- gfir/trunk/vhdl/help/doc/firTF.jpg (nonexistent) +++ gfir/trunk/vhdl/help/doc/firTF.jpg (revision 4)