利用LPM元件实现逻辑设计由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“数字逻辑设计基础答案”。
● 利用LPM元件实现
利用LPM元件定制实现一个两个二位数比较的电路(六种情况:>、<、=、>=、<=、<>)1.建立工程文件
工程文件的建立与2.1节中介绍的实例中建工程的方法类似,新建工程所在的文件夹名称为lpm_bijiao、工程名称为lpm_lpm_bijiao、顶层实体名称为lpm_bijiao,选择目标器件为EPF10K20TC144-3。
2.定制LPM宏模块
⑴ 打开Mega Wizard Plug-in Manager对话框
在quartusII主窗口中选择Tools→Mega Wizard Plug-in Manager,或者在图形编辑窗口中的空白处双击鼠标左键,在弹出的对话框中选择Mega Wizard Plug-in Manager,弹出如图2.2.6所示的对话框。
图2.2.6
Mega Wizard Plug-in Manager对话框
⑵ 定制一个新的宏功能模块
在图2.2.6的对话框中选择操作模式,选择Create a new custom megafunction variation,定制一个新的宏功能模块,按Next按钮,进入如图2.2.7所示的宏功能选择窗口。
① 在图2.2.7中,左侧列出了可选择的LPM宏功能模块的类型,含Altera SOPC Builder、算数运算类、通信类、DSP类、基本门级类、I/O类、接口类、JTAG扩展类、存储编译器类、存储类等。本实例选择:Installed Plug_Ins→Arithmetic→LPM_COMPARE。右上方的目标器件选择框中显示在建立工程文件时已选择好的目标器件。右侧中间部分为选择编程硬件语言的类型和输入生成的文件名lpm_compare2,其他取默认值,单击Next按钮,进入如图2.2.8所示的LPM_COMPARE端口参数设置对话框。
图2.2.7
宏功能模块选择窗口
图2.2.8
LPM_COMPARE端口参数设置对话框1 ② 在图2.2.8中,将数据宽度设置由默认的8位改为2位,选择所需要的输出端口(比较电路的六种情况>、<、=、>=、<=、<>),完成参数设置,按Next按钮,进入如图2.2.9、2.2.10所示的对话框。
图2.2.9
LPM_COMPARE端口参数设置对话框2
图2.2。10
LPM_COMPARE端口参数设置对话框3 ③ 在图2.2.9、图2.2.10中选择默认设置,点击Next按钮,进入如图2.2.11所示的是否产生网表的对话框。
图2.2.11
产生网表的对话框
④ 在图2.3.11中,选中Gnerate netlist,单击Next按钮,进入如图2.2.12的对话框。按照该图设置完后,单击Finish按钮,完成lpm_compare2的定制。
图2.2.12
LPM_COMPARE设置向导结束对话框
在图2.2.12中,选择要生成的文件种类如下: a: lpm_compare.vhd:在VHDL语言设计 b: lpm_ compare.cmp c: lpm_ compare.bsf d: lpm_ compare _inst.vhd e: lpm_ compare _waveforms.html
3.原理图输入 ⑴ 建立原理图文件
在quartusII窗口,选择File→New,或者单击菜单栏中的⑵ 调用定制的LPM模块的图形符号
在空白的图形编辑窗口中,双击鼠标左键,或者单击图形编辑器左边的工具栏中的按钮,弹出如图2.2.13的选择电路元件符号的Symbol对话框。在Symbol对话框的Libraries栏中选择Project→lpm_compare2,或者在Name文本栏中输入刚刚定制的LPM宏功能模块名lpm_compare2,此时,在右侧区域显示出对应的LPM模块lpm_compare2的符号,点击OK按钮,再将其移动安置在合适的位置,单击鼠标左键,定制的LPM模块lpm_compare元件符号放置完成。如图2.2.14。
按钮,在弹出的新建文件类型对话框中选择Block Diagram/Schematic File,然后按OK按钮,进入图形编辑窗口。
图2.2.13
选择元件符号的Symbol对话框
图2.2.14
定制的LPM宏功能模块元件lpm_compare2放置完成的图
⑶ 添加输入输出引脚
在图2.2.14中,选中lpm_compare2,使其成蓝色,然后在lpm_compare2上点击鼠标右键,在弹出的菜单栏中选择Gnerate Pins for Symbol Ports并点击鼠标左键,此时lpm_compare2的输入输出引脚都添加了对应端口名,如图2.2.15。
图2.2.15
添加完引脚后的LPM模块元件lpm_compare2 ⑷ 保存文件
单击quartusII主界面的工具栏中的按钮,在弹出的“另存为”对话框的文件名的文本框中输入要保存的文件名:lpm_rstrig,后缀名为.bdf,然后按”保存“按钮,完成文件的保存。
4.LPM定制元件产生的对应VHDL文件 LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;
ENTITY lpm_compare2 IS PORT
ARCHITECTURE SYN OF lpm_compare2 IS
COMPONENT lpm_compare GENERIC(lpm_representation lpm_type lpm_width
dataa datab AgeB AlB
AleB
: STRING;: STRING;
: NATURAL);SIGNAL sub_wire0 : STD_LOGIC;SIGNAL sub_wire1 : STD_LOGIC;SIGNAL sub_wire2 : STD_LOGIC;SIGNAL sub_wire3 : STD_LOGIC;SIGNAL sub_wire4 : STD_LOGIC;SIGNAL sub_wire5 : STD_LOGIC;(dataa
datab
AeB AgB AgeB AlB AleB AneB : IN STD_LOGIC_VECTOR(1 DOWNTO 0);: IN STD_LOGIC_VECTOR(1 DOWNTO 0);: OUT STD_LOGIC;: OUT STD_LOGIC;: OUT STD_LOGIC;: OUT STD_LOGIC;: OUT STD_LOGIC;: OUT STD_LOGIC);END lpm_compare2;PORT(: IN STD_LOGIC_VECTOR(1 DOWNTO 0);: IN STD_LOGIC_VECTOR(1 DOWNTO 0);: OUT STD_LOGIC;: OUT STD_LOGIC;: OUT STD_LOGIC;
AneB AgB AeB : OUT STD_LOGIC;: OUT STD_LOGIC;: OUT STD_LOGIC);END COMPONENT;AgeB
lpm_representation => “UNSIGNED”, lpm_type => “LPM_COMPARE”, lpm_width => 2 dataa => dataa, datab => datab, AgeB => sub_wire0, AlB => sub_wire1, AleB => sub_wire2, AneB => sub_wire3, AgB => sub_wire4, AeB => sub_wire5);)BEGIN PORT MAP(END SYN;5.仿真验证
编译通过之后对其进行时序仿真功能验证,结果如图2.1.16。
图2.2.16
定制的LPM元件lpm_compare2的仿真结果
6.下载硬件验证,观察实验结果并记录实验数据 7.实验数据记录 ⑴ 波形图
⑵ 波形仿真时的参数设置 ⑶ 波形说明
利用霍尔元件进行油管探伤长江大学机械工程学院材料11001班摘要:在现代科技发展的过程中,大型设备的使用、维护、检测当然是必不可少的,为了保证工作以及人身的安全性,检测设备......
序很早之前就想对这几个月工作经历写的东西,一是作为自己的总结,二是自己也很 想将自己这段时间的一些经历和大家分享一下,希望对初学者而言能使得他们能少走一 些弯路。只是公......
利用ERP实现全面预算管理的设想摘要:本文通过了解ERP与全面预算管理的含义,分析出两者融合的可行性,并对利用ERP实现全面预算管理的理论基础、设计以及实际应用进行了探讨关键......
1.根据项目需求完成相应的PLD、FPGA程序设计、优化及调试等工作。2.根据要求书写规范的编程手册、调测报告等文档。3.配合硬件工程师进行调测。......
《数字逻辑课程设计》姓名: 宋国正 班级:计142 学号:149074056 2016年9月25日1 一、设计任务要求 数字时钟是由振荡器、分频器、计秒电路、计分电路、计时电路组成。计时采用2......