Verilog

Verilog HDL通过对reg型变量建立数组来对存储器建模,可以描述RAM型存储器,ROM存储器和reg文件。数组中的每一个单元通过一个数组索引进行寻址。在Verilog语言中没有多维数组存在。 memory型数据是通过扩展reg型数据的地址范围来生成的。其格式如下:

reg [n-1:0] 存储器名[m-1:0];

或 reg [n-1:0] 存储器名[m:1];

在这里,reg[n-1:0]定义了存储器中每一个存储单元的大小,即该存储单元是一个n位的寄存器。存储器名后的[m-1:0]或[m:1]则定义了该存储器中有多少个这样的寄存器。最后用分号结束定义语句。

下面举例说明:

reg [7:0] mema[255:0];

这个例子定义了一个名为mema的存储器,该存储器有256个8位的存储器。该存储器的地址范围是0到

255。注意:对存储器进行地址索引的表达式必须是常数表达式。

另外,在同一个数据类型声明语句里,可以同时定义存储器型数据和reg型数据。见下例:

parameter wordsize=16, //定义二个参数。

memsize=256;

reg [wordsize-1:0] mem[memsize-1:0],writereg, readreg;

尽管memory型数据和reg型数据的定义格式很相似,但要注意其不同之处。如一个由n个1位寄存器构

成的存储器组是不同于一个n位的寄存器的。见下例:

reg [n-1:0] rega; //一个n位的寄存器

reg mema [n-1:0]; //一个由n个1位寄存器构成的存储器组

一个n位的寄存器可以在一条赋值语句里进行赋值,而一个完整的存储器则不行。见下例:

rega =0; //合法赋值语句

mema =0; //非法赋值语句

如果想对memory中的存储单元进行读写操作,必须指定该单元在存储器中的地址。下面的写法是正确的。

mema[3]=0; //给memory中的第3个存储单元赋值为0。

进行寻址的地址索引可以是表达式,这样就可以对存储器中的不同单元进行操作。表达式的值可以取决于电路中其它的寄存器的值。例如可以用一个加法计数器来做RAM的地址索引。

本文分享自微信公众号 - 瓜大三哥(xiguazai_tortoise),作者:xiguazaitortoise

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Zynq中PS端XADC

    XADC内嵌在PS端,允许CPU或其他主机连接XADC,而不用使用PL端。XADC最大采样率为1MSPS,精度为12bits,内置电压和温度传感器,可监测芯片的...

    瓜大三哥
  • 视频处理算法——Dither

    最早源自二战,当时的轰炸机飞行员使用了一个机械计算机来进行导航和 bomb 轨道计算。奇怪的是,这些计算机(由上百机械零件组成)在飞机甲板上要比在地面上工作地更...

    瓜大三哥
  • 视频压缩编码技术(H.264) 之结构

    视频的一场或一帧可用来产生一个编码图像。通常,视频帧可分成两种类型:连续或隔行视频帧。在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场。显然,这时场内邻行...

    瓜大三哥
  • Modbus协议介绍

    MODBUS 是一个请求/应答协议,包括ASCII、RTU、TCP等,是1979年开发出的一种工业通信协议,并没有规定物理层。此协议定义了控制器能够认识和使用的...

    用户5908113
  • 汇编语言从入门到精通-2CPU资源和存储器

      在汇编语言中,需要访问的硬件资源主要有:CPU内部资源、存储器和I/O端口。本章将着重讲解CPU内部寄存器的命名、功能及其常见的用途,还要介绍存储器的分段管...

    墨文
  • 深入理解计算机系统(3.2)---数据格式、访问信息以及操作数指示符

    本文转载地址:http://www.cnblogs.com/zuoxiaolong/p/computer14.html

    YGingko
  • 深入理解计算机系统(3.2)---数据格式、访问信息以及操作数指示符

      本文的内容其实可以成为汇编语言的基础,因为汇编语言大部分时候是在操作一些我们平时开发看不到的东西,因此本文的目的就是搞清楚,汇编语言都是在操作些什么东西。或...

    YGingko
  • 深入理解计算机系统(3.2)---数据格式、访问信息以及操作数指示符

      本文的内容其实可以成为汇编语言的基础,因为汇编语言大部分时候是在操作一些我们平时开发看不到的东西,因此本文的目的就是搞清楚,汇编语言都是在操作些什么东西。或...

    YGingko
  • 存储器的分类

    随机存储器:存储器中任何存储单元的内容都能被随机存取,且存储时间和存储单元 的物理位置无关。

    week
  • 【学员笔记分享】二进制逆向学习笔记:汇编之通用寄存器

    https://blog.csdn.net/cqkxboy168/article/details/8994479

    徐焱

扫码关注云+社区

领取腾讯云代金券