27.12.2013, 05:39 PM
Und da ich ja eigentlich eine Pegelanzeige wollte, brauche ich jetzt noch einen Gleichrichter und einen verlustbehafteten Integrator.
ersteres ist recht trivial, zweiteres durch ein IIR-Filter zu realisieren.
ersteres ist recht trivial, zweiteres durch ein IIR-Filter zu realisieren.
Code:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
use ieee.numeric_std.all;
entity RECTIFIER is
port
(
clk : in std_logic;
x : in unsigned(23 downto 0);
y : out unsigned(22 downto 0)
);
end RECTIFIER;
architecture BEHAV of RECTIFIER is
...begin
...process(clk)
......variable z : unsigned(23 downto 0);
......begin
......if rising_edge(clk) then
.........case x(23) is
.........when '0' =>
............--Negative Zahlen und 0
............y <= x(22 downto 0);
.........when '1' =>
............--Positive Zahlen
............z := not x;
............z(23) := '0';
............z := z + 1;
............y <= z(22 downto 0);
.........end case;
......end if;
...end process;
end BEHAV;
Pffffffffft. "Da entwich das Vakuum" - Heinrich Physik, 1857.