版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上6.2 LPM计数器模块使用方法和例化 10电信本(2)班 石健康 实验名称:LPM计数器模块的使用方法实验预期:学习LPM计数器LPM_COUNTER的调用方法、流程的测试,掌握MegaWizard Plug_In Manager管理器对同类宏模块的一般使用方法;文档来自于网络搜索实验内容: 一、LPM_COUNTER计数器模块文本文件的调用1. 在程序文件夹abceda下建立子文件夹LPM_MD;2. 选择菜单栏ToolsMegaWizard Plug_In Manager命令,打开对话框如图所示:图表 1 定制新的宏功能块3. 选中create a new cu
2、stom megafunction variatin单选按钮,即定制一个新的模块(如果要修改一个已编辑好的LPM模块,则选中Edit an existing custom megafunction variation单选按钮);文档来自于网络搜索4. 单击Next按钮,在弹出的窗口中选择Arithmetic展开LPM算术模块选项。选择计数器LPM-COUNTER,再在右上选择Cyclone 器件系列和VHDL语言方式。最后输入此模块文件存放的路径和文件名:f:abcedaLPM_MDcnt4b:文档来自于网络搜索5. 单击next按钮,弹出对话框。选择4位计数器,选择“Creat an upd
3、own input”使计数器有加减控制功能。文档来自于网络搜索6. 单击next按钮,打开对话框,选择Modulus12,则表示模12计数器,从0记到11(若选择Plain binary则表示是普通的二进制计数器)。然后选择时钟使能控制Clock Enable和进位输出Carry-out,如图:文档来自于网络搜索7. 再单击next按钮,打开对话框,选择4位数据同步加载控制Load和异步清零控制Clear,如图:8. 再按next按钮结束设置。 二、例化 1)生成的LPM计数器模块VHDL源程序cnt4b如下:LIBRARY ieee;USE ieee.std_logic_1164.all;L
4、IBRARY lpm;USE lpm.all;ENTITY cnt4b ISPORT(aclr: IN STD_LOGIC ;clk_en: IN STD_LOGIC ;clock: IN STD_LOGIC ;data: IN STD_LOGIC_VECTOR (3 DOWNTO 0);sload: IN STD_LOGIC ;updown: IN STD_LOGIC ;cout: OUT STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);END cnt4b;ARCHITECTURE SYN OF cnt4b ISSIGNAL sub_wire0
5、: STD_LOGIC ;SIGNAL sub_wire1: STD_LOGIC_VECTOR (3 DOWNTO 0);COMPONENT lpm_counterGENERIC (lpm_direction: STRING;lpm_modulus: NATURAL;lpm_port_updown: STRING;lpm_type: STRING;lpm_width: NATURAL);PORT (sload: IN STD_LOGIC ;clk_en: IN STD_LOGIC ;aclr: IN STD_LOGIC ;clock: IN STD_LOGIC ;cout: OUT STD_L
6、OGIC ;q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0);data: IN STD_LOGIC_VECTOR (3 DOWNTO 0);updown: IN STD_LOGIC );END COMPONENT;BEGINcout <= sub_wire0;q <= sub_wire1(3 DOWNTO 0);lpm_counter_component : lpm_counterGENERIC MAP (lpm_direction => "UNUSED",lpm_modulus => 12,lpm_port_updown =
7、> "PORT_USED",lpm_type => "LPM_COUNTER",lpm_width => 4)PORT MAP (sload => sload,clk_en => clk_en,aclr => aclr,clock => clock,data => data,updown => updown,cout => sub_wire0,q => sub_wire1);END SYN;它调用了更底层的文件lpm_counter,同时可以作为一个底层元件被上一层设计调用或例化。二)设计
8、一新程序对cnt4b进行例化,新程序CNT4BIT如下:LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY CNT4BIT IS PORT (CLK,RST,ENA,SLD,UD:IN std_logic; DIN : IN std_logic_vector(3 DOWNTO 0); COUT : OUT std_logic; DOUT : OUT std_logic_vector(3 DOWNTO 0);END ENTITY CNT4BIT;ARCHITECTURE translated OF CNT4BIT IS COMPONENT CNT4B
9、PORT (aclr,clk_en,clock,sload,updown : IN STD_LOGIC;文档来自于网络搜索 data : IN STD_LOGIC_VECTOR(3 DOWNTO 0); cout : OUT STD_LOGIC; q: OUT STD_LOGIC_VECTOR (3 DOWNTO 0); END COMPONENT; BEGIN U1:CNT4B PORT MAP (sload=>SLD,clk_en=>ENA,aclr=>RST,文档来自于网络搜索 cout=>COUT,clock=>CLK,data=>DIN,updown=>UD,q=>DOUT);文档来自于网络搜索END ARCHITECTURE translated; 三、创建工程与仿真测试1. 对cnt4bit.vhd进行波形仿真,如图:图表 2 CNT4BIT.V仿真波形2. 建立一个新的原理图顶层文件,创建为工程文件,调入原件生成原理图,并对其进行波形仿真,如图:图表 3 CNT4BIT原理图图表 4 CNT4BIT原理图仿真波形四、结果分析通过实验并对图观察分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论