(9)LMP的调用方法分析解读

上传人:鲁** 文档编号:570039319 上传时间:2024-08-01 格式:PPT 页数:47 大小:609KB
返回 下载 相关 举报
(9)LMP的调用方法分析解读_第1页
第1页 / 共47页
(9)LMP的调用方法分析解读_第2页
第2页 / 共47页
(9)LMP的调用方法分析解读_第3页
第3页 / 共47页
(9)LMP的调用方法分析解读_第4页
第4页 / 共47页
(9)LMP的调用方法分析解读_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《(9)LMP的调用方法分析解读》由会员分享,可在线阅读,更多相关《(9)LMP的调用方法分析解读(47页珍藏版)》请在金锄头文库上搜索。

1、EDA技术应用2012-3-2提纲LPM原理图调用方法原理图输入法中的层次化设计VHDL设计初步LPM的简介LPM:Library of Parameterized Modules)参数可设置模块库优点:n可使基于EDA技术的电子设计的效率和可靠性大大提高。n设计者可以根据实际电路的设计需要,选择LPM库中的适当模块,并为其设定适当的参数,就能满足自己的设计需要。nMax+plusii提供很多实用的兆功能块,如:LPM_ROM、LPM_FF、LPM_MUX等LPM的调用方法有图形和硬件描述语言模块两种形式。1. 基于基于LPM_ROM的的4位乘法器设计位乘法器设计图图1 用用LPM_ROM设计

2、的设计的 4位乘法器原理图位乘法器原理图(1) 用文本编辑器编辑用文本编辑器编辑mif文件文件图图3 LPM_ROM构成的乘法器仿真波形构成的乘法器仿真波形图图2 LPM_ROM参数设置窗口参数设置窗口(2) 用初始化存储器编辑窗口编辑用初始化存储器编辑窗口编辑mif文件文件图图4 在在Initialize Memory窗口中编辑乘法表地址窗口中编辑乘法表地址/数据数据练习:基于LPM-COUNTER的数控分频器的设计 层次化设计也称为“自底向上”的设计方法,即将一个大的设计项目分解为若干个子项目或若干个层次来完成。先从底层的电路设计开始,然后在高层次的设计中逐级调用低层次的设计结果,直至最后

3、系统电路的实现。对于每一个层次的设计结果,都经过严格的仿真验证,尽量减少系统设计中的错误。2.原理图输入法中的层次化设计原理图输入法中的层次化设计例如:全加器的EDA原理图输入设计1位全加器的原理图全加器元件符号例:用层次化设计设计一个两位二进制数乘法器例:用层次化设计设计一个两位二进制数乘法器 1.系统分析系统分析 两位二进制数相乘,最多可得四位二进制数,其乘法两位二进制数相乘,最多可得四位二进制数,其乘法运算如图运算如图: a0 al X b0 b1 alb0 a0b0 +alb1 a0b1 m3 m2 ml m0 其中:其中:m0=a0&b0 ml=al&b0+a0&b1 m2=al&b

4、1+进位进位c1 m3=进位进位c2 由此可知,系统可分解为两个半加器和几个与门联结由此可知,系统可分解为两个半加器和几个与门联结而成。而成。顶层电路两位二进制数乘法器设计顶层电路两位二进制数乘法器设计 根据系统分析所得结论,可按根据系统分析所得结论,可按图图5设计两位二进制数乘设计两位二进制数乘法器电路。法器电路。 新建一个工程文件夹新建一个工程文件夹mult2,把,把hadd.bdf, hadd.bsf文件文件放入其中,新建一个原理图文件,使用插入符号命令,出放入其中,新建一个原理图文件,使用插入符号命令,出现选择符号的界面,选择现选择符号的界面,选择hadd.bsf将它放置于原理图编辑将

5、它放置于原理图编辑区中,以区中,以mult2.bdf命名并保存到命名并保存到mult2文件夹中。以此文文件夹中。以此文件新建工程。按件新建工程。按图图5调出其他有关元件并按图连线,保存、调出其他有关元件并按图连线,保存、编译并通过仿真。编译并通过仿真。 通过编译仿真,其仿真波形如通过编译仿真,其仿真波形如图图6所示。所示。 本例的底层电路符号用原理图设计输入法设计后生成,本例的底层电路符号用原理图设计输入法设计后生成,还可以用以后介绍的文本设计输入法设计后生成,这样的还可以用以后介绍的文本设计输入法设计后生成,这样的设计方法称混合设计输入法设计方法称混合设计输入法图5仿真波形仿真波形图图61

6、简单组合电路的简单组合电路的VHDL描述描述最小单元门电路&abcu1若要描述该单元,需要知道:若要描述该单元,需要知道:1该单元的名称?该单元的名称?2输入端、输出端?信号类型?输入端、输出端?信号类型?3输入与输出之间的关系?输入与输出之间的关系?习惯称为“实体”Entity u1 isPort( a : in bit; b : in bit; c : out bit);End u1; -u1.vhdLibrary ieee;Use ieee.std_logic_1164.all;Entity u1 isPort( a : in std_logic; b : in std_logic; c

7、 : out std_logic);End u1;Architecture aa of u1 isBegin c = a and b;End aa文件名和实体名一致文件名和实体名一致每行;结尾每行;结尾包包实体实体结构体结构体库库关键字关键字end后跟后跟实体名实体名关键字关键字begin关键字关键字end后跟后跟结构体名结构体名&abcu1门电路的门电路的VHDL的描述的描述VHDL程序结构组成Library ;- 库,包等的说明Entity ;- 实体说明Architecture;- 结构体描述一般由三个部分组成一般由三个部分组成:实体(实体(ENTITY)库(库(LIBRARY)结构体结

8、构体(ARCHITECTURE)进程(进程(PROCESS)或其它结构或其它结构VHDL设计文件VHDL的基本结构: 实体实体 + 结构体结构体实体实体:描述了电路器件的外部情况及各信 号的基本性质 以关键字ENTITY 开始,END ENTITY 结束结构体结构体:描述电路器件的内部逻辑功能和电 路结构 以ARCHITECTURE开始,END ARCHITECTURE结束多路选择器的多路选择器的VHDL描述描述 图图1-1 mux21a实体实体 图图1-2 mux21a结构体结构体 【例例】 2选选1选择器的一种表达选择器的一种表达 mux21a.vhd 【方法方法1】 ENTITY mux

9、21a IS PORT ( a, b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINy = (a AND (NOT S) OR( b AND s) ; END ARCHITECTURE one ; 结构描述结构描述【方法方法2】ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s

10、 = 0 ELSE b ;END ARCHITECTURE one ; 行为描述行为描述【方法方法3】 ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGINd = a AND (NOT S) ;e = b AND s ;y = d OR e ; END ARCHITECTURE one ; 结构描述结构描述【方法方法4】 ENTITY mux21a IS PORT ( a,

11、b, s: IN BIT; y : OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ;END IF; END PROCESS;END ARCHITECTURE one ; 行为描述行为描述2 2选选1 1选择器的仿真波形结果选择器的仿真波形结果 图图1-3 mux21a功能时序波形功能时序波形 描述设计功能的输入输出端子(描述设计功能的输入输出端子(Port)在层次化设计时,在层次化设计时,Port为模块之

12、间的接口为模块之间的接口在芯片级,则代表具体芯片的管脚在芯片级,则代表具体芯片的管脚语法:语法:ENTITY e_name IS PORT ( p_name : port_m data_type; . p_namei : port_mi data_type );END ENTITY e_name; 相关相关VHDL语法现象说明:语法现象说明:&abcu11. 1. 实体实体实体(Entity)描述举例Entity FU1 is port (A, B,C: in bit ; F: out bit );end FU1;FU1A BFC实体命名实体命名:必须和文件名一致,必须和文件名一致,FU1.v

13、hd2 2、Port Port 语句语句Library ieee;Use ieee.std_logic_1164.all;Entity u_and2 isPort( a : in std_logic; b : in std_logic; c : out std_logic );End u_and2;Architecture behv of u_and2 isBegin c = a and b;End behv;注意最后一个端口说明注意最后一个端口说明语句不要加分号!语句不要加分号!元件的外部端口。元件的外部端口。语法:语法:PORT(端口名:端口模式端口名:端口模式 数据类型;数据类型; 端口

14、名:端口模式端口名:端口模式 数据类型);数据类型); 3 3、数据类型、数据类型1. 1. 布尔布尔(BOOLEAN)(BOOLEAN)数据类型数据类型2. 2. 位位(BIT)(BIT)数据类型数据类型 只有只有2种取值:种取值:(0,1)3. 3. 位矢量位矢量(BIT_VECTOR)(BIT_VECTOR)数据类型数据类型4. 4. 字符字符(CHARACTER)(CHARACTER)数据类型数据类型5. 5. 整数整数(INTEGER)(INTEGER)数据类型数据类型6. 6. 实数实数(REAL)(REAL)数据类型数据类型:指端口上流动数据的格式,有多种选择。:指端口上流动数据

15、的格式,有多种选择。7. 7. 标准逻辑位标准逻辑位(STD_LOGIC)(STD_LOGIC)数据类型数据类型4 4、端口模式说明、端口模式说明端口模式端口模式说明IN输入,只读模式OUT输出,单向赋值模式BUFFER具有读功能的输出模式INOUT双向,可以读入或者写出信息指端口信号的传输方向指端口信号的传输方向P Ports:INININOUTBUFFERINOUTOUT5. 5. 结构体结构体ARCHITECTURE arch_name OF e_name ISARCHITECTURE arch_name OF e_name IS 说明语句说明语句 BEGINBEGIN ( (功能描述语

16、句功能描述语句) )END ARCHITECTURE arch_name END ARCHITECTURE arch_name ; 元件的结构体说明。元件的结构体说明。语法:语法:【例例】2选选1选择器的另一种表达选择器的另一种表达 mux21b.vhd ENTITY mux21b IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21b; 文件名实体名端口模式数据类型端口信号名6 6、进程、进程 process()process()ARCHITECTURE one OF mux21b IS BEGIN PROC

17、ESS (a,b,s) BEGIN IF s = 0 THEN y = a ; ELSE y = b ; END IF; END PROCESS;END ARCHITECTURE one ; 结构体名进程敏感信号PROCESS进程语句和顺序语句:进程语句和顺序语句:所有的顺序所有的顺序描述语句都必须放在进程语句描述语句都必须放在进程语句PROCESS中。中。敏感表:敏感表:输入信号都必须放在敏感表中,只要输入信号都必须放在敏感表中,只要一个信号发生改变,进程语句就启动执行一次;一个信号发生改变,进程语句就启动执行一次; 一个结构体中可以包含任意多个进程语句,一个结构体中可以包含任意多个进程语句

18、,所有的进程语句都是并行语句,但进程内部的所有的进程语句都是并行语句,但进程内部的语句是顺序执行的语句是顺序执行的7. 赋值符号和数据比较符号赋值符号和数据比较符号 赋值符号是赋值符号是 = 比较符号是比较符号是 = 布尔数据类型(布尔数据类型(BOOLEAN):指一个表达式的值指一个表达式的值,为真或,为真或者假(者假(true = 1,false = 0 ),用于逻辑操作和条件判断。用于逻辑操作和条件判断。8. 逻辑操作符逻辑操作符 AND OR NOT NAND NOR XOR P302优先级: NOT最高,其它相同. P303例:例:if (s1=0) and (s2=1) or (c

19、b+1) then Y=A; 赋值符号赋值符号“=” 和关系操作的小于等于符和关系操作的小于等于符“=”非常相非常相似似,要正确判别不同的操作关系要正确判别不同的操作关系,应注意上下文的含义和说应注意上下文的含义和说明明9 9、信号赋值语句、信号赋值语句书写格式为:书写格式为: 目的信号量目的信号量=信号量表达式;信号量表达式;例如例如:a=b;赋值符号两边信号赋值符号两边信号类型类型和和位长度位长度应该一致。应该一致。【例例】2选选1 选择器的第三种选择器的第三种VHDL描述描述 mux21c.VHDENTITY mux21c IS PORT ( a, b : IN BIT; s : IN

20、BIT; y : OUT BIT );END ENTITY mux21c;ARCHITECTURE one OF mux21c IS BEGIN y = a WHEN s = 0 ELSE b ;END ARCHITECTURE one ; 1010、并行条件信号赋值语句、并行条件信号赋值语句 WHENELSE WHENELSE 语句语句WHEN_ELSE条件信号赋值语句条件信号赋值语句赋值目标 = 表达式 when 条件1 else 表达式 when 条件2 else . 表达式 ; z = a WHEN p1 = 1 ELSE b WHEN p2 = 1 ELSE c ; 语法:语法:举例

21、:举例:优先级:前面的赋值语句优先级高优先级:前面的赋值语句优先级高例例 2:4译码器译码器(用(用WHEN_ELSE语句)语句)Entity decoder24 is port(b,a: in bit; y3,y2,y1,y0:out bit);End entity decoder24;Architecture one of decoder24 is Begin y0=0 when b=0 and a=0 else 1; y1=0 when b=0 and a=1 else 1; y2=0 when b=1 and a=0 else 1; y3=0 when b=1 and a=1 else

22、 1;End architecture one;bay0y1y2y3decoder241111、命名规则、命名规则只能使用只能使用 英文字母(不区分大小写)英文字母(不区分大小写) 阿拉伯数字阿拉伯数字 下划线下划线不准使用其他符号和中文。不准使用其他符号和中文。注意:注意: “0”和和“o” 、 “_” 和和“-” 、 “1”、“i” 、“I”和和“l” 1212、文件取名和存盘、文件取名和存盘 “mux21amux21a.vhd” adder_f.vhd 存盘:存盘:把同一个设计的相关文件保存在同一个文件夹把同一个设计的相关文件保存在同一个文件夹下,而不能在硬盘的根目录下或者不同的文件夹下

23、下,而不能在硬盘的根目录下或者不同的文件夹下 E:AAMUX21A.VHD F:MUX21A.VHD文件取名:文件取名:文件名和实体名一致,且不和库里已有文件名和实体名一致,且不和库里已有 的器件重合。的器件重合。AND2.VHD错,重名ERROR2、VHDL程序设计约定(1)语句描述中方括号“ ”中的内容为可选内容。(2)不区分大小写。(3)程序中的注释使用双横线“-”。(4)为了帮助程序的阅读和调试,书写和输入程序时, 适用层次缩进格式,同一层次对齐,低层次缩进两 个字符。(5)各个源程序文件的命名均与其实体名一致。小结:小结:1、VHDL基本结构:entity + architectur

24、e习题习题 画出与下例实体描述对应的原理图符号元件:画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS - 实体实体1: 三态缓冲器三态缓冲器 PORT (input : IN STD_LOGIC ; - ? enable : IN STD_LOGIC ; - ? output : OUT STD_LOGIC ) ; - ?END buf3x ;ENTITY mux21 IS -实体实体2: 2选选1多路选择器多路选择器 PORT (in0, in1, sel : IN STD_LOGIC; output : OUT STD_LOGIC); 上机作业上机作业:1.五输入与非门五输入与非门2.用用when-else语句编写语句编写4选选1选择器选择器3. 用用when-else语句语句3-8译码器译码器要求: (1).基于VHDL语言描述器件的功能; (2).在max+plusII环境中编译通过; (3).仿真通过,并得到正确的波形。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号