~ruther/vhdl-spi-2

vhdl-spi-2/hdl_spi/src/README -rw-r--r-- 1.3 KiB
330f5837 — Rutherther docs: add readme 2 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
spi_master
  SIZES (8, 16 default)
  SIZES_LOG2 1

  DIVISORS_LOG2 3
  DIVISORS (2, 4, 8, 16, 32, 64, 128, 256)

  CSN_PULSE_CYCLES (1 - divided clock cycle)

  INOUTS
    sck, miso, mosi

  STATE
    busy
    err_lost_rx_data
    clear_err_lost_rx_data

  DATA
    tx_en ( enable transmission. If disabled, mosi will be 'z', so miso and mosi can be connected )
    tx_valid ( the data on tx_data are valid )
    tx_ready ( ready to receive data. Receiving as soon as tx_valid is 1, the next edge will not be ready anymore)
    tx_data ( the data to transmit )

    rx_en ( reception can be disabled when you want to ignore the data )
    rx_valid ( the data on rx_data are valid )
    rx_confirm ( taking data from rx_data )
    rx_data ( the data to receive. If data aren't received during next word, the communication is stalled! )
    rx_block_on_full ( should rx block communication on full? if not, data can be lost if they are not read in time )

  CONFIGURATION
    en

    clock_polarity
    clock_phase

    size_sel
    div_sel

    pulse_csn

  STRUCTURE
    tx: piso_register
    rx: sipo_register
    ctrl: spi_master_ctrl
    clk_gen: spi_clkgen

spi_slave
  tx: piso_register
  rx: sipo_register
  ctrl: spi_slave_ctrl

spi_dual
  tx: piso_register
  rx: sipo_register
  master_ctrl: spi_master_ctrl
  slave_ctrl: spi_slave_ctrl
  clk_gen: spi_clkgen
Do not follow this link