+ component mcpwm is
+ generic (
+ pwm_width: natural
+ );
+ port (
+ clock: in std_logic;
+ sync: in std_logic; --flag that counter "restarts-overflows"
+ data_valid:in std_logic; --indicates data is consistent
+ failsafe: in std_logic; --turn off both transistors
+ en_p, en_n: in std_logic; --enable positive & enable shutdown
+ match: in std_logic_vector (pwm_width-1 downto 0); --posion of counter when we swap output logic
+ count: in std_logic_vector (pwm_width-1 downto 0); --we use an external counter
+ out_p, out_n: out std_logic --pwm outputs: positive & shutdown
+ --TODO add the rest of pwm signals, swap match to pwm_word
+ );
+ end component;
+
+ component div8 is
+ port (
+ --reset: in std_logic;
+ clk_in: in std_logic;
+ clk_out: out std_logic
+ );
+ end component;
+
+ component adc_reader is
+ port (
+ clk: in std_logic; --input clk
+ adc_reset: in std_logic;
+ adc_miso: in std_logic; --spi master in slave out
+ adc_channels: out std_logic_vector (35 downto 0); --consistent data of 3 channels
+ adc_sclk: out std_logic; --spi clk
+ adc_scs: out std_logic; --spi slave select
+ adc_mosi: out std_logic --spi master out slave in
+
+ );
+ end component;
+
+
+ signal adc_reset : std_logic;
+ signal adc_channels: std_logic_vector(35 downto 0);
+