30 lines
731 B
VHDL
30 lines
731 B
VHDL
ARCHITECTURE masterVersion OF DAC IS
|
|
|
|
signal parallelIn1: unsigned(parallelIn'range);
|
|
signal integrator: unsigned(parallelIn'high+1 downto 0);
|
|
signal quantized: std_ulogic;
|
|
|
|
BEGIN
|
|
|
|
-- parallelIn1 <= parallelIn;
|
|
parallelIn1 <= parallelIn/2 + 2**(parallelIn'length-2);
|
|
|
|
integrate: process(reset, clock)
|
|
begin
|
|
if reset = '1' then
|
|
integrator <= (others => '0');
|
|
elsif rising_edge(clock) then
|
|
if quantized = '0' then
|
|
integrator <= integrator + parallelIn1;
|
|
else
|
|
integrator <= integrator + parallelIn1 - 2**parallelIn'length;
|
|
end if;
|
|
end if;
|
|
end process integrate;
|
|
|
|
quantized <= integrator(integrator'high);
|
|
|
|
serialOut <= quantized;
|
|
|
|
END ARCHITECTURE masterVersion;
|