add solutions
This commit is contained in:
		| @@ -0,0 +1,38 @@ | ||||
| library ieee; | ||||
|   use ieee.math_real.all; | ||||
|  | ||||
| ARCHITECTURE test OF DAC_tester IS | ||||
|  | ||||
|   constant clockPeriod: time := (1.0/clockFrequency) * 1 sec; | ||||
|   signal sClock: std_uLogic := '1'; | ||||
|  | ||||
|   signal sineFrequency: real := 20.0E3; | ||||
|   signal tReal: real := 0.0; | ||||
|   signal outAmplitude: real := 1.0; | ||||
|   signal outReal: real := 0.0; | ||||
|   signal outUnsigned: unsigned(parallelIn'range); | ||||
|  | ||||
| BEGIN | ||||
|   ------------------------------------------------------------------------------ | ||||
|                                                               -- clock and reset | ||||
|   sClock <= not sClock after clockPeriod/2; | ||||
|   clock <= transport sClock after clockPeriod*9/10; | ||||
|   reset <= '1', '0' after 2*clockPeriod; | ||||
|  | ||||
|   ------------------------------------------------------------------------------ | ||||
|                                                                  -- time signals | ||||
|   process(sClock) | ||||
|   begin | ||||
|     if rising_edge(sClock) then | ||||
|       tReal <= tReal + 1.0/clockFrequency; | ||||
|     end if; | ||||
|   end process; | ||||
|  | ||||
|   outReal <= outAmplitude * ( sin(2.0*math_pi*sineFrequency*tReal) + 1.0) / 2.0; | ||||
|  | ||||
|   outUnsigned <= to_unsigned(integer(outReal * real(2**(outUnsigned'length)-1)), outUnsigned'length); | ||||
|   parallelIn <= outUnsigned; | ||||
| --  parallelIn <= shift_left(to_unsigned(1, parallelIn'length), parallelIn'length-1); | ||||
| --  parallelIn <= shift_left(to_unsigned(3, parallelIn'length), parallelIn'length-2); | ||||
|  | ||||
| END ARCHITECTURE test; | ||||
| @@ -0,0 +1,15 @@ | ||||
| -- VHDL Entity DigitalToAnalogConverter_test.DAC_tb.symbol | ||||
| -- | ||||
| -- Created: | ||||
| --          by - francois.francois (Aphelia) | ||||
| --          at - 13:05:57 02/19/19 | ||||
| -- | ||||
| -- Generated by Mentor Graphics' HDL Designer(TM) 2019.2 (Build 5) | ||||
| -- | ||||
|  | ||||
|  | ||||
| ENTITY DAC_tb IS | ||||
| -- Declarations | ||||
|  | ||||
| END DAC_tb ; | ||||
|  | ||||
| @@ -0,0 +1,122 @@ | ||||
| -- | ||||
| -- VHDL Architecture DigitalToAnalogConverter_test.DAC_tb.struct | ||||
| -- | ||||
| -- Created: | ||||
| --          by - axel.amand.UNKNOWN (WE7860) | ||||
| --          at - 14:43:18 28.04.2023 | ||||
| -- | ||||
| -- Generated by Mentor Graphics' HDL Designer(TM) 2019.2 (Build 5) | ||||
| -- | ||||
| LIBRARY ieee; | ||||
|   USE ieee.std_logic_1164.all; | ||||
|   USE ieee.numeric_std.ALL; | ||||
|  | ||||
| LIBRARY DigitalToAnalogConverter; | ||||
| LIBRARY DigitalToAnalogConverter_test; | ||||
| LIBRARY WaveformGenerator; | ||||
|  | ||||
| ARCHITECTURE struct OF DAC_tb IS | ||||
|  | ||||
|     -- Architecture declarations | ||||
|     constant signalBitNb: positive := 16; | ||||
|     constant lowpassShiftBitNb: positive := 8; | ||||
|     constant clockFrequency: real := 60.0E6; | ||||
|     --constant clockFrequency: real := 66.0E6; | ||||
|  | ||||
|     -- Internal signal declarations | ||||
|     SIGNAL clock      : std_ulogic; | ||||
|     SIGNAL lowpassIn  : unsigned(signalBitNb-1 DOWNTO 0); | ||||
|     SIGNAL lowpassOut : unsigned(signalBitNb-1 DOWNTO 0); | ||||
|     SIGNAL parallelIn : unsigned(signalBitNb-1 DOWNTO 0); | ||||
|     SIGNAL reset      : std_ulogic; | ||||
|     SIGNAL serialOut  : std_ulogic; | ||||
|  | ||||
|  | ||||
|     -- Component Declarations | ||||
|     COMPONENT DAC | ||||
|     GENERIC ( | ||||
|         signalBitNb : positive := 16 | ||||
|     ); | ||||
|     PORT ( | ||||
|         serialOut  : OUT    std_ulogic ; | ||||
|         parallelIn : IN     unsigned (signalBitNb-1 DOWNTO 0); | ||||
|         clock      : IN     std_ulogic ; | ||||
|         reset      : IN     std_ulogic  | ||||
|     ); | ||||
|     END COMPONENT; | ||||
|     COMPONENT DAC_tester | ||||
|     GENERIC ( | ||||
|         signalBitNb    : positive := 16; | ||||
|         clockFrequency : real     := 60.0E6 | ||||
|     ); | ||||
|     PORT ( | ||||
|         lowpassOut : IN     unsigned (signalBitNb-1 DOWNTO 0); | ||||
|         serialOut  : IN     std_ulogic ; | ||||
|         clock      : OUT    std_ulogic ; | ||||
|         parallelIn : OUT    unsigned (signalBitNb-1 DOWNTO 0); | ||||
|         reset      : OUT    std_ulogic  | ||||
|     ); | ||||
|     END COMPONENT; | ||||
|     COMPONENT lowpass | ||||
|     GENERIC ( | ||||
|         signalBitNb : positive := 16; | ||||
|         shiftBitNb  : positive := 12 | ||||
|     ); | ||||
|     PORT ( | ||||
|         lowpassOut : OUT    unsigned (signalBitNb-1 DOWNTO 0); | ||||
|         clock      : IN     std_ulogic ; | ||||
|         reset      : IN     std_ulogic ; | ||||
|         lowpassIn  : IN     unsigned (signalBitNb-1 DOWNTO 0) | ||||
|     ); | ||||
|     END COMPONENT; | ||||
|  | ||||
|     -- Optional embedded configurations | ||||
|     -- pragma synthesis_off | ||||
|     FOR ALL : DAC USE ENTITY DigitalToAnalogConverter.DAC; | ||||
|     FOR ALL : DAC_tester USE ENTITY DigitalToAnalogConverter_test.DAC_tester; | ||||
|     FOR ALL : lowpass USE ENTITY WaveformGenerator.lowpass; | ||||
|     -- pragma synthesis_on | ||||
|  | ||||
|  | ||||
| BEGIN | ||||
|     -- Architecture concurrent statements | ||||
|     -- HDL Embedded Text Block 1 eb1 | ||||
|     LowpassIn <= (others => serialOut); | ||||
|  | ||||
|  | ||||
|     -- Instance port mappings. | ||||
|     I_DUT : DAC | ||||
|         GENERIC MAP ( | ||||
|             signalBitNb => signalBitNb | ||||
|         ) | ||||
|         PORT MAP ( | ||||
|             serialOut  => serialOut, | ||||
|             parallelIn => parallelIn, | ||||
|             clock      => clock, | ||||
|             reset      => reset | ||||
|         ); | ||||
|     I_tester : DAC_tester | ||||
|         GENERIC MAP ( | ||||
|             signalBitNb    => signalBitNb, | ||||
|             clockFrequency => clockFrequency | ||||
|         ) | ||||
|         PORT MAP ( | ||||
|             lowpassOut => lowpassOut, | ||||
|             serialOut  => serialOut, | ||||
|             clock      => clock, | ||||
|             parallelIn => parallelIn, | ||||
|             reset      => reset | ||||
|         ); | ||||
|     I_filt : lowpass | ||||
|         GENERIC MAP ( | ||||
|             signalBitNb => signalBitNb, | ||||
|             shiftBitNb  => lowpassShiftBitNb | ||||
|         ) | ||||
|         PORT MAP ( | ||||
|             lowpassOut => lowpassOut, | ||||
|             clock      => clock, | ||||
|             reset      => reset, | ||||
|             lowpassIn  => lowpassIn | ||||
|         ); | ||||
|  | ||||
| END struct; | ||||
| @@ -0,0 +1,29 @@ | ||||
| -- VHDL Entity DigitalToAnalogConverter_test.DAC_tester.interface | ||||
| -- | ||||
| -- Created: | ||||
| --          by - axel.amand.UNKNOWN (WE7860) | ||||
| --          at - 14:43:18 28.04.2023 | ||||
| -- | ||||
| -- Generated by Mentor Graphics' HDL Designer(TM) 2019.2 (Build 5) | ||||
| -- | ||||
| LIBRARY ieee; | ||||
|   USE ieee.std_logic_1164.all; | ||||
|   USE ieee.numeric_std.ALL; | ||||
|  | ||||
| ENTITY DAC_tester IS | ||||
|     GENERIC(  | ||||
|         signalBitNb    : positive := 16; | ||||
|         clockFrequency : real     := 60.0E6 | ||||
|     ); | ||||
|     PORT(  | ||||
|         lowpassOut : IN     unsigned (signalBitNb-1 DOWNTO 0); | ||||
|         serialOut  : IN     std_ulogic; | ||||
|         clock      : OUT    std_ulogic; | ||||
|         parallelIn : OUT    unsigned (signalBitNb-1 DOWNTO 0); | ||||
|         reset      : OUT    std_ulogic | ||||
|     ); | ||||
|  | ||||
| -- Declarations | ||||
|  | ||||
| END DAC_tester ; | ||||
|  | ||||
| @@ -0,0 +1 @@ | ||||
| DIALECT atom VHDL_2008 | ||||
| @@ -0,0 +1 @@ | ||||
| DIALECT atom VHDL_2008 | ||||
| @@ -0,0 +1 @@ | ||||
| DIALECT atom VHDL_2008 | ||||
| @@ -0,0 +1 @@ | ||||
| DIALECT atom VHDL_2008 | ||||
| @@ -0,0 +1,12 @@ | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW symbol.sb | ||||
| NO_GRAPHIC 0 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 50,0 8 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 1,0 11 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 1,0 12 0  | ||||
| @@ -0,0 +1,172 @@ | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 0 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 142,0 9 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 12 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 0,0 17 2  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1,0 20 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 20 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 53,0 26 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1091,0 27 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1081,0 28 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 362,0 29 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 45,0 30 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 364,0 31 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 32 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 33 | ||||
| LIBRARY DigitalToAnalogConverter | ||||
| DESIGN @d@a@c | ||||
| VIEW master@version | ||||
| GRAPHIC 1298,0 35 0  | ||||
| DESIGN @d@a@c | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 14,0 36 1  | ||||
| DESIGN @d@a@c | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 67,0 40 0  | ||||
| DESIGN @d@a@c | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 57,0 41 0  | ||||
| DESIGN @d@a@c | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 52,0 42 0  | ||||
| DESIGN @d@a@c | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 76,0 43 0  | ||||
| LIBRARY DigitalToAnalogConverter_test | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW test | ||||
| GRAPHIC 421,0 46 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 14,0 47 1  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1083,0 52 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 366,0 53 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 55,0 54 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 63,0 55 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 47,0 56 0  | ||||
| LIBRARY WaveformGenerator | ||||
| DESIGN lowpass | ||||
| VIEW master@version | ||||
| GRAPHIC 1056,0 59 0  | ||||
| DESIGN lowpass | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 14,0 60 1  | ||||
| DESIGN lowpass | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 57,0 65 0  | ||||
| DESIGN lowpass | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 52,0 66 0  | ||||
| DESIGN lowpass | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 76,0 67 0  | ||||
| DESIGN lowpass | ||||
| VIEW symbol.sb | ||||
| GRAPHIC 83,0 68 0  | ||||
| LIBRARY DigitalToAnalogConverter_test | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 71 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1298,0 74 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 421,0 75 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1056,0 76 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 79 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1099,0 82 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 84 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 85 | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1298,0 87 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1305,0 88 1  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 366,0 92 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 63,0 93 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 55,0 94 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 47,0 95 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 421,0 97 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 428,0 98 1  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1056,0 109 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1063,0 110 1  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1083,0 115 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1073,0 116 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1065,0 117 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| GRAPHIC 1093,0 118 0  | ||||
| DESIGN @d@a@c_tb | ||||
| VIEW struct.bd | ||||
| NO_GRAPHIC 121 | ||||
| @@ -0,0 +1,30 @@ | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| NO_GRAPHIC 0 | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 50,0 8 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 13,0 13 1  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 360,0 18 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 375,0 19 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 355,0 20 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 365,0 21 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 370,0 22 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 1,0 25 0  | ||||
| DESIGN @d@a@c_tester | ||||
| VIEW interface | ||||
| GRAPHIC 1,0 26 0  | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -0,0 +1,3 @@ | ||||
| DEFAULT_FILE atom @d@a@c_tb/struct.bd | ||||
| DEFAULT_ARCHITECTURE atom struct | ||||
| TOP_MARKER atom 1 | ||||
| @@ -0,0 +1,2 @@ | ||||
| DEFAULT_ARCHITECTURE atom test | ||||
| DEFAULT_FILE atom DAC_tester_test.vhd | ||||
		Reference in New Issue
	
	Block a user