Motion FPGA
Motion FPGA for the MachX02-7000HE Breakout Board
rtl Architecture Reference

Architecture rtl of top entity. More...

Processes

pr_reset  ( clk , lock )
 Reset process.
pr_spi_input  ( clk , rst )
 SPI input double-flop resynchronizer.

Components

osch 
 Component declaration for the MachX02 internal oscillator.
pll 
 Component delcaration for the PLL.

Signals

osc  std_logic
 Internal oscillator (11.08MHz)
lock  std_logic
 PLL Lock.
clk  std_logic
 Main clock (99.72MHz)
rst_ms  std_logic
 Reset (possibly metastable)
rst  std_logic
 Reset.
spi_cs_ms  std_logic
 SPI chip-select input (metastable)
spi_sclk_ms  std_logic
 SPI clock input (metastable)
spi_mosi_ms  std_logic
 SPI MOSI input (metastable)
spi_ver_en_ms  std_logic
 SPI Version Enable (metastable)
spi_cs_s  std_logic
 SPI chip-select input (stable)
spi_sclk_s  std_logic
 SPI clock input (stable)
spi_mosi_s  std_logic
 SPI MOSI input (stable)
spi_ver_en_s  std_logic
 SPI Version Enable input (stable)
pwm_adv  std_logic
 PWM advance signal.
spi_miso_out_device  std_logic
 SPI MISO output for devices.
spi_miso_out_version  std_logic
 SPI MISO output for version.
dat_rd_reg  std_logic_vector ( 95 DOWNTO 0 )
 SPI read data (response)
dat_wr_reg  std_logic_vector ( 95 DOWNTO 0 )
 SPI write data (command)
dat_wr_done  std_logic
 SPI write done pulse.
pwm_lines  std_logic_vector ( 3 DOWNTO 0 )
 PWM outputs.
sdm_lines  std_logic_vector ( 3 DOWNTO 0 )
 SDM outputs.
gpio_in_lines  std_logic_vector ( 31 DOWNTO 0 )
 GPIO inputs.
gpio_out_lines  std_logic_vector ( 31 DOWNTO 0 )
 GPIO outputs.

Instantiations

i_osch  osch
 Instantiate the internal oscillator for 11.08MHz.
i_pll  pll
 Instantiate the PLL (11.08MHz -> 99.72MHz)
i_pwm_clk  clk_div_n <Entity clk_div_n>
 Instantiate the clock divider for PWM advance.
i_spi_slave_device  spi_slave <Entity spi_slave>
 Instantiate SPI slave device bus.
i_spi_slave_version  spi_slave <Entity spi_slave>
 Instantiate SPI slave version bus.
i_pwm_device  pwm_device <Entity pwm_device>
 Instantiate the PWM device.
i_sdm_device  sdm_device <Entity sdm_device>
 Instantiate the PWM device.
i_gpio_device  gpio_device <Entity gpio_device>
 Instantiate the GPIO device.

Detailed Description

Architecture rtl of top entity.

Definition at line 35 of file top.vhd.

Member Function Documentation

§ pr_reset()

pr_reset (   clk,
  lock 
)

Reset process.

This process provides a synchronous reset signal where possible. Before the PLL has locked, it asserts reset; and after the PLL has locked it uses the resynchronized reset input pin.

Definition at line 201 of file top.vhd.

201  pr_reset : PROCESS (clk, lock) IS
202  BEGIN
203 
204  IF (lock = '0') THEN
205  rst_ms <= '1';
206  rst <= '1';
207  ELSIF (rising_edge(clk)) THEN
208  rst_ms <= rst_in;
209  rst <= rst_ms;
210  END IF;
211 
212  END PROCESS pr_reset;

§ pr_spi_input()

pr_spi_input (   clk ,
  rst  
)
Process

SPI input double-flop resynchronizer.

This process double-flops the SPI inputs to resolve metastability and ensure the signals are stable for SPI processing

Definition at line 218 of file top.vhd.

pr_spi_input : PROCESS (clk, rst) IS
218  BEGIN
219 
220  IF (rst = '1') THEN
221  spi_cs_ms <= '0';
222  spi_sclk_ms <= '0';
223  spi_mosi_ms <= '0';
224  spi_ver_en_ms <= '0';
225  spi_cs_s <= '0';
226  spi_sclk_s <= '0';
227  spi_mosi_s <= '0';
228  spi_ver_en_s <= '0';
229  ELSIF (rising_edge(clk)) THEN
230  spi_cs_ms <= spi_cs_in;
234  spi_cs_s <= spi_cs_ms;
238  END IF;
239 
240  END PROCESS pr_spi_input;
241 
std_logic rst
Reset.
Definition: top.vhd:41
in spi_sclk_instd_logic
SPI clock input line.
Definition: top.vhd:26
in spi_ver_en_instd_logic
SPI Version Enable input line.
Definition: top.vhd:29
std_logic spi_mosi_ms
SPI MOSI input (metastable)
Definition: top.vhd:44
std_logic spi_ver_en_s
SPI Version Enable input (stable)
Definition: top.vhd:49
std_logic spi_cs_ms
SPI chip-select input (metastable)
Definition: top.vhd:42
std_logic spi_sclk_ms
SPI clock input (metastable)
Definition: top.vhd:43
in spi_mosi_instd_logic
SPI MOSI input line.
Definition: top.vhd:27
std_logic spi_sclk_s
SPI clock input (stable)
Definition: top.vhd:47
in spi_cs_instd_logic
SPI chip-select input line.
Definition: top.vhd:25
std_logic spi_mosi_s
SPI MOSI input (stable)
Definition: top.vhd:48
std_logic spi_ver_en_ms
SPI Version Enable (metastable)
Definition: top.vhd:45
std_logic spi_cs_s
SPI chip-select input (stable)
Definition: top.vhd:46
std_logic clk
Main clock (99.72MHz)
Definition: top.vhd:39

The documentation for this class was generated from the following file:
  • fpga/targets/MachX02-7000HE-Breakout/impl1/source/top.vhd