对数组的“reg [7:0] a_tmp[32:0]”理解

news2024/11/17 15:48:17

数组

在verilog中,对数组reg [7:0] a_tmp[32:0]进行操作时,分不清楚先对[32:0]进行操作还是先对 [7:0]进行操作,为此进行下面的实验。进一步加深对数组的理解。

实验1:

reg [7:0] a_tmp[32:0];

遍历的方式:
integer i;
always@(posedge clk or negedge rst_n)begin
	if(rst_n==1'b0)begin
		for(i=0;i<8;i=i+1)
            a_tmp[i]<='d0;//遍历了8次,a_tmp[i]<='d0与a_tmp[i][7:0]<='d0的结果一样
	end 
	else begin
		for(i=0;i<8;i=i+1)
			a_tmp[i]<=data_out;
	end 
	
end

image-20230612083309361

image-20230612083742692

image-20230612083812789

实验2:

reg [7:0] a_tmp[32:0];
integer i;
always@(posedge clk or negedge rst_n)begin
	if(rst_n==1'b0)begin
		for(i=0;i<8;i=i+1)
			a_tmp[i][7:0]<='d0;//将a_tmp[i]修改为a_tmp[i][7:0]。
	end 
	else begin
		for(i=0;i<8;i=i+1)
			a_tmp[i][7:0]<=data_out;
	end 
	
end

image-20230612084441593

image-20230612084542605

两个实验的出的结论:

数组数据的遍历a_tmp[i]<='d0与a_tmp[i][7:0]<='d0的结果一样

实验3:

module array(
	input clk,
	input rst_n,
	input reg [7:0] data_in,
	
	output reg [7:0] data_out

);
reg [7:0] a_tmp[32:0];
reg [7:0] b_tmp[32:0];
always@(posedge clk or negedge rst_n)begin
	if(rst_n==1'b0)begin
		data_out <= 'b0;
	end 
	else
		data_out <= data_in*data_in;
	
end 	
integer i;
always@(posedge clk or negedge rst_n)begin
	if(rst_n==1'b0)begin
        for(i=0;i<33;i=i+1)//将i=8改为i=33
			a_tmp[i][7:0]<='d0;
	end 
	else begin
		for(i=0;i<8;i=i+1)
			a_tmp[i][7:0]<=data_out;
	end 
	
end 

endmodule

得到的结果:

image-20230612085154448

最后得出的结论:

“reg [7:0] a_tmp[32:0]”代码中,对数组的操作先对[32:0]进行操作,再对[7:0]进行操作。[32:0]为深度,[7:0]为位宽。
reg [7:0] a_tmp[32:0];

image-20230612090541426

image-20230612090748941

	--晓凡	2023年6月12日于桂林书

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

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

相关文章

架构师日记-从技术角度揭露电商大促备战的奥秘 | 京东云技术团队

一 背景 今年的618大促已经如期而至&#xff0c;接下来我会从技术的角度&#xff0c;跟大家聊聊大促备战的底层逻辑和实战方案&#xff0c;希望能够解答大家心中的一些疑惑。 首先&#xff0c;618大促为什么如此重要呢&#xff1f;先从数据的角度简单做一下分析&#xff0c;以…

Arcgis根据经纬度获得点的地理信息/行政区划信息

步骤可以总结为&#xff1a; 导入shp文件&#xff08;面数据&#xff0c;也就是行政区划的依据&#xff09; 导入栅格数据 将栅格数据落入到坐标系中 将导入的栅格点导出为shp图层 栅格点与面数据连接对齐 导出结果 1、导入shp文件&#xff08;面数据&#xff0c;也就是行…

去中心化的信任,Web3如何塑造更加牢固的客户忠诚度

在当今数字化的时代&#xff0c;客户忠诚度对于企业的成功至关重要。而随着Web3技术的崛起&#xff0c;我们正面临着一场信任的革命。本文将探讨Web3如何塑造更加牢固的客户忠诚度&#xff0c;并为企业带来长期的商业价值。 1.去中心化的信任机制 在传统的Web2模式下&#xff…

支付宝小程序开发

支付宝小程序商城是一种基于支付宝平台开发的小程序应用&#xff0c;它可以帮助商家在小程序中完成商品展示、下单购买、在线支付等操作。下面我们来介绍支付宝小程序商城的好处。 一、便捷快速 支付宝小程序商城可以直接在支付宝App中使用&#xff0c;无需下载和安装&#x…

InstructGPT:Training language models to follow instructions with human feedback

Training language models to follow instructions with human feedback 通过人类反馈的微调&#xff0c;在广泛的任务中使语言模型与用户的意图保持一致 aligning language models with user intent on a wide range of tasks by fine-tuning with human feedback 实验动机 …

【学习日记2023.6.12】之nacos配置管理_Feign远程调用_Gateway服务网关

文章目录 6. Nacos配置管理6.1 统一配置管理6.1.1 在nacos中添加配置文件6.1.2 从微服务拉取配置6.2 配置热更新 6.3 配置共享6.4 Nacos集群搭建6.4.1 集群结构图6.4.2 搭建集群初始化数据库下载nacos配置Nacos启动nginx反向代理优化 7. Feign远程调用7.1 Feign替代RestTemplat…

华为OD机试真题B卷 Java 实现【最少数量线段覆盖】,附详细解题思路

一、题目描述 给定坐标轴上的一组线段,线段的起点和终点均为整数并且长度不小于1,请你从中找到最少数量的线段,这些线段可以覆盖住所有线段。 二、输入描述 第一行输入为所有线段的数量,不超过10000,后面每行表示一条线段,格式为"x,y",x和y分别表示起点和终…

CentOS 查看某个目录:已用、可用空间情况

命令&#xff1a;df -h 目录 例如&#xff1a;df -h /home

【SpringMVC】| 报文信息转换器HttpMessageConverter

目录 框架搭建 报文信息转换器HttpMessageConverter 1. RequestBody注解 2. RequestEntity类型 3. RequestBody注解&#xff08;常用&#xff09; 重点&#xff1a;SpringMVC处理json 重点&#xff1a;SpringMVC处理ajax 重点&#xff1a;RestController注解 4. Respo…

knife4j接口文档

knife4j可以通过访问本地页面&#xff0c;实现对项目接口的管理&#xff1a;这样我们就不需要用postman软件调用接口了。 Mevan导包&#xff1a; <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</ar…

项目经理必学的五个时间管理方法,帮你高效规划工作

作为一名项目经理&#xff0c;时间管理是你必须掌握的关键技能。常年加班&#xff0c;迎面而来的凌晨夜空&#xff0c;这些只能成为过去式。下面&#xff0c;我们将为你介绍五个行之有效的时间管理方法&#xff0c;帮助你高效规划工作&#xff0c;达成更多目标。 1、树立明确…

OpenAI官方提示词课(四)如何进行文字的情感分析

这节介绍大模型判断文字的语义&#xff0c;或者说对内容进行情感分析的能力。同时也演示了大模型如何提取出文字中的关键信息。 在传统的机器学习方案中&#xff0c;要做到对文字内容的情感分析&#xff0c;需要先对一系列的文字内容&#xff08;如评论&#xff09;进行人工标…

如何拍照识别植物?拍照识别植物的方法教学

植物是我们生活中不可或缺的一部分&#xff0c;它们不仅为我们提供氧气和美丽的景观&#xff0c;还是人类食品和药物来源之一。而随着科技水平的提高&#xff0c;越来越多的研究者开始探索如何利用图像识别技术对植物进行自动化识别和分类&#xff0c;以帮助我们更好地了解植物…

英雄算法联盟 | 七月集训报名通道开启

文章目录 前言一、英雄算法集训二、编程零基础预训练三、九日集训四、咨询答疑五、常见问题六、报名方式 前言 通知&#xff1a;英雄算法联盟六月集训 已经开始12天&#xff0c;七月算法集训将于 07月01日 正式开始&#xff0c;目前已经提前开始报名&#xff0c;报名方式见文末…

【大数据】一篇文章带你入门HBase

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 文章目录 HBase特性Hadoop的限制基本概念NameSpaceTableRowKeyColumnTimeStampCell 存储结构HBase 数据访问形式架构体系HBase组件HBase读写流程读流程写流程 MemStore Flush参数说明 StoreFile Compaction参…

剑指 Offer 09: 用两个栈实现队列

简单明了&#xff0c;带你直接看懂题目和例子。 输入&#xff1a; ["CQueue","appendTail","deleteHead","deleteHead"] 这里是要执行的方法&#xff0c;从左到右执行 [[],[3],[],[]]对应上面的方法&#xff0c;是上面方法的参数。CQ…

Android Fragment跳转Activity使用startActivityForResult获取返回值

前言 Fragment跳转Activity使用startActivityForResult获取返回值 如果直接获取是获取不到结果的 需要在fragment所属的activity中遍历 Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resul…

智驾差异化周期下的「芯」风向

随着中国市场进入智能驾驶「差异化」竞争周期&#xff0c;车企对于核心算力芯片的可选项&#xff0c;正在变得越来越多。一方面&#xff0c;车企在寻求更高性价比的替代&#xff08;升级&#xff09;方案&#xff1b;另一方面&#xff0c;多元化的需求&#xff08;舱泊一体、行…

解决获取taro全局配置文件失败,找不到配置文件失败问题

问题&#xff1a;这会导致项目初始化不成功&#xff0c;即要用vuets生成项目的话&#xff0c;依旧是wxml&#xff0c;js的文件&#xff0c;而不是vue文件 解决一&#xff1a;首先找到配置文件目录 删除taro开头的三项文件&#xff0c;再去node_modules下删除tarojs 然后去终…

Excel怎么设置密码?这4个方法必须掌握!

案例&#xff1a;做报表时有些很重要的数据不想被别人改动&#xff0c;Excel怎么设置密码呀&#xff1f; 【用Excel制作一些报表时怎么为Excel设置密码呢&#xff1f;因为有些数据比较重要&#xff0c;想将Excel设置密码。请大家帮帮我&#xff01;】 Excel是一款常用的电子表…