verilog 给数组集体赋值_Verilog中如何对数组赋值(存储器memory详解)

http://blog.sina.com.cn/s/blog_9424755f0101rhrh.html

存储器是一个寄存器数组。存储器使用如下方式说明:

reg [ msb: 1sb] memory1 [ upper1: lower1],

memory2 [upper2: lower2],. . . ;

例如:

reg [0:3 ] MyMem [0:63]

//MyMem为64个4位寄存器的数组。

reg Bog [1:5]

//Bog为5个1位寄存器的数组。

MyMem和Bog都是存储器。数组的维数不能大于2。注意存储器属于寄存器数组类型。线网数据类型没有相应的存储器类型。

单个寄存器说明既能够用于说明寄存器类型,也可以用于说明存储器类型。

parameter ADDR_SIZE = 16 , WORD_SIZE = 8;

reg [1: WORD_SIZE] RamPar [ ADDR_SIZE-1 : 0], DataReg;

RamPar是存储器,是16个8位寄存器数组,而DataReg是8位寄存器。

在赋值语句中需要注意如下区别:存储器赋值不能在一条赋值语句中完成,但是寄存器可以。因此在存储器被赋值时,需要定义一个索引。下例说明它们之间的不同。

reg [1:5] Dig; //Dig为5位寄存器。

. . .

Dig = 5'b11011;

上述赋值都是正确的, 但下述赋值不正确:

reg BOg[1:5]; //Bog为5个1位寄存器的存储器。

. . .

Bog = 5'b11011;

有一种存储器赋值的方法是分别对存储器中的每个字赋值。例如:

reg [0:3] Xrom [1:4]

. . .

Xrom[1] = 4'hA;

Xrom[2] = 4'h8;

Xrom[3] = 4'hF;

Xrom[4] = 4'h2;

为存储器赋值的另一种方法是使用系统任务:

1) $readmemb (加载二进制值)

2) $readmemb (加载十六进制值)

这些系统任务从指定的文本文件中读取数据并加载到存储器。文本文件必须包含相应的二进制或者十六进制数。例如:

reg [1:4] RomB [7:1] ;

$ readmemb ("ram.patt", RomB);

Romb是存储器。文件“ram.patt”必须包含二进制值。文件也可以包含空白空间和注释。下面是文件中可能内容的实例。

1101

1110

1000

0111

0000

1001

0011

系统任务$readmemb促使从索引7即Romb最左边的字索引,开始读取值。如果只加载存储器的一部分,值域可以在$readmemb方法中显式定义。例如:

$readmemb ("ram.patt", RomB, 5, 3);

在这种情况下只有Romb[5],Romb[4]和Romb[3]这些字从文件头开始被读取。被读取的值为1101、1100和1000。

文件可以包含显式的地址形式。

@hex_address value

如下实例:

@5 11001

@2 11010

在这种情况下,值被读入存储器指定的地址。

当只定义开始值时,连续读取直至到达存储器右端索引边界。例如:

$readmemb ("rom.patt", RomB, 6);

//从地址6开始,并且持续到1。

$readmemb ( "rom.patt", RomB, 6, 4);

//从地址6读到地址4。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ajax排行页面,ajax简单页面

简单的注册页面运用ajax主页面无标题文档//首先引用jquery文件登录页面用户名:密码:$("#btn").click(function(){//1.取内容var uid $("#uid").val();var pwd $("#pwd").val();//2.拿内容去数据库验证$.ajax({url:"…

云函数查询_速览 | 京东云5月重要产品与功能更新

新增产品高可用组 正式发布产品概述:高可用组是京东云提供的云主机逻辑集合,高可用组内的云主机分散部署在相互隔离的物理资源上,当出现硬件故障或定时维护时只会影响部分云主机,客户业务仍为可用状态,本服务免费。流水…

服务器文件夹同步到手机,本机文件夹同步到云服务器

本机文件夹同步到云服务器 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。本节操作介绍本地MacOS系统主机通过安装“Microsoft Rem…

centos7恢复mysql数据库_mysql数据库恢复过程记录

月初某晚朋友说数据库误删了,没有备份能不能恢复,我一愣,突然想到之前我们遇到过的问题,便问他是否开启了binlog。show variables like log_bin; //查看命令如果现实log_bin是ON,就说明打开了。值得庆幸,他…

绝地求生6月28日服务器维护,绝地求生6月28日更新到几点 吃鸡6月28日更新内容一览...

绝地求生6月28日更新到几点? 绝地求生6月28日更新内容一览。下面跟着小编一起来看看吧!绝地求生6.28维护时间上午10点开始(预计3个小时)下午1点开服绝地求生6月28日维护内容介绍通行证: 萨诺调整了通行证系统的机制- 每日最多获取XP 限制 80 改为120- 完成任务最少游戏时间&am…

in ms sql 集合参数传递_神奇的 SQL → 为什么 GROUP BY 之后不能直接引用原表中的列?...

GROUP BY 后 SELECT 列的限制标准 SQL 规定,在对表进行聚合查询的时候,只能在 SELECT 子句中写下面 3 种内容:通过 GROUP BY 子句指定的聚合键、聚合函数(SUM 、AVG 等)、常量。我们来看个例子:我们有 学生班级表(tbl_student_cla…

服务器日志文件中包含堆栈跟踪,日志框架 Logback 官方手册(第三章:Configuration)...

以下内容翻译整理自logback官方手册,地址:logback官方手册logback 配置将日志请求插入应用程序代码需要相当多的计划和工作。观察表明,大约有4%的代码用于日志记录。因此,即使是一个中等大小的应用程序,其代码中也会包…

extjs 月份选择控件_Excel | 做个生日提醒控件,本月或下月过生日的员工信息随你查看...

问题情境掌握职工的生日信息,及时送出生日祝福,是每位HR必备的技能。某公司要求将公司的员工生日信息实现查询,可方便的查看本月及下月过生日的员工信息,效果如下动图:效果中可以看出:勾选”本月生日“&…

音频服务器未显示,Win7系统没有声音提示“一个或多个音频服务未运行”如何解决...

在win7系统中没有声音,点击右下角小喇叭,按照提示进行修复完成后的“疑难解答已完成”界面,提示已找到问题“一个或多个音频服务未运行”如何解决呢?出现这样的情况,我们只需将音频所需服务启动即可。下面跟随小编脚步…

php 两个数组 交集_两个数组的交集

给定两个数组,编写一个函数来计算它们的交集。示例1:输入:nums1 [1,2,2,1], nums2 [2,2]输出:[2,2]示例2:输入:nums1 [4,9,5], nums2 [9,4,9,8,4]输出:[4,9]说明:输出结果中每个…

11纯代码 oc xcode_iOS代码染色原理及技术实践

背景随着业务的迅速发展,业务代码逻辑的复杂度增加。QA测试的质量对于产品上线后的稳定性更加重要。一般QA测试的工作流程分为两大项:自动化测试和人工测试。这两种测试后都需要得到代码覆盖率。自动化测试的覆盖率,在双端都有比较成熟的方案…

删除了几个月的照片能找回么_手机删除照片怎么恢复正常?自动修复,一看就会...

手机删除照片怎么恢复正常?都说鱼的记忆只有七秒钟,那你的记忆是多久呢?曾经手机拍照留念的照片,是否由于一些微不足道的事情,冲动之下删掉了!想要还原删除掉的手机照片,首先要找对照片恢复器:手…

并发测试mysql_Jmeter性能测试系列——结果分析与报告输出

场景运行结束后,需针对测试结果进行性能分析。通常而言,Jmeter性能测试结果分析可从性能测试指标达成方面着手,然后再分析测试过程中出现的异常情况,逐一判断是否存在性能风险。1.用户登陆并发测试结果分析获取测试指标提取阶段获…

怎样取消连续包月自动续费_苹果手机连续包月会员怎么取消 设置iPhone解除应用自动续费...

[闽南网]相信我们都有在用苹果手机下载软件,但是有时候一个不小心就被开通了包月续费,这个的话会长期进行扣费,要是不想开通的话可以进行取消,不知道的话可以查看下面的教程。取消收费项目是可以从电脑端和手机端两个渠道来进行&a…

oracle 空闲连接数_oracle数据库空闲连接

RMAN-04006: error from auxiliary database: ORA-01034: ORACLE not available在使用rman duplicate复制standby数据库的时候,由于standby数据库实例必须处于非mount状态,所以主数据库直接连接是会报错的,需要在standby数据库服务上的监听器…

配置snmp_多种设备基于 SNMP 协议的敏感信息泄露漏洞数据分析报告

作者:知道创宇404实验室1. 更新情况2. 事件概述SNMP协议[1],即简单网络管理协议(SNMP,Simple Network Management Protocol),默认端口为 161/UDP,目前一共有3个版本:V1,V…

python 个人所得税问题_Python实现的个人所得税计算器

这篇文章主要介绍了Python实现的个人所得税计算器,涉及Python条件判断与数值运算相关操作技巧,需要的朋友可以参考下本文实例讲述了Python实现的个人所得税计算器。分享给大家供大家参考,具体如下:# -*- coding: utf-8 -*-"""Created on …

建立项目接口文档_分享:一步一个脚印,vue入门之使用mockjs搭建vue项目测试服务器...

在以前的文档中,我们构建了vue项目的整体架构,详见vue入门:vue项目架构设计起步,现在我们主要对其中的mock server 进行完善。一、概述前后端分离的项目优点之一就是可以前后端并行开发,互不影响。那么在后端接口没有完…

有效字符区域 获取textview_Android编程开发之TextView文字显示和修改方法(附TextView属性介绍)...

本文实例讲述了Android编程开发之TextView文字显示和修改方法。分享给大家供大家参考,具体如下:一. 新建一个Activity 和 Layout首先在layout文件夹中新建一个activity_main.xml,在新建工程的时候一般默认会新建此xml文件,修改其代码如下:activity_main.…

单机最大负载_电流互感器允许接入的实际最大二次负载(注电案例1865)

某国外水电站安装的水轮发电机组,单机额定容量为 120MW,发电机额定电压为 13.8kV,cosφ0.85。发电机、主变压器采用发变组单元接线,未装设发电机断路器,主变高压侧三相短路时流过发电机的最大短路电流为 19.6kA。发电机…