文档详情

第7章宏功能模块应用(二)详解.ppt

发布:2017-04-15约字共22页下载文档
文本预览下载声明
第7章 宏功能模块应用 7.3 LPM 随机存储器的设置和调用 在涉及RAM和ROM等存储器应用的EDA设计开发中,调用LPM模块类存储器是最方便、最经济、最高效和性能最容易满足设计要求的途径。 7.3 LPM 随机存储器的设置和调用 7.3.1 存储器初始化文件 1..mif格式文件 生成mif格式文件的方法: (1)Quartus II 直接编辑方法: 所谓存储器的初始化文件就是可配置于RAM或ROM中的数据或程序文件代码。 生成两种不同格式(mif与hex)的存储器初始化文件 7.3 LPM 随机存储器的设置和调用 7.3.1 存储器初始化文件 (2)文件直接编辑方法(直接用记事本等..): (3)高级语言(C或matlab等)生成: (4)专用的mif文件生成器(附录P395): 2..hex格式文件 直接用quartus ii 或单片机编译器。 用C语言生成mif代码 7.3 LPM 随机存储器的设置和调用 7.3.2 LPM_RAM的设置和调用 基本流程与计数器LPM模块调用类似。 第一:建立lpm_ram目录,用于流程化元件模块的建立,此时无需建立工程文件。 7.3 LPM 随机存储器的设置和调用 7.3.2 LPM_RAM的设置和调用 7.3 LPM 随机存储器的设置和调用 7.3.2 LPM_RAM的设置和调用 7.3 LPM 随机存储器的设置和调用 7.3.2 LPM_RAM的设置和调用 7.3 LPM 随机存储器的设置和调用 7.3.2 LPM_RAM的设置和调用 7.3 LPM 随机存储器的设置和调用 7.3.2 LPM_RAM的设置和调用 第二:建立rammd目录,建立工程文件,以顶层原理图方式调入在第一步定制好的RAM模块。 7.3 LPM 随机存储器的设置和调用 7.3.3 仿真测试RAM宏模块 思考:如果不加入mif文件,则此波形会有如何变化? 7.3 LPM 随机存储器的设置和调用 7.3.4 VHDL的存储器描述及相关属性 利用VHDL语言可以直接描述RAM/ROM等存储器。 例7-6是RAM模块的纯VHDL描述,即在程序中没有调用或例化任何现成的 实体模块。 7.3 LPM 随机存储器的设置和调用 7.3.4 VHDL的存储器描述及相关属性 利用时钟双边沿控制数据读写的VHDL存储器描述程序。 7.3 LPM 随机存储器的设置和调用 7.3.4 VHDL的存储器描述及相关属性 利用时钟双边沿控制数据读写的VHDL存储器描述程序。 例7-6仿真波形 7.3 LPM 随机存储器的设置和调用 7.3.5 数据类型定义语句 VHDL允许用户自定义新的数据类型,由用户自定义的数据类型有多种,如枚举、数组、记录、时间、实数类型等。 用户自定义数据类型用类型定义语句TYPE和子类型定义语句SUBTYPE实现。 TYPE语句常用于数组型数据类型与枚举型数据类型的定义。 数组类型又分为限定型数组和非限定型数组。 7.3 LPM 随机存储器的设置和调用 7.3.5 数据类型定义语句 限定性数组型数据类型定义 语句格式: 一维数组定义: 二维数组定义(一般用来定义存储器,下例定义了一个128*8的矩阵数组): 例7-6中二维数组的定义: 7.3 LPM 随机存储器的设置和调用 7.3.5 数据类型定义语句 2. 非限定性数组型数据类型定义 语句格式: 示例: 则: Variable my_vector :bit_vector(3 downto 6) √ Variable my_vector:bit_vector(-2 downto -7) × Why? How? 7.3 LPM 随机存储器的设置和调用 7.3.5 数据类型定义语句 3. 枚举型数据类型定义 语句格式: 示例1: 示例2: 示例3: 示例4: 示例5: 7.3 LPM 随机存储器的设置和调用 7.3.5 数据类型定义语句 4. 枚举型子类型数据类型定义 语句格式: 示例1: 7.3 LPM 随机存储器的设置和调用 7.3.6 存储器配置文件属性定义和结构设置 如果对例7-6不作任何约束,直接综合,尽管也能编译出相应的存储器RAM,但这项设计将耗用大量的逻辑资源。 7.3 LPM 随机存储器的设置和调用 7.3.6 存储器配置文件属性定义和结构设
显示全部
相似文档