How to use LPM within VHDL Entry Danny Mok Altera HK FAE (amok@altera.com) bBRA Copyright 1997 Altera Corporation 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 How to use LPM within VHDL Entry Danny Mok Altera HK FAE (dmok@altera.com)
What is lpm LPM is some pre-design module which can help you to finish your design more easier All LPM is parameterized, so you just need to type in the input parameter, the LPM will behave what you want a EXample of LPM available Ipm dff, lpm rom, Ipm ram dq etc Copyright 1997 Altera Corporation 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 What is LPM ◼ LPM is some pre-design module which can help you to finish your design more easier ◼ All LPM is parameterized, so you just need to type in the input parameter, the LPM will behave what you want ◼ Example of LPM available – lpm_dff, lpm_rom, lpm_ram_dq etc
Where is the lpm locate ■■■■■■ Enter Symbol ymbol Name: c: \maxplus 2\max 2lib\mega_lpm\" Here is the lpm library locate at Symbol Libraries c: \megacore \lib c: \maxplus 2\max lib\prim c: \maxplus 2\max2lib\m c: \maxplus2\max2lib\mega Ipm Directory is: d: \max2work Symbol Files Directories Here is all the LPm e maxplus2 Ipm counter available to the user Ipm decode Le max2lib ppp mmmmm Drives OK Cancel Copyright 1997 Altera Corporation 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 Where is the LPM locate ...... Here is the LPM library locate at Here is all the LPM available to the user
Use LPM in the Graphic design LPM ADDRESS CONTROLE i know how to use the Lpm within the graphic LPM FILE- Design Entry, but how about VHDL design LPM INDATAF" REGISTERED PM NUMORDS=16 PM OUTDATAE"UNREGISTERED LPM WIDTH=18 PM WIDTHAD=4 LPM RAM DQ address bBRA Copyright 1997 Altera Corporation 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 Use LPM in the Graphic design I know how to use the LPM within the Graphic Design Entry, but how about VHDL design Entry
How to use the LPM for my Vhdl design e MAX+plus ll Manager-Untitled1 Help Topics: MAX+plus ll version 8.1 Help MA+ sll Eile Assign Options世p Index Find Topics Found 区 1 Type the first few letters of the word you're looking for Ipm_ram_dd Click a topic, then cick Display 2 Click the index entry you want, and then click Display LPM PIPELINE parameter lpm shiftreg Ipm tff LSTTL functions LSTTL functions [Cadence Machine Alias Declaration hine aliases (see also"state machines") achine ports see"state machines" Machine Section T Display Cancel ZAOBRA Copyright 1997 Altera Corporation 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 How to use the LPM for my VHDL Design
Altera provide example File Edit Book 旦 ptions Help Implementing RAM& ROM VHDL on on Synchronous or asynchronous ROM csdpram Cycle-shared dual-port RAM Csiro Cycle-shared first-in first-out (FIFO)buffer In these functions, parameters are used to determine the input and out put data widths: th memory: whether data inputs, address/control inputs, and outputs are registered or unreg ontent file is to be included for a RAM block; and so on. You must declare parameter n ROM function by using Generic Map Aspects. The following example shows a 256 x 8 bi separate input and output ports 工工 BRARY ieee e.std_1口giC_1164.矗工 工 BRARY1pm USE work ram c tants,A工工 ENTITY ram256x8 IS PORT( data: IN STD LOGIC VECTOR (DATA WIDTH-1 DOWNTO 0) ddress: IN STI工 R (ADDR WIDTH-1 DOWNTO 0) we g: OUT STD LOGIC VECTOR (DA 工DT 1 DOWNTO 0)) END ra25638 ARCHI TECTURE example OF ram256x8 IS BEGIN inst 1: lpm ram da GENERIC MAP (lpm widthad - ADDR WIDTH PORt MaP (data = data, address = address, we =>we inclock = inclock. outclock = outclock, C=>g END example
Copyright © 1997 Altera Corporation 2/22/2021 Altera provide example
Example of LPM RAM DQ 國vhd3vhd- TextEditor LIBRARY ieee USE ieeestd logic_1164.ALL, LIBRARY Ipm; USE Ipmlpm components. ALL ENT und T PORTO data: IN STD LOGIC UECTOR (7 DOWNTO 9) address: IN STD LOGIC UECTOR (7 DOWNTO g) we, inclock, outclock: IN STD LOGIC END l 9: OUT STD_LOGIC_UECTOR (7 DOWNTO 0)); d13 ARCHITECTURE example OF uhd13 Is BEGIN imst 1: lpm ram dq GENERIC MAP (lpm widthad =>8 lpm width =>8) Port MAP (data => data, address = address, we =>we inclock - inclock, outclock ->outclock, q=>q); ENDe∷ bBRA Copyright 1997 Altera Corporation 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 Example of LPM_RAM_DQ
tion [Successfull- Floorplan Editor Chip Name: vhdI3(EPF10K1OLC84-3) Unassigned Nodes Pins: □ Row t Col. FastTrack/ □ Row FastT rack Column FastTrack 七 Carry/Cascade al LAB Fan-Out Selected Node[s]& Pin(s]: Only none> boded ea The LPM RAM DQ has been implemented in the EAB Copyright 1997 Altera Corpor 2/22/2021
Copyright © 1997 Altera Corporation 2/22/2021 The LPM_RAM_DQ has been implemented in the EAB
Second Example eMAX+plus ll Version 8.1 Help Topics found Contents Index Click a topic, then click Display ? Ipm_rom(ROM) ng RAM &RO MAX+PLUs‖ Implementing RAM ROM VHDL lpm rom [Parameterized ROM Megan Parameterized roM megafunction Altera recommends that you use the lpm_rom function to implement all ROM functions only for FLEX. 1.0K devices AHDL Function Prototype FUNCTIoN lpm_rom (address[LPM_ WIDTHAD-1.0]. inclock, outclock WITH (LPM_ UIDTH, LPM_ UIDTHAD, LPM_ NUMWORDS, LPM_ FILE, LPM_ AL ReTURNS (q[LPM_ WIDTH-1.0] Display VHDL Component Declaration COMPONENT lpm_ rom GENERIC (LPM_ WIDTH: POSITIVE LPM TYPE: STRING :=L ROM LPM WIDTHAD: POSITIVE LPM NUMWORDS STRING E UNUSED LPM FILE. STRING LPM ADDRESS CONTROL: STRING :- REGISTERED LPM OUTDATA: STRING := REGISTERED LPM HINT. STRII UNUSED) PORT (address: IN STD_LOGIC_VECTOR(LPM_WIDTHAD-1 DOWNTO 0) inclock. IN STD LOGIC :=1 outclock: IN STD LOGIC =1 emenab: IN STD LOGIC : ='1 OUT STD_ LOGIC VECTOR(LPM_ UIDTH-1 DOWNTO 0)) END COMPONENT
Copyright © 1997 Altera Corporation 2/22/2021 Second Example
Example LPM ROM LIBRARY ieee USE ieeestd logic 1164.ALL -rBRARY lpm USE Ipmlpm components. ALL: ENTITY UTuR5-15 PORT( address: IN STD LOGIC UECTOR (7 DOWNTO ) inclock b: IN STD LOGIC END UL out: OUT STD_LOGIC_ VECTOR (7 DOWNTO 0)): ARCHITECTURE example OF uhd13 Is What is the mif file GENERIC (LPM WIDTH: POSITIUE; LPM TYPE. STRING L ROM LPM WIDTHAD POSITIUE LPM NUMWORDS. STRING . UNUSED LPM FILE: STRING LPM ADDRESS CONTROL: STRING : REGISTERED: LPM OUTDATA: STRING . REGISTERED LPM HINT: STRING : UNUSED): PORT (address: IN STD LOGIC UECTOR(LPM WIDTHAD-1 DOWNTO 8); inclock: IN STD LOGIC -1 outclock. IN STD LOGIC memenab: IN STD LOGIC :-1: q: OUT STD LOGIC UECTOR(LPM WIDTH-1 DOWNTO 5) END COMPONENT BEGIN inst 1: Ipm rom GENERIC MAP (Ipm width =>8, ipm widthad =>8, lpm file =>testrom mif lpm address control registered", lpm outdata =>unregistered PORT MAP( address = address, inclock = inclock, memenab = menenab, q => qout) END example:
Copyright © 1997 Altera Corporation 2/22/2021 Example LPM_ROM What is the MIF file