Professional Documents
Culture Documents
FPGA UG 02039 1 1 LMMI LINTR User Guide
FPGA UG 02039 1 1 LMMI LINTR User Guide
User Guide
FPGA-UG-02039-1.1
February 2018
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
Contents
1. Introduction .................................................................................................................................................................. 4
2. Lattice Memory Mapped Interface (LMMI) .................................................................................................................. 4
2.1. Signal Definitions ................................................................................................................................................. 4
2.2. Reset .................................................................................................................................................................... 5
2.3. Transaction Descriptions ..................................................................................................................................... 5
2.3.1. Write Transactions .........................................................................................................................................5
2.3.2. Read Transactions ..........................................................................................................................................9
2.3.3. Back-to-Back Transactions............................................................................................................................13
2.3.4. Pipelined Transactions..................................................................................................................................16
2.3.5. State/Flow Diagrams ....................................................................................................................................16
3. Lattice Interrupt Interface (LINTR) .............................................................................................................................. 18
3.1. Signal Definitions ............................................................................................................................................... 18
3.2. Interrupt Registers ............................................................................................................................................ 18
3.2.1. Interrupt Status Register ..............................................................................................................................18
3.2.2. Interrupt Enable Register .............................................................................................................................19
3.2.3. Interrupt Set Register ...................................................................................................................................20
3.2.4. Interrupt Signal Generation ..........................................................................................................................20
3.3. Interrupt Handling ............................................................................................................................................. 21
Revision History .................................................................................................................................................................. 22
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
2 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
Figures
Figure 2.1. Single Write with No Wait States ....................................................................................................................... 5
Figure 2.2. Single Write with Wait States ............................................................................................................................. 6
Figure 2.3. Burst Write with No Wait States ......................................................................................................................... 7
Figure 2.4. Burst Write with Wait States .............................................................................................................................. 8
Figure 2.5. Single Read with No Wait States......................................................................................................................... 9
Figure 2.6. Single Read with Wait States ............................................................................................................................ 10
Figure 2.7. Burst Read with No Wait States ........................................................................................................................ 11
Figure 2.8. Burst Read with Wait States ............................................................................................................................. 12
Figure 2.9. Back-to-Back Read and Write with No Wait States .......................................................................................... 13
Figure 2.10. Back-to-Back Read and Write with Wait States .............................................................................................. 14
Figure 2.11. Back-to-Back Write and Read with No Wait States ........................................................................................ 15
Figure 2.12. Back-to-Back Write and Read with Wait States .............................................................................................. 16
Figure 2.13. Simple Master Example .................................................................................................................................. 17
Figure 3.1. Interrupt Handling Sequence ............................................................................................................................ 21
Tables
Table 2.1. LMMI Signal Definitions ....................................................................................................................................... 4
Table 3.1. LINTR Signal Definitions ..................................................................................................................................... 18
Table 3.2. int_status Register Definition ............................................................................................................................ 18
Table 3.3. int_status Register Bitfield Definition ................................................................................................................ 19
Table 3.4. int_enable Register Definition ........................................................................................................................... 19
Table 3.5. int_enable Register Bitfield Definition ............................................................................................................... 19
Table 3.6. int_set Register Definition ................................................................................................................................. 20
Table 3.7. int_set Register Bitfield Definition ..................................................................................................................... 20
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 3
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
1. Introduction
This document provides a description of the Lattice Memory Mapped Interface (LMMI) and Lattice Interrupt Interface
(LINTR). Many FPGA IP blocks provide a set of dynamically programmable configuration, control, and status bits or
provide interfaces for transactional data transfer. LMMI is a common interface which supports these operations in a
consistent and well-defined manner. Some FPGA IP blocks also provide asynchronous status information or service
requests through interrupts. LINTR defines a set of functional standards and naming conventions for IP blocks which
generate interrupts.
This document covers the top-level definitions of LMMI and LINTR which apply to all Lattice FPGA IP blocks. For more
detailed interface or register information for a given FPGA IP block, please refer to the User’s Guide for that block.
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
4 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
2.2. Reset
The lmmi_resetn signal can be asserted asynchronously, but deassertion must be synchronous after the rising edge of
lmmi_clk. The minimum duration for reset assertion is one full clock cycle.
Reset is asynchronous. When lmmi_resetn is asserted, all output ports on the slave drive their reset value (0)
immediately.
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 5
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
6 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 7
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
T0 T1 T2 T3 T4 T5
lmmi_clk
lmmi_request
lmmi_wr_rdn
lmmi_rdata_valid
lmmi_rdata[n:0]
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
8 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 9
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
10 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 11
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
T0 T1 T2 T3 T4 T5
lmmi_clk
lmmi_request
lmmi_wr_rdn
lmmi_wdata[n:0]
lmmi_rdata_valid
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
12 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 13
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
T0 T1 T2 T3 T4 T5
lmmi_clk
lmmi_request
lmmi_wr_rdn
lmmi_wdata[n:0] DATA2
lmmi_rdata_valid
lmmi_rdata[n:0] DATA1
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
14 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 15
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
T0 T1 T2 T3 T4 T5
lmmi_clk
lmmi_request
lmmi_wr_rdn
lmmi_wdata[n:0] DATA1
lmmi_rdata_valid
lmmi_rdata[n:0] DATA2
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
16 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
IDLE
request=0
new transaction
REQUEST
request=1
offset=<new>
wr_rdn=<new>
ready=0
[wdata=<new>]
ready=1
latch rdata
wr_rdn
0 (read) 1 (write)
rdata_valid=1 ready=1
READ WRITE
WAIT WAIT
request=0 request=0
rdata_valid=0 ready=0
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 17
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
18 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 19
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
20 FPGA-UG-02039-1.1
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
Interrupt
IP Block
Handler
Interrupt
Generated
Handle
Enabled
Interrupts
Write int_status
to clear interrupts
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
FPGA-UG-02039-1.1 21
Lattice Memory Mapped Interface and Lattice Interrupt Interface
User Guide
Revision History
Date Version Change Summary
February 2018 1.1 Revised lmmi_ready description in Table 2.1.
Revised Reset section.
Revised Simple Master section. Added “burst transactions” to initial statement.
In Interrupt Registers section, changed statements to:
For example, if int_src1 is assigned to bit 0 in the interrupt status register, it is
assigned to bit 0 in the interrupt enable and set registers as well.
In other words, even if a block only supports one interrupt source, it
implements interrupt status, enable, and set registers at least 1 bit wide.
In Interrupt Status Register section, changed statement to:
For consistency among IP blocks, the bitfield names all end in _int.
In Interrupt Enable Register section, changed statement to:
For consistency among IP blocks, the bitfield names all end in _en.
In Interrupt Set Register section, changed statements to:
It is not used in most applications, but is provided to give applications the
ability to force individual interrupts.
For consistency among IP blocks, the bitfield names all end in _set.
© 2018 Lattice Semiconductor Corp. All Lattice trademarks, registered trademarks, patents, and disclaimers are as listed at www.latticesemi.com/legal. All other brand or product names are
trademarks or registered trademarks of their respective holders. The specifications and information herein are subject to change without notice.
22 FPGA-UG-02039-1.1
7th Floor, 111 SW 5th Avenue
Portland, OR 97204, USA
T 503.268.8000
www.latticesemi.com