




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章参数可设置LPM宏功能块应用,EDAEDA技术实用教程,参数可设置LPM宏功能块应用,LPM(Libraryofparameterizedmodules):参数可设置模块库参数可设置模块使用方法:LPM在mega-lpm库中,可通过图形或HDL模块形式调用,设置或修改参数即可。模块功能、参数含义、使用方法可在帮助文件中查阅:helpMegafunctions/LPM,Altera提供的宏功能模块与LPM函数:,算术组件组合组件I/O组件存储器编译器存储组件,6.1LPM模块的原理图方式调用,LPM_COUNTERLPM_ROM,LPM_COUNTER模块参数含义和设置:data:置入计数器的并行数据输入;clock:上升沿触发计数时钟输入。clk_en:高电平使能所有同步操作输入信号;updown:计数器加减控制输入。cin:最低进位输入;aclr:异步清0输入。aset:异步置位输入;q:计数输出;sload:在clk的上升沿同步并行数据加载输入;cout:计数进位或借位输出。LPM_WIDTH:计数器位宽;cnt_en:计数使能控制,,6.1.1基于LPM_COUNTER的数控分频器设计,数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,图6-1数控分频器电路原理图,计数器计满1111时,由cout发出进位信号给并行加载控制信号sload,使4位并行数据d3.0被加载到计数器中,此后计数器在d3.0基础上进行加/减计数.加法计数:分频比R=“1111”-d3.0+1CLK每进入R个脉冲,cout发出一个进位信号减法计数:分频比R=d3.0+1,参数设置,数控分频器工作波形,4位加法计数:分频比R=“1111”-d3.0+1或R=2n-d+1,d3.0=12,R=4,LPM模块产生毛刺,使输出产生错误,4位加法计数:分频比R=“1111”-d3.0+1或R=2n-d+1,d3.0=12,R=4,修改电路:,延时,图6-3用LPM_ROM设计的4位乘法器原理图,6.1.2基于LPM_ROM的4位乘法器设计,参数设置,图6-4LPM_ROM参数设置窗口,ROM中配置数据(初始化数据)文件方法:,(1)用文本编辑器编辑mif文件NEWTEXTEDITORFILE文件关键词:WIDTH:设置ROM数据宽度DEPTH:设置ROM数据深度(数据的数量)ADDRESS_RADIX:地址的表达格式DATA_RADIX:数据的表达格式地址/数据表以CONTENTBEGIN开始,以END结束;地址/数据表达方法:47:28冒号左边为ROM地址值,冒号右边为此地址中放置的数据文件编辑好,后以.mif为后缀保存文件设定LPMFILE的路径指向该文件名,LPM_ROM中作为乘法表的数据文件rom_data.mifWIDTH=8;DEPTH=256;ADDRESS_RADIX=HEX;DATA_RADIX=HEX;CONTENTBEGIN00:00;01:00;02:00;03:00;04:00;05:00;06:00;07:00;08:00;09:00;10:00;11:01;12:02;13:03;14:04;15:05;16:06;17:07;18:08;19:09;20:00;21:02;22:04;23:06;24:08;25:10;26:12;27:14;28:16;29:18;30:00;31:03;32:06;33:09;34:12;35:15;36:18;37:21;38:24;39:27;40:00;41:04;42:08;43:12;44:16;45:20;46:24;47:28;48:32;49:36;50:00;51:05;52:10;53:15;54:20;55:25;56:30;57:35;58:40;59:45;60:00;61:06;62:12;63:18;64:24;65:30;66:36;67:42;68:48;69:54;70:00;71:07;72:14;73:21;74:28;75:35;76:42;77:49;78:56;79:63;80:00;81:08;82:16;83:24;84:32;85:40;86:48;87:56;88:64;89:72;90:00;91:09;92:18;93:27;94:36;95:45;96:54;97:63;98:72;99:81;END;,(2)用初始化存储器编辑窗口编辑.mif,完成电路设计后,打开仿真器窗口simulator,选择Initialize菜单中InitializeMemery选项,在此窗口中完成地址/数据的编辑。然后按ExportFile将文件以.mif为后缀保存。,图6-6在InitializeMemory窗口中编辑乘法表地址/数据,图6-5LPM_ROM构成的乘法器仿真波形,LPM模块的VHDL文本方式调用方法:将LPM中的某一宏功能块作为以VHDL表达的设计项目中的一个元件,可利用MAX+plusII中内带的LPM块处理器,根据项目需要对其参数作适当设置,由此生成一个特定的LPMVHDL文本表述,最后利用元件例化语句,在顶层设计中调用该模块,从而优化设计。,6.2LPM模块的VHDL文本方式调用,LPM模块可作为低层设计元件,用HDL文本方式调用。在MAX+plusII中可调用LPM的HDL语言有AHDL、VHDL、VerilogHDL。,图6-7生成或修改一个定制的LPM模块,6.2.1编辑定制LPM_RAM模块,fileMegaWizardPlug-InManager,图6-8用VHDL定制LPM_RAM,文件名:RAM2.vhd,算术LPM模块,DSP宏LPM模块,门电路LPM模块,存储器LPM模块,图6-9选择RAM2数据位宽为8,地址线宽为9(29=512个字节),选择RAM数据位宽度,选择RAM地址线位宽,图6-10RAM2配置文件与结构设置,对FPGA初化数据文件配置:均为0/放置初化数据文件,RAM构建设置为:使用逻辑宏单元LCs/嵌入式阵列块EAB。选后者,不打勾,图6-11选择在读请求信号有效后数据输出,完成定制:生成文件、路径,图6-12双口RAM,X6.2.2双口RAM定制,双口RAM定制方法同RAM2,自动产生的文本文件如例6.2.2,RAM1数据位宽为8地址线宽为9,【例6.2.2】-自动生成代码LIBRARYieee;USEieee.std_logic_1164.all;ENTITYRAM1ISPORT(address:INSTD_LOGIC_VECTOR(8DOWNTO0);-9位地址输入inclock:INSTD_LOGIC;-数据写入时钟we:INSTD_LOGIC;-写允许信号data:INSTD_LOGIC_VECTOR(7DOWNTO0);-8位写入数据q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);-8位RAM数据输出ENDRAM1;ARCHITECTURESYNOFRAM1ISSIGNALsub_wire0:STD_LOGIC_VECTOR(7DOWNTO0);COMPONENTlpm_ram_dq-LPM元件GENERIC(lpm_width:NATURAL;-类属RAM数据宽度自然数数据类型,接上页lpm_widthad:NATURAL;-类属RAM地址线位宽自然数数据类型lpm_indata,lpm_address_control,lpm_outdata,lpm_hint:STRING);PORT(address:INSTD_LOGIC_VECTOR(8DOWNTO0);we,inclock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);data:INSTD_LOGIC_VECTOR(7DOWNTO0);ENDCOMPONENT;BEGINq8,-8位数据宽度自然数数据类型LPM_WIDTHAD=9,-9位地址线宽度自然数数据类型LPM_INDATA=REGISTERED,-寄存器锁存方式写入数据,字符串数据类型LPM_ADDRESS_CONTROL=REGISTERED,-寄存器锁存方式写入地址,字符串数据类型,接上页LPM_OUTDATA=UNREGISTERED,-非寄存器锁存方式输出数据LPM_HINT=USE_EAB=ON)-允许使用FPGA中的EABPORTMAP(address=address,inclock=inclock,data=data,we=we,q=sub_wire0);ENDSYN;,图6-13双口RAM的仿真波形,图6-14波形发生器电路系统结构图,1.正弦信号发生器结构,6.2.3正弦信号发生器设计与LPMROM定制,工作原理:计数器通过外来控制信号和高速时钟信号向波形数据ROM发出地址信号,输出波形频率由发出的地址信号速度决定,波形数据ROM中存有发生器的波形数据,当接受来自FPGA的地址信号后,从数据线输出相应波形数据,D/A转化器负责将ROM输出的数据转换成模拟信号,经滤波器后输出。,2.正弦信号波形数据文件建立,【例6.2.3.1】LPM_ROM中作为正弦波形数据文件sin_data.mifWIDTH=8;-数据位宽DEPTH=64;-地址线位宽6位(26字节)ADDRESS_RADIX=HEX;-16进制表示DATA_RADIX=DEC;-10进制表示CONTENTBEGIN00:255;01:254;02:252;03:249;04:245;05:239;06:233;07:225;08:217;09:207;0A:197;0B:186;0C:174;0D:162;0E:150;0F:137;10:124;11:112;12:99;13:87;14:75;15:64;16:53;17:43;18:34;19:26;1A:19;1B:13;1C:8;1D:4;1E:1;1F:0;20:0;21:1;22:4;23:8;24:13;25:19;26:26;27:34;28:43;29:53;2A:64;2B:75;2C:87;2D:99;2E:112;2F:124;30:137;31:150;32:162;33:174;34:186;35:197;36:207;37:217;38:225;39:233;3A:239;3B:245;3C:249;3D:252;3E:254;3F:255;END;,定制LPMROM文件,3.LPMROM定制,选择ROM参数,加入初始化文件,仿真波形,【例6.2.3.2】-SINDATA-自动生成代码LIBRARYieee;USEieee.std_logic_1164.all;ENTITYSINDATAISPORT(address:INSTD_LOGIC_VECTOR(5DOWNTO0);inclock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDSINDATA;ARCHITECTURESYNOFSINDATAISSIGNALsub_wire0:STD_LOGIC_VECTOR(7DOWNTO0);COMPONENTlpm_romGENERIC(lpm_width:NATURAL;lpm_widthad:NATURAL;lpm_address_control:STRING;lpm_outdata:STRING;lpm_file:STRING);,接上页PORT(address:INSTD_LOGIC_VECTOR(5DOWNTO0);inclock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDCOMPONENT;BEGINq8,LPM_WIDTHAD=6,LPM_ADDRESS_CONTROL=REGISTERED,LPM_OUTDATA=UNREGISTERED,LPM_FILE=D:/SIN_G/DATA/sin_data.mif)PORTMAP(address=address,inclock=inclock,q=sub_wire0);ENDSYN;,LPM_FILE=“./DATA/sin_data.mif,【例6.2.3.3】-正弦信号发生器源文件LIBRARYIEEE;-正弦信号发生器源文件USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSINGTISPORT(CLK:INSTD_LOGIC;-信号源时钟DOUT:OUTSTD_LOGIC_VECTOR(7DOWNTO0);-8位波形数据输出END;ARCHITECTUREDACCOFSINGTISCOMPONENTSINDATA-调用波形数据存储器LPM_ROMATAROM.VHD声明PORT(address:INSTD_LOGIC_VECTOR(5DOWNTO0);inclock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);ENDCOMPONENT;,4.完成正弦信号发生器顶层设计和测试,接上页SIGNALQ1:STD_LOGIC_VECTOR(5DOWNTO0);-设定内部节点作为地址计数器BEGINPROCESS(CLK)-LPM_ROM地址发生器进程BEGINIFCLKEVENTANDCLK=1THENQ1Q1,q=DOUT,inclock=CLK);-例化END;,选择FIFO数据位宽为8,深度为512,6.2.4编辑定制LPM_FIFO模块,fifo端口设置,异步清零,存储数据溢出信号选择full,选择Area优化方式和EAB构建,Area优化方式:选择面积,单击“Finish”后完成fifo2.vhd的定制,LPM_FIFO自动生成文件LIBRARYieee;USEieee.std_logic_1164.all;ENTITYfifo2ISPORT(data:INSTD_LOGIC_VECTOR(7DOWNTO0);-输入数据wrreq:INSTD_LOGIC;-写入请求rdreq:INSTD_LOGIC;-读出请求clock:INSTD_LOGIC;-工作时钟aclr:INSTD_LOGIC;-异步清0q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);-数据输出full:OUTSTD_LOGIC);-溢出标志ENDfifo2;ARCHITECTURESYNOFfifo2ISSIGNALsub_wire0:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALsub_wire1:STD_LOGIC;,LPM_FIFO定制文件的仿真测试,接上页COMPONENTlpm_fifo-调用LPM_FIFO声明GENERIC(lpm_width:NATURAL;-类属数据宽度自然数数据类型lpm_numwords:NATURAL;-类属数据深度自然数数据类型lpm_widthu:NATURAL;-类属地址宽度自然数数据类型lpm_showahead:STRING;-类属数据读出方式字符串数据类型lpm_hint:STRING);-类属优化方式字符串数据类型PORT(rdreq:INSTD_LOGIC;aclr:INSTD_LOGIC;clock:INSTD_LOGIC;q:OUTSTD_LOGIC_VECTOR(7DOWNTO0);wrreq:INSTD_LOGIC;data:INSTD_LOGIC_VECTOR(7DOWNTO0);full:OUTSTD_LOGIC);ENDCOMPONENT;BEGIN,接上页q8,-类属映射语句,数据宽度8位LPM_NUMWORDS=512,-8位字节数512个LPM_WIDTHU=9,-地址线位宽9位LPM_SHOWAHEAD=OFF,-关闭先行数据输出开关LPM_HINT=USE_EAB=ON,MAXIMIZE_SPEED=5)-打开内部EAB,最大速度约束等级为5PORTMAP(rdreq=rdreq,aclr=aclr,clock=clock,wrreq=wrreq,data=data,q=sub_wire0,full=sub_wire1);ENDSYN;,仿真波形,写入请求wrreq为高电平,在clock的每一个上升沿将data上的数据写入fifo中;在rdreq为低电平,读出请求rdreq为高电平,在clock的每一个上升沿按先进先出的顺序将fifo中存入的数据读出,6.4.5数据类型定义语句,数据类型一般包括:*预定义数据类型*用户自定义数据类型,*预定义数据类型:,已经在VHDL标准中预先定义,预定义类型在VHDL标准程序包STANDARD中定义,在应用中自动包含进VHDL的源文件,不需要USE语句显示调用;可直接使用预定义数据类型包括:整数(INTEGER)、实数(REAL)、位(BIT)位矢量(BIT_VECTOR)、布尔量(BOOLEAN)、字符(CHARACTER)、字符串(STRING)、时间(TIME)、错误等级(SEVERITYLEVEL)、大于等于零的整数(自然数)(NATURAL),正整数(POSITIVE),*用户自定义数据类型:可按照类型说明的格式用户自己定义所需的类型,实现用户自定义数据类型的两种方法:*数据类型定义语句TYPE*子类型定义语句SUBTYPE,可以由用户定义的数据类型有:枚举(ENUMERATED)类型;数组(ARRAY)类型;整数(INTEGER)类型;实数(REAL)浮点数(FLOATING)类型;存取(ACCESS)类型;文件(FILE)类型;记录(RECORDE)类型;时间(TIME)类型(物理类型),TYPE语句用法如下:TYPE数据类型名IS数据类型定义OF基本数据类型;,*类型定义语句TYPE,数据类型定义:描述所定义的数据类型的表达方式和表达内容基本数据类型:一般为已有的预定义数据类型,*子类型对一些已定义的数据类型进行一定的范围限制,从而形成一种特殊的数据类型。,子类型SUBTYPE的语句格式如下:SUBTYPE子类型名IS基本数据类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 南京医科大学《物联网自动识别技术》2023-2024学年第二学期期末试卷
- 医疗用品购销合同
- 哪位手上有装修包清工合同
- 合同之伸缩缝施工合同
- 住宅套内公共区域装修工程合同
- 茶艺师(高级)复习测试题
- 统编版语文三年级下册第六单元习作身边那些有特点的人 公开课一等奖创新教学设计
- 粮食玉米购销合同范本
- 树木供销合同范本
- 主播月合同范本
- 任务 混合动力汽车空调系统典型构造与检修
- 三级综合医院评审标准(2024年版)
- DB14∕T 2163-2020 信息化项目软件运维费用测算指南
- 交换机调试报告范文
- 2024-2025学年小学信息技术(信息科技)五年级上册人教版教学设计合集
- 肺栓塞指南解读2
- 口服抗凝药居家管理中国专家共识(2024版)
- 【卫龙食品公司内部控制现状问题及优化的案例分析7100字(论文)】
- 产教融合背景下职业院校“五金”建设研究
- 遗传的分子基础(遗传学基础课件)
- DL∕T 860.10-2018 电力自动化通信网络和系统 第10部分:一致性测试
评论
0/150
提交评论