VScode的列选

可以用来优化代码排布,让变量整齐成为一排

一、批量复制:

在1处左键单击,然后摁住SHIFT+ALT键的同时,左键单击2处,即可复制一整块的内容

如果所示

就可以复制了

二、批量输入

在1处左键单击,然后摁住SHIFT+ALT键的同时,左键单击2处,

正常输入即可给所有行添加assign关键字

module AXI_FULL_M_module #
(
    parameter  C_M_TARGET_SLAVE_BASE_ADDR	= 32'h40000000  ,
    parameter integer C_M_AXI_BURST_LEN	    = 16            ,
    parameter integer C_M_AXI_ID_WIDTH	    = 1             ,
    parameter integer C_M_AXI_ADDR_WIDTH	= 32            ,
    parameter integer C_M_AXI_DATA_WIDTH	= 32            ,
    parameter integer C_M_AXI_AWUSER_WIDTH	= 0             ,
    parameter integer C_M_AXI_ARUSER_WIDTH	= 0             ,
    parameter integer C_M_AXI_WUSER_WIDTH	= 0             ,
    parameter integer C_M_AXI_RUSER_WIDTH	= 0             ,
    parameter integer C_M_AXI_BUSER_WIDTH	= 0
)
    (
		input wire                                  M_AXI_ACLK      ,
		input wire                                  M_AXI_ARESETN   ,

		output wire [C_M_AXI_ID_WIDTH-1 : 0]        M_AXI_AWID      , 
		output wire [C_M_AXI_ADDR_WIDTH-1 : 0]      M_AXI_AWADDR    ,
		output wire [7 : 0]                         M_AXI_AWLEN     ,
		output wire [2 : 0]                         M_AXI_AWSIZE    ,
		output wire [1 : 0]                         M_AXI_AWBURST   ,
		output wire                                 M_AXI_AWLOCK    ,
		output wire [3 : 0]                         M_AXI_AWCACHE   ,
		output wire [2 : 0]                         M_AXI_AWPROT    ,
		output wire [3 : 0]                         M_AXI_AWQOS     ,
		output wire [C_M_AXI_AWUSER_WIDTH-1 : 0]    M_AXI_AWUSER    ,
		output wire                                 M_AXI_AWVALID   ,
		input wire                                  M_AXI_AWREADY   ,

		output wire [C_M_AXI_DATA_WIDTH-1 : 0]      M_AXI_WDATA     ,
        output wire [C_M_AXI_DATA_WIDTH/8-1 : 0]    M_AXI_WSTRB     ,
		output wire                                 M_AXI_WLAST     ,
		output wire [C_M_AXI_WUSER_WIDTH-1 : 0]     M_AXI_WUSER     ,
		output wire                                 M_AXI_WVALID    ,
		input wire                                  M_AXI_WREADY    ,
		input wire [C_M_AXI_ID_WIDTH-1 : 0]         M_AXI_BID       ,
		input wire [1 : 0]                          M_AXI_BRESP     ,
		input wire [C_M_AXI_BUSER_WIDTH-1 : 0]      M_AXI_BUSER     ,
		input wire                                  M_AXI_BVALID    ,
		output wire                                 M_AXI_BREADY    ,


		output wire [C_M_AXI_ID_WIDTH-1 : 0]        M_AXI_ARID      ,
		output wire [C_M_AXI_ADDR_WIDTH-1 : 0]      M_AXI_ARADDR    ,
		output wire [7 : 0]                         M_AXI_ARLEN     ,
		output wire [2 : 0]                         M_AXI_ARSIZE    ,
		output wire [1 : 0]                         M_AXI_ARBURST   ,
		output wire                                 M_AXI_ARLOCK    ,
		output wire [3 : 0]                         M_AXI_ARCACHE   ,
		output wire [2 : 0]                         M_AXI_ARPROT    ,
		output wire [3 : 0]                         M_AXI_ARQOS     ,
		output wire [C_M_AXI_ARUSER_WIDTH-1 : 0]    M_AXI_ARUSER    ,
		output wire                                 M_AXI_ARVALID   ,
		input wire                                  M_AXI_ARREADY   ,
		input wire [C_M_AXI_ID_WIDTH-1 : 0]         M_AXI_RID       ,
		input wire [C_M_AXI_DATA_WIDTH-1 : 0]       M_AXI_RDATA     ,
		input wire [1 : 0]                          M_AXI_RRESP     ,
		input wire                                  M_AXI_RLAST     ,
		input wire [C_M_AXI_RUSER_WIDTH-1 : 0]      M_AXI_RUSER     ,
		input wire                                  M_AXI_RVALID    ,
		output wire                                 M_AXI_RREADY
    );



/*********************caculate data width*******************/
    //example of this function
    //init: number=3 or b'11     clogb2=0 
    //cycle 1: number=b'1 clogb2=1
    //cycle 2: number=b'0 clogb2=2
    //cycle 3: number=b'0 is not >0 ,abondon this cycle, return clogb2=2
    //this is the addr width of number
    function integer clogb2(input integer number);
    begin
        for(clogb2= 0; number> 0 ; clogb2= clogb2+ 1)
            number= number>> 1;
    end
    endfunction

/*********************parameters****************************/
/*********************state machine*************************/
/*********************register******************************/
/*********************netlist*******************************/



/*********************combinatorial logic*******************/
//the length of each burst
assign M_AXI_AWLEN      = C_M_AXI_BURST_LEN             ;
//will decode into the width of data
assign M_AXI_AWSIZE     = clogb2(C_M_AXI_DATA_WIDTH/8-1);
//type of burst FIXED,INCR,WRAP respectively correspond to code 00,01,10
assign M_AXI_AWBURST    = 2'b01                         ;
//normally useless. so use 0
assign M_AXI_AWLOCK     = 'd0                           ;

assign M_AXI_AWCACHE    =
assign M_AXI_AWPROT     =
assign M_AXI_AWQOS      =
assign M_AXI_AWUSER     =



/*********************instantiation*************************/
/*********************process*******************************/
endmodule

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Day32:安全开发-JavaEE应用Servlet路由技术JDBCMybatis数据库生命周期

目录 JavaEE-HTTP-Servlet&路由&周期 JavaEE-数据库-JDBC&Mybatis&库 思维导图 Java知识点: 功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方库使用等. 框架…

RabbitMQ - 04 - Fanout交换机 (广播)

目录 部署demo项目 什么是Fanout交换机 实现Fanout交换机 1.控制台 声明队列 声明交换机 将交换机与队列绑定 2.编写消费者方法 3.编写生产者测试方法 部署demo项目 通过消息队列demo项目进行练习 相关配置看此贴 http://t.csdnimg.cn/hPk2T 注意 生产者消费者的…

转移表回调函数实现

回调函数实现 计算器的模拟(函数指针数组的使用)(回调函数) 简化 冗余 老的代码的问题就是 冗余 写死 不能完成不同的任务 函数调用的时候只需要知道地址就可以 calc计算器 这里也称之为转移表 #define _CRT_SECURE_NO_WAR…

微信小程序开发系列(二十五)·wxml语法·条件渲染wx:if, wx:elif, wx:else 属性组以及hidden 属性的使用

目录 1. 使用 wx:if、wx:elif、wx:else 属性组 2. 使用 hidden 属性 条件渲染主要用来控制页面结构的展示和隐藏,在微信小程序中实现条件渲染有两种方式: 1. 使用 wx:if, wx:elif, wx:else 属性组 2. 使用 hidden 属性 wx:if 和 hidden 二者的区别: 1. wx…

计算机网络-第4章 网络层(2)

主要内容:网络层提供的两种服务:虚电路和数据报(前者不用)、ip协议、网际控制报文协议ICMP、路由选择协议(内部网关和外部网关)、IPv6,IP多播,虚拟专用网、网络地址转换NAT,多协议标…

背包问题算法

背包问题算法 0-1背包问题二维数组一维数组 完全背包问题二维数组一维数组 多重背包问题一维数组 0-1背包问题 问题:背包的容量为9,有重量分别为[2, 4, 6, 9]的四个物品,价值分别为[3, 4, 5, 6],求背包能装的物品的最大价值是多少…

构建LVS集群

一、集群的基本理论(一)什么是集群 人群或事物聚集:在日常用语中,群集指的是一大群人或事物密集地聚在一起。例如,“人们群集在广场上”,这里的“群集”是指大量人群聚集的现象。 计算机技术中的集群&…

C语言连接【MySQL】

稍等更新图片。。。。 文章目录 安装 MySQL 库连接 MySQLMYSQL 类创建 MySQL 对象连接数据库关闭数据库连接示例 发送命令设置编码格式插入、删除或修改记录查询记录示例 参考资料 安装 MySQL 库 在 CentOS7 下,使用命令安装 MySQL: yum install mysq…

arcgis栅格数据处理3——定义投影(同样适用于其他类型文件)

进行数据连接时可能出现未设置投影无法链接的情况,需要先定义投影 点击最右侧“目录”,弹出带有系统工具的面板,点击“data management tools”点击“投影”,“定义投影”

【轮式平衡机器人】——TMS320F28069片内外设之eCAP

引入 TMS320F28069的eCAP(增强型捕获模块)是一个强大的外设,用于精确测量和捕获输入信号的事件和时间戳。 在电机控制、传感器数据采集和信号处理等应用中,eCAP模块可以用于测量霍尔传感器、编码器或其他数字输入信号的周期、频…

计算表达式x*(2^i)的值math.ldexp(x, i)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算表达式x*(2^i)的值 math.ldexp(x, i) [太阳]选择题 关于以下代码输出的结果说法正确的是? import math print("【执行】math.ldexp(3,2)") print(math.ldexp(3,2)) …

2024/3/10总结:数据结构教程:顺序表的创建以及基本的12个操作

首先,按照惯例,欢迎大家边听歌边看本博客!!! 这里是神奇的赛尔号_张杰 (kugou.com) 一.背景:由于是上机实验,直接引用数据结构教程第6版73页的实验题1 修改第6,7,8&am…

CI/CD笔记.Gitlab系列:控制台强制修改root用户密码

CI/CD笔记.Gitlab系列 控制台强制修改root用户密码 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.cs…

SpringBoot中的上传文件接口

SpringBoot中的上传文件 上传文件的操作在有些功能中属于比较常用的环节,这里整理下SpringBoot环境中上传文件的实现方式。 这里实现的是上传文件的后台接口,前端部分可以用测试工具模拟实现,就先不在这里表述了。 Dto层 使用MultipartFile…

【C++】类和对象(六个默认成员函数)

文章目录 类的六个默认成员函数**构造函数****构造函数的目的****构造函数的特性** 析构函数析构函数概念析构函数处理的顺序析构函数清理细节 拷贝构造函数拷贝构造函数典型调用场景 赋值运算符重载运算符重载赋值运算重载前置和后置 重载 const成员函数再提权限的问题: 取地址…

Guiding Large Language Models viaDirectional Stimulus Prompting

1. 通过定向刺激提示指导大语言模型 论文地址:[2302.11520] Guiding Large Language Models via Directional Stimulus Prompting (arxiv.org) 源码地址:GitHub - Leezekun/Directional-Stimulus-Prompting: [NeurIPS 2023] Codebase for the paper: &qu…

目标检测论文模型笔记——RCNN系列

RCNN系列模型(two-stages、基于区域的)主要包括以下几种,按发布时间排序: RCNN(2014年):首次将深度学习应用于目标检测,通过选择性搜索Selective Search提出候选区域,然后使用CNN&am…

章六、集合(1)—— 概念、API、List 接口及实现类、集合迭代

零、 关闭IDEA调试时自动隐藏空元素 一、 集合的概念 存储一个班学员信息,假定一个班容纳20名学员 当我们需要保存一组一样(类型相同)的元素的时候,我们应该使用一个容器来存储,数组就是这样一个容器。 数组有什么缺…

9. 内核、文件系统加载工具

内核、文件系统加载工具 内核、文件系统加载工具是嵌入式开发必备的工具 1. 烧写BootLoader 1.1 通过超级终端方式 烧写 Bootloader 可以使用超级终端的“传送” |“发送文件”命令进入发送文件对话框,使用 Xmodem 协议和 Kermit 协议发送 Bootloader 的各个文件…

《计算机网络》考研:2024/3/9 2.1.7-数据交换方式;2.2-物理层传输介质;2.3-物理层设备

2024/3/9 2.1.7、2.2、2.3 2.1.7 数据交换方式 电路交换存储转发方式 报文交换分组交换: 数据报方式虚电路方式 电路交换 报文交换 分组交换 2.2 物理层传输介质 物理层的主要任务 物理层设备 中继器: 集线器(多口中继器)…