版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于实验参数可设置宏功能模块的应用第1页,共25页,2023年,2月20日,星期三一、参数可设置模块库参数可设置模块库(LibraryofParameterizedModules,LPM)是Altera公司提供的以图形或者硬件描述语言模块形式方便调用的宏功能块设计者可以根据设计电路的需要,选择LPM库中的适当模块,通过对其设置参数,完成自己的设计需要。不必进行重复模块的设计,而将更多的精力放在其他功能的实现上,极大地提高了电子设计的效率和可靠性。第2页,共25页,2023年,2月20日,星期三一、参数可设置模块库(续1)1、ALTERA提供的宏功能模块算术组件如:累加器、加法器、乘法器、LPM算术函数门电路如:多路复用器和LPM门函数
I/O组件如:时钟数据恢复(CDR)、锁相环(PLL)、千兆位收发器块(GXB)、LVDS接收器和发送器等存储组件和存储器编译器如:LPM_ROM、RAM第3页,共25页,2023年,2月20日,星期三一、参数可设置模块库(续2)算数组件序号模块名称功能描述1altfp_add_sub浮点加法器、减法器模块2altfp_div浮点参数化除法器宏模块3altfp_mult浮点参数化乘法器宏模块4altmemmult参数化存储乘法器宏模块5altmult_accum参数化乘累加器宏模块6altmult_add参数化乘加器宏模块7altfp_sqrt参数化整数平方根运算宏模块8divide参数化除法器宏模块9lpm_abs参数化绝对值运算宏模块(Altera推荐使用)10lpm_add_sub参数化加法器-减法器宏模块(Altera推荐使用)11lpm_compare参数化比较器宏模块(Altera推荐使用)12lpm_counter参数化计数器宏模块(Altera推荐使用)13lpm_divide参数化除法器宏模块(Altera推荐使用)第4页,共25页,2023年,2月20日,星期三一、参数可设置模块库(续3)门电路序号模块名称功能描述1lpm_and/or/xor参数化与门模块/或门/异或门模块2lpm_bustri参数化三态缓冲器模块3lpm_clshift参数化组合逻辑转化模块4lpm_constant参数化常数发生器模块5lpm_decode参数化解码器模块6lpm_inv参数化反向器模块7lpm_mux参数化多路转化器模块第5页,共25页,2023年,2月20日,星期三一、参数可设置模块库(续4)I/O组件序号模块名称功能描述1alt4gxb千兆位收发器模块2altdq数据滤波模块3altdqs参数化的双向数据滤波器模块4altlvds_rx低电压差分信号接收器5altlvds_tx低电压差分信号发送器6altpll参数化的锁相环模块第6页,共25页,2023年,2月20日,星期三一、参数可设置模块库(续5)存储组件序号模块名称功能描述1lpm_dff参数化D触发器和移位寄存器模块2lpm_ff参数化触发器宏模块3lpm_fifo参数化单时钟FIFO宏模块4lpm_fifo_dc参数化双时钟FIFO宏模块5lpm_latch参数化锁存器宏模块6lpm_ram_dp参数化双端口RAM模块7lpm_rom参数化ROM宏模块第7页,共25页,2023年,2月20日,星期三一、参数可设置模块库(续6)2、调用宏功能模块的方法也可通过菜单Tools→MegaWizardPlug-InManager新建原理图编辑文件,双击打开Symbol对话框调用第8页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器1、ROM工作原理由地址线(adderss)数量确定存储单元个数,如:8根地址线address(7..0),共有256个存储单元每个存储单元能够保存一定位数的二进制数,成为数据位宽2、实验原理写存储单元时,地址和数据的表达形式
地址:数据0010,1000:0001,10008位地址低4位8位地址高4位存储的数据乘数a=2乘数b=8乘积C=16第9页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器设置存储单元数目与数据宽度存储单元数目数据位宽第10页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器3、实验步骤配置乘法表数据文件File→New→MemoryFiles→MemoryInitializationFile(或者HexadecimalIntelFormatFile)第11页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器设置数据文件显示格式View→CellsPerRow改变表格每行显示单元个数地址显示进制存储数据显示进制第12页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器完成数据文件(九九乘法表)保存,文件名romdata.hex地址低4位,十六进制表示9地址高4位,十六进制表示9存储数据9×9=81第13页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器定制lpm_rom元件Tools→MegaWizardPlug-InManager第14页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器选择元件及保存位置等第15页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器设置lpm_rom参数数据位宽存储单元数目第16页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器设置lpm_rom参数(续)是否添加使能信号是否添加清零信号本例中可以不选择使能信号和清零信号,直接NEXT进入下一步设置第17页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器设置lpm_rom参数(续)单击Browse选择数据文件第18页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器完成lpm_rom设置添加定制结果到当前工程中第19页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器顶层文件的设计两种形式:VHDL语言或者原理图调用lpm_rom模块例1:采用VHDL语言libraryieee;useieee.std_logic_1164.all;entitymultipis--定义顶层实体
port(clk:instd_logic;a:instd_logic_vector(3downto0);--乘数a,即rom地址低4位
b:instd_logic_vector(3downto0);--乘数b,即rom地址高4位
q:outstd_logic_vector(7downto0));--乘积q,即存储单元内存储数据为a×bend;architectureoneofmultipiscomponentrom0--调用rom0,即rom0.vhd声明
port(address:instd_logic_vector(7downto0); clock:instd_logic; q:outstd_logic_vector(7downto0));endcomponent;beginu1:rom0portmap(clock=>clk,address(7downto4)=>b,address(3downto0)=>a,q=>q);end;第20页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器例2:采用原理图需要在打开rom0.vhd文件的情况下,选择File→Create/Update→CreateSymbolFilesforCurrentFile,将其转化为原理图元件总线形式结构注意:另存为与rom0不同名的文件名即可!第21页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器波形仿真新建波形文件→调入节点端口→设置仿真激励(过程同全加器波形仿真)设置时钟信号时钟周期设置第22页,共25页,2023年,2月20日,星期三二、利用lpm-rom设计一个乘法器波形仿真(续)
设置乘数、被乘数
选择数制设置数值
取消数值加1操作第23页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论