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

📄 filter_tb.vhd

📁 该代码产生m序列,能在扩频通信中的信息的扰码和扩频.
💻 VHD
📖 第 1 页 / 共 5 页
字号:
-- ----------------------------------------------------------------- Module: filter_tb---- Generated by MATLAB(R) 7.1 and the Filter Design HDL Coder 1.3.---- Generated on: 2008-09-18 15:51:03---- --------------------------------------------------------------- --------------------------------------------------------------- HDL Code Generation Options:---- TargetLanguage: VHDL-- LoopUnrolling: On-- InlineConfigurations: Off-- SafeZeroConcat: Off-- TestBenchStimulus: impulse step ramp chirp noise ---- Filter Settings:---- Discrete-Time FIR Filter (real)-- --------------------------------- Filter Structure  : Direct-Form FIR-- Filter Length     : 11-- Stable            : Yes-- Linear Phase      : Yes (Type 1)-- -------------------------------------------------------------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    real; -- double         filter_out                      :   OUT   real  -- double         );    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;  FUNCTION to_hex( x : IN signed ) RETURN string IS    BEGIN      RETURN to_hex( std_logic_vector(x) );    END;  FUNCTION to_hex( x : IN unsigned ) RETURN string IS    BEGIN      RETURN to_hex( std_logic_vector(x) );    END;  FUNCTION to_hex( x : IN real ) RETURN string IS    BEGIN      RETURN real'image(x);    END;  -- Type Definitions  TYPE filter_in_table IS ARRAY (0 TO 3148) OF real;  TYPE filter_out_table IS ARRAY (0 TO 3148) OF real;  -- Constants  CONSTANT filter_in_force : filter_in_table :=    (     1.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     1.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     0.0000000000000000E+000,     -1.0000000000000000E+000,     -9.9804496578690127E-001,     -9.9608993157380255E-001,     -9.9413489736070382E-001,     -9.9217986314760509E-001,     -9.9022482893450636E-001,     -9.8826979472140764E-001,     -9.8631476050830891E-001,     -9.8435972629521018E-001,     -9.8240469208211145E-001,     -9.8044965786901273E-001,     -9.7849462365591400E-001,     -9.7653958944281527E-001,     -9.7458455522971654E-001,     -9.7262952101661782E-001,     -9.7067448680351909E-001,     -9.6871945259042036E-001,     -9.6676441837732163E-001,     -9.6480938416422291E-001,     -9.6285434995112418E-001,     -9.6089931573802545E-001,     -9.5894428152492672E-001,     -9.5698924731182800E-001,     -9.5503421309872927E-001,     -9.5307917888563054E-001,     -9.5112414467253181E-001,     -9.4916911045943309E-001,     -9.4721407624633436E-001,     -9.4525904203323563E-001,     -9.4330400782013690E-001,     -9.4134897360703818E-001,     -9.3939393939393945E-001,     -9.3743890518084072E-001,     -9.3548387096774199E-001,     -9.3352883675464327E-001,     -9.3157380254154454E-001,     -9.2961876832844570E-001,     -9.2766373411534697E-001,     -9.2570869990224824E-001,     -9.2375366568914952E-001,     -9.2179863147605079E-001,     -9.1984359726295206E-001,     -9.1788856304985333E-001,     -9.1593352883675461E-001,     -9.1397849462365588E-001,     -9.1202346041055715E-001,     -9.1006842619745842E-001,     -9.0811339198435970E-001,     -9.0615835777126097E-001,     -9.0420332355816224E-001,     -9.0224828934506351E-001,     -9.0029325513196479E-001,     -8.9833822091886606E-001,     -8.9638318670576733E-001,     -8.9442815249266860E-001,     -8.9247311827956988E-001,     -8.9051808406647115E-001,     -8.8856304985337242E-001,     -8.8660801564027369E-001,     -8.8465298142717497E-001,     -8.8269794721407624E-001,     -8.8074291300097751E-001,     -8.7878787878787878E-001,     -8.7683284457478006E-001,     -8.7487781036168133E-001,     -8.7292277614858260E-001,     -8.7096774193548387E-001,     -8.6901270772238515E-001,     -8.6705767350928642E-001,     -8.6510263929618769E-001,     -8.6314760508308896E-001,     -8.6119257086999024E-001,     -8.5923753665689151E-001,     -8.5728250244379278E-001,     -8.5532746823069405E-001,     -8.5337243401759533E-001,     -8.5141739980449660E-001,     -8.4946236559139787E-001,     -8.4750733137829914E-001,     -8.4555229716520042E-001,     -8.4359726295210169E-001,     -8.4164222873900296E-001,     -8.3968719452590423E-001,     -8.3773216031280551E-001,     -8.3577712609970678E-001,     -8.3382209188660805E-001,     -8.3186705767350932E-001,     -8.2991202346041060E-001,     -8.2795698924731176E-001,     -8.2600195503421303E-001,     -8.2404692082111430E-001,     -8.2209188660801558E-001,     -8.2013685239491685E-001,     -8.1818181818181812E-001,     -8.1622678396871939E-001,     -8.1427174975562067E-001,     -8.1231671554252194E-001,     -8.1036168132942321E-001,     -8.0840664711632448E-001,     -8.0645161290322576E-001,     -8.0449657869012703E-001,     -8.0254154447702830E-001,     -8.0058651026392957E-001,     -7.9863147605083085E-001,     -7.9667644183773212E-001,     -7.9472140762463339E-001,     -7.9276637341153466E-001,     -7.9081133919843594E-001,     -7.8885630498533721E-001,     -7.8690127077223848E-001,     -7.8494623655913975E-001,     -7.8299120234604103E-001,     -7.8103616813294230E-001,     -7.7908113391984357E-001,     -7.7712609970674484E-001,     -7.7517106549364612E-001,     -7.7321603128054739E-001,     -7.7126099706744866E-001,     -7.6930596285434993E-001,     -7.6735092864125121E-001,     -7.6539589442815248E-001,     -7.6344086021505375E-001,     -7.6148582600195502E-001,     -7.5953079178885630E-001,     -7.5757575757575757E-001,     -7.5562072336265884E-001,     -7.5366568914956011E-001,     -7.5171065493646139E-001,     -7.4975562072336266E-001,     -7.4780058651026393E-001,     -7.4584555229716520E-001,     -7.4389051808406648E-001,     -7.4193548387096775E-001,     -7.3998044965786902E-001,     -7.3802541544477029E-001,     -7.3607038123167157E-001,     -7.3411534701857284E-001,     -7.3216031280547411E-001,     -7.3020527859237538E-001,     -7.2825024437927666E-001,     -7.2629521016617793E-001,     -7.2434017595307920E-001,     -7.2238514173998047E-001,     -7.2043010752688175E-001,     -7.1847507331378302E-001,     -7.1652003910068429E-001,     -7.1456500488758556E-001,     -7.1260997067448684E-001,     -7.1065493646138811E-001,     -7.0869990224828938E-001,     -7.0674486803519065E-001,     -7.0478983382209193E-001,     -7.0283479960899320E-001,     -7.0087976539589447E-001,     -6.9892473118279574E-001,     -6.9696969696969702E-001,     -6.9501466275659829E-001,     -6.9305962854349956E-001,     -6.9110459433040083E-001,     -6.8914956011730211E-001,     -6.8719452590420338E-001,     -6.8523949169110465E-001,     -6.8328445747800592E-001,     -6.8132942326490720E-001,     -6.7937438905180847E-001,     -6.7741935483870974E-001,     -6.7546432062561101E-001,     -6.7350928641251229E-001,     -6.7155425219941356E-001,     -6.6959921798631483E-001,     -6.6764418377321610E-001,     -6.6568914956011738E-001,     -6.6373411534701865E-001,     -6.6177908113391992E-001,     -6.5982404692082119E-001,     -6.5786901270772247E-001,     -6.5591397849462363E-001,     -6.5395894428152490E-001,     -6.5200391006842617E-001,     -6.5004887585532745E-001,     -6.4809384164222872E-001,     -6.4613880742912999E-001,     -6.4418377321603126E-001,     -6.4222873900293254E-001,     -6.4027370478983381E-001,     -6.3831867057673508E-001,     -6.3636363636363635E-001,     -6.3440860215053763E-001,     -6.3245356793743890E-001,     -6.3049853372434017E-001,     -6.2854349951124144E-001,     -6.2658846529814272E-001,     -6.2463343108504399E-001,     -6.2267839687194526E-001,     -6.2072336265884653E-001,     -6.1876832844574781E-001,     -6.1681329423264908E-001,     -6.1485826001955035E-001,     -6.1290322580645162E-001,     -6.1094819159335290E-001,     -6.0899315738025417E-001,     -6.0703812316715544E-001,     -6.0508308895405671E-001,     -6.0312805474095799E-001,     -6.0117302052785926E-001,     -5.9921798631476053E-001,     -5.9726295210166180E-001,     -5.9530791788856308E-001,     -5.9335288367546424E-001,     -5.9139784946236551E-001,     -5.8944281524926678E-001,     -5.8748778103616806E-001,     -5.8553274682306933E-001,     -5.8357771260997060E-001,     -5.8162267839687187E-001,     -5.7966764418377315E-001,     -5.7771260997067442E-001,     -5.7575757575757569E-001,     -5.7380254154447696E-001,     -5.7184750733137824E-001,     -5.6989247311827951E-001,     -5.6793743890518078E-001,     -5.6598240469208205E-001,     -5.6402737047898333E-001,     -5.6207233626588460E-001,     -5.6011730205278587E-001,     -5.5816226783968714E-001,     -5.5620723362658842E-001,     -5.5425219941348969E-001,     -5.5229716520039096E-001,     -5.5034213098729223E-001,     -5.4838709677419351E-001,     -5.4643206256109478E-001,     -5.4447702834799605E-001,     -5.4252199413489732E-001,     -5.4056695992179860E-001,     -5.3861192570869987E-001,     -5.3665689149560114E-001,     -5.3470185728250241E-001,     -5.3274682306940369E-001,     -5.3079178885630496E-001,     -5.2883675464320623E-001,     -5.2688172043010750E-001,     -5.2492668621700878E-001,     -5.2297165200391005E-001,     -5.2101661779081132E-001,     -5.1906158357771259E-001,     -5.1710654936461387E-001,     -5.1515151515151514E-001,     -5.1319648093841641E-001,     -5.1124144672531768E-001,     -5.0928641251221896E-001,     -5.0733137829912023E-001,     -5.0537634408602150E-001,     -5.0342130987292277E-001,     -5.0146627565982405E-001,     -4.9951124144672532E-001,     -4.9755620723362659E-001,     -4.9560117302052786E-001,     -4.9364613880742914E-001,     -4.9169110459433041E-001,     -4.8973607038123168E-001,     -4.8778103616813295E-001,     -4.8582600195503423E-001,     -4.8387096774193550E-001,     -4.8191593352883677E-001,     -4.7996089931573804E-001,

⌨️ 快捷键说明

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