⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filter_tb.vhd

📁 《FPGA嵌入式应用系统开发典型实例》-书的光盘资料
💻 VHD
📖 第 1 页 / 共 5 页
字号:
-- ----------------------------------------------------------------- Module: filter_tb---- Generated by MATLAB(R) 7.0 and the Filter Design HDL Coder 1.0.---- Generated on: 2004-12-22 12:33:42---- --------------------------------------------------------------- --------------------------------------------------------------- HDL Code Generation Options:---- TargetLanguage: VHDL-- LoopUnrolling: On-- PackagePostfix: -- SplitEntityFilePostfix: -- SplitArchFilePostfix: -- InlineConfigurations: Off-- SafeZeroConcat: Off-- TestBenchStimulus: impulse step ramp chirp noise ---- Filter Settings:---- Discrete-Time FIR Filter (real)-- --------------------------------- Filter Structure  : Direct-Form FIR-- Filter Order      : 14-- Stable            : Yes-- Linear Phase      : Yes (Type 2)-- Arithmetic        : fixed----          CoeffWordLength: 16--           CoeffAutoScale: true--                   Signed: true----          InputWordLength: 16--          InputFracLength: 15----         OutputWordLength: 16--               OutputMode: 'AvoidOverflow'----              ProductMode: 'FullPrecision'----                AccumMode: 'KeepMSB'--          AccumWordLength: 40--            CastBeforeSum: true----                RoundMode: 'convergent'--             OverflowMode: 'wrap'-- -------------------------------------------------------------LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.numeric_std.ALL;ENTITY filter_tb ISEND filter_tb;----------------------------------------------------------------ARCHITECTURE test OF filter_tb IS  COMPONENT filter   PORT( clk                             :   IN    std_logic;          clk_enable                      :   IN    std_logic;          reset                           :   IN    std_logic;          filter_in                       :   IN    std_logic_vector(15 DOWNTO 0); -- sfix16_En15         filter_out                      :   OUT   std_logic_vector(15 DOWNTO 0)  -- sfix16_En9         );    END COMPONENT;  FOR ALL : filter    USE ENTITY work.filter(rtl);  FUNCTION to_hex( x : IN std_logic_vector) RETURN string IS    VARIABLE result  : STRING(1 TO 256); -- 1024 bits max    VARIABLE i       : INTEGER;    VARIABLE imod    : INTEGER;    VARIABLE j       : INTEGER;    VARIABLE newx    : std_logic_vector(1023 DOWNTO 0);    BEGIN      newx := (OTHERS => '0');      newx(x'RANGE) := x;      i := x'LENGTH-1;      imod := x'LENGTH MOD 4;      IF    imod = 1 THEN i := i+3;      ELSIF imod = 2 THEN i := i+2;      ELSIF imod = 3 THEN i := i+1;      END IF;      j := 1;      WHILE i >= 3 LOOP        IF    newx(i DOWNTO (i-3)) = "0000" THEN result(j) := '0';        ELSIF newx(i DOWNTO (i-3)) = "0001" THEN result(j) := '1';        ELSIF newx(i DOWNTO (i-3)) = "0010" THEN result(j) := '2';        ELSIF newx(i DOWNTO (i-3)) = "0011" THEN result(j) := '3';        ELSIF newx(i DOWNTO (i-3)) = "0100" THEN result(j) := '4';        ELSIF newx(i DOWNTO (i-3)) = "0101" THEN result(j) := '5';        ELSIF newx(i DOWNTO (i-3)) = "0110" THEN result(j) := '6';        ELSIF newx(i DOWNTO (i-3)) = "0111" THEN result(j) := '7';        ELSIF newx(i DOWNTO (i-3)) = "1000" THEN result(j) := '8';        ELSIF newx(i DOWNTO (i-3)) = "1001" THEN result(j) := '9';        ELSIF newx(i DOWNTO (i-3)) = "1010" THEN result(j) := 'A';        ELSIF newx(i DOWNTO (i-3)) = "1011" THEN result(j) := 'B';        ELSIF newx(i DOWNTO (i-3)) = "1100" THEN result(j) := 'C';        ELSIF newx(i DOWNTO (i-3)) = "1101" THEN result(j) := 'D';        ELSIF newx(i DOWNTO (i-3)) = "1110" THEN result(j) := 'E';        ELSIF newx(i DOWNTO (i-3)) = "1111" THEN result(j) := 'F';        ELSE result(j) := 'X';        END IF;        i := i-4;        j := j+1;      END LOOP;      RETURN result(1 TO j-1);    END;  FUNCTION to_hex( x : IN bit_vector ) RETURN string IS    BEGIN      RETURN to_hex( to_stdlogicvector(x) );    END;  -- Type Definitions  TYPE filter_in_table IS ARRAY (0 TO 3183) OF std_logic_vector(15 DOWNTO 0);  TYPE filter_out_table IS ARRAY (0 TO 3183) OF std_logic_vector(15 DOWNTO 0);  -- Constants  CONSTANT filter_in_force : filter_in_table :=    (     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"7FFF"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"0000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8000"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8040"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8080"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"80C0"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8100"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8140"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8180"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"81C0"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8201"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8241"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8281"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"82C1"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8301"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8341"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8381"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"83C1"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8401"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8441"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8481"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"84C1"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8501"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8541"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8581"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"85C1"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8602"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8642"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8682"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"86C2"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8702"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8742"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8782"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"87C2"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8802"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8842"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8882"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"88C2"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8902"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8942"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8982"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"89C2"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8A03"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8A43"))(15 DOWNTO 0),     to_stdlogicvector(bit_vector'(X"8A83"))(15 DOWNTO 0),

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -