?? filter_tb.vhd
字號:
-- ----------------------------------------------------------------- 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 + -