自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 ADI射频电路计算小工具ADIsimRF介绍

做射频收发组件的同志都知道,设计一个模块的工作量之大,而且各种计算相当繁琐,每一个链路当中有各种指标需要设计阶段即满足指标而且留有余量。这就要求设计人员有相当的水平和资历了,所以很多大的项目都是些资深设计师做的。 新手或者工作资历尚浅的只能做做简单的了。当然还有一些强大的软件帮助我们,但是那些软...

2020-03-29 20:56:23

阅读数 3

评论数 0

转载 Matlab百度中Cell(单元数据)的用法

Cell是Matlab中的一种数据类型,概念和C语言中的结构体类似。用大括号定义,括号里可以是任意类型的数据或矩阵。 一、关于cell的创建: 1.跟一般创建矩阵一样,直接使用C = {A B D E}这种形式,不过这里把矩阵定义时的"[]"改成了"{}"...

2020-03-22 22:05:11

阅读数 16

评论数 0

转载 Matlab中的结构类型struct

结构(struct)数组 要在MALTAB中实现比较复杂的编程,就不能不用struct类型。而且在MATLAB中实现struct比C中更为方便。 4. 3.1 结构数组的创建MATLAB提供了两种定义结构的方式:直接应用和使用struct函数。 1. 使用直接引用方式定义结构 与建立数值型数组一样...

2020-03-22 21:49:57

阅读数 23

评论数 0

转载 matlab多维数组、结构体数组

1、多维数组 第三维称为页,需要注意的是每一页存放的二维数组维度要一致,也就是行列数要一致。。。 1 2 3 4 5 6 7 a=[1,2; 3,4]; b=[2,2; 5,6]; A...

2020-03-22 21:43:46

阅读数 19

评论数 0

转载 xilinx 7系列CLB资源组成与介绍

CLB是xilinx基本逻辑单元,每个CLB包含两个slices,每个slices由4个(A,B,C,D)6输入LUT和8个寄存器组成。 同一CLB中的两片slices没有直接的线路连接,分属于两个不同的列。每列拥有独立的快速进位链资源。 slice分为两种类型 SLICEL, SLICEM ...

2020-03-13 22:45:36

阅读数 51

评论数 0

转载 FPGA中的Logic Cells, Logic Slices, Configurable Logic Blocks and Gates 的定义

一个逻辑单元(logic cell)包含了一个查找表,一个触发器和与附近单元的连接电路。查找表使用组合逻辑实现了一个4输入的逻辑表达式(与,或,与非,加等)。 一个逻辑片(logic slice)包含了2个逻辑单元。Xilinx公司的计算结果接近每个逻辑片中包含2.25个逻辑单元,因为它们比其它的...

2020-03-13 22:41:34

阅读数 50

评论数 0

转载 Xilinx 在文档中所用的 LC(logic cells) 与 LUT之间的换算关系

在Xilinx的选型手册中,描述其硬件资源的时候,经常会看到 LC(Logic cells)的概念,如下图所示: 但是在各种数据手册中,我并没有找到关于Logic cells的定义,最后在下面这个网址中找到了比较靠谱的回答。 https://forums.xilinx.com/t5/Virtex...

2020-03-13 22:39:05

阅读数 33

评论数 0

转载 如何降低FPGA资源消耗

各位大侠,最近一直很头疼的一个事:如何降低FPGA的资源消耗。 由于入门FPGA设计的时间不是很长,对verilog hdl的理解不是很深入,在进行算法设计的时候,不是很注重编程方式和具体实现的结合,导致现在综合后的资源消耗比较畸形。 我用的是spartan-6的xc6slx1...

2020-03-08 22:33:24

阅读数 147

评论数 0

转载 C语言中 #pragma pack()

#pragma pack 这条指令主要用作改变编译器的默认对齐方式。 pragma pack(show) //显示当前内存对齐的字节数,编辑器默认8字节对齐 #pragma pack(n) //设置编辑器按照n个字节对齐,n可以取值1,2,4,8,16 #pragma pack(...

2020-03-01 18:04:51

阅读数 64

评论数 0

转载 C语言数据类型:联合(union)

1. 联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量。 联合说明和联合变量定义与结构十分相似。其形式为: union 联合名{ 数据类型 成员名; 数据类型 成员名; ... } 联合变量名; 联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数...

2020-03-01 17:55:41

阅读数 41

评论数 0

转载 Vivado清理和压缩工程的方法

前言 vivado和ISE的使用差别很大,Vivado是专门针对7系列和以后系列的FPGA/AP SOC进行高效设计的工具,特别是最近提出的UltraFast设计方法,能够极大地提高开发效率。ISE在支持老版本器件的基础上,目前也支持7系列/ZYNQ的设计,但是效率不能和Vivado相比。关于vi...

2020-02-11 16:37:54

阅读数 244

评论数 0

转载 Vivado中两种RTL原理图的查看方法和区别

当你完成了一个设计之后,查看原理图,可以了解工具如何将你的代码转换成了电路。方便你铆足了劲死磕一个小小的加法器来优化 200ps 的关键路径。 当你要查看一个开源设计,查看原理图,可以快速掌握项目设计的架构图。方便你用轮子或者,恩,造个更好的。 那么如何在 Vivado 中查看原理图? 答案...

2020-02-11 16:36:44

阅读数 435

评论数 0

转载 Verilog中关于case语句的优先级

对于这样的组合逻辑电路 always@(X) case(X) X1: X2: …… endcase 如果分支项包含变量X的所有取值情况,并且互相不重复,那么这样的情况,其实没有必要使用综合指令。 (一)“//synthesis parallel_case” 有一些书在介绍case语句时(例如《v...

2020-01-05 21:16:18

阅读数 261

评论数 0

转载 Verilog中case,casex,casez的区别

在case语句中,敏感表达式中与各项值之间的比较是一种全等比较,每一位都相同才认为匹配。 Note: casez与casex语句是case语句的两种变体, 在写testbench时用到,属于不可综合的语句。 在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不...

2020-01-05 21:04:47

阅读数 201

评论数 0

转载 Verilog HDL基础之:条件语句

if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。Verilog HDL语言提供了3种形式的if语句。 (1)无分支。 语法形式: if (表达式) 语句; 例如: if (a > b) out1 = int1; //若a大于b,将...

2020-01-05 20:58:00

阅读数 228

评论数 0

转载 介绍SLICEM里的LUT如何形成RAM资源

LUT的原理,实现逻辑函数时,相当于一个ROM将结果预存,然后把通过输入信号当作地址对预存的结果进行寻址。因此同样借助LUT加几个端口,就可以实现RAM。SLICEM里面的LUT就可以用来实现RAM资源。 二. 原理介绍 SLICEM里面的LUT跟SLICEL里面的LUT相比多了DI2,WA[...

2020-01-04 22:20:03

阅读数 131

评论数 0

转载 初识FPGA CLB之LUT实现逻辑函数

一、概述 LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Register,以及Multiplexers。这篇文章我们一起来学习LUT如何构成组合逻辑。 二、L...

2020-01-04 22:19:02

阅读数 152

评论数 0

转载 XILINX FPGA CLB单元 汇总 (CLB、LUT、存储单元、Distributed RAM、移位寄存器、多路复用器、进位逻辑(Carry Logic))

浅谈XILINX FPGA CLB单元 汇总 (CLB、LUT、存储单元、Distributed RAM、移位寄存器、多路复用器、进位逻辑(Carry Logic)) 一、概述 CLB可配置逻辑块是指实现各种逻辑功能的电路,是xilinx基本逻辑单元。 在Xilinx FPGA中,每个可配置逻辑...

2020-01-04 22:12:48

阅读数 109

评论数 1

转载 FPGA资源利用率报告中的LUT和LUTRAM有什么区别

通过Report Utilization查看资源利用率报告时,会生成如下图所示的一个表格。在这个表格中Resource对应的列会有LUT和LUTRAM,那么两者到底有什么区别呢?是包含关系吗?不过,可以断定的是LUTRAM是指将LUT用做分布式RAM/ROM,换句话说是指SLICEM中的LUT被用...

2020-01-04 21:59:25

阅读数 336

评论数 0

转载 7系列FPGA逻辑单元理解

7series 逻辑单元理解 ug768和ug799文档介绍了7系列芯片中包含的基本逻辑单元,对其中常用的单元,进行下分析。 1、IOBUF单元 (1)真值表 (2)用途 the design element is a bidirectional singl...

2020-01-04 21:45:19

阅读数 68

评论数 0

转载 Verilog中基本的数据类型

Verilog中共有19种数据类型。 基本的四种类型: reg型、wire型、integer型、parameter型。 其他类型:large型、medium型、small型、scalared型、time型、tri型、trio型、tril型、triand型、trior型、trireg型、vect...

2020-01-01 14:33:58

阅读数 190

评论数 0

转载 脉动阵列在二维矩阵乘法及卷积运算中的应用

脉动阵列(Systolic Array)本身是一个“古老”的概念,在1982年就已经提出了,可是,最近由于Google的TPU采用了这个结构作为计算的核心结构,脉动阵列又一次地火了起来。我也是因为关注TPU才开始去了解脉动阵列的,但是由于目前脉动的阵列比较零散,在搞明白脉动阵列以及TPU怎么使用脉...

2019-12-14 12:58:36

阅读数 54

评论数 0

转载 FPGA 脉动阵列的设计

一:定义 脉动阵列:数据流同步流过相邻的二维阵列单元的处理器结构,一般不同方向流过不同数据。如下图: 二维不同数据在同一时钟下依次输入每个处理单元,而后完成乘法并存在其寄存器中。 二:举例 三:设计 结构: 单个PE的代码 module...

2019-12-14 12:49:53

阅读数 95

评论数 0

转载 FPGA实现多个数的加法运算

问题: y=x0+X1+...+x1024 其中每个x的位宽都不大,3~5比特,请教最优化等等实现方法 回答: 直接一个assign的话。这种方法占用资源太多了,assignout=x0+...+x3071;其中xi为3bit,一共使用了13000多个lut,有没有什么办法能使用最少的...

2019-12-14 12:45:25

阅读数 112

评论数 0

转载 matlab中.P文件的介绍

1.为同名.m文件的预编译版本,实际中第一次执行.m文件时,matlab需要将其解析一次,这无形中会增加执行时间,所以我们就预先做解释,那么以后再使用该.m文件时,便会直接执行对应的已解析版本,即.p文件。 2.因为.p文件的调用优先级比.m文件高,所以当你调用<同名>.m/.p文件时...

2019-12-14 12:34:22

阅读数 57

评论数 0

转载 Zynq7000术语PL,PS,APU,SCU介绍

Zynq7000术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧 相信大家刚看到Zynq手册的时候,对着那么一大堆缩略语肯定是一头雾水,特转来一篇文章,为大家解惑 摘要:本文介绍与XILINX的EPP平台成员, ZYNQ芯片相关的...

2019-12-07 12:12:25

阅读数 94

评论数 0

转载 always@( )列表里不能同时有电平敏感事件和边沿触发事件

always@( )列表里面不能同时有电平敏感事件和边沿触发事件 原因: 1:这是硬件不可实现的 2:这是综合工具不允许的 代码例子: always@(posedge clk or rstn) data <= data +1; 逻辑上有两种情况会执行data <= ...

2019-11-16 11:21:44

阅读数 148

评论数 0

转载 Matlab读写二进制文件

一、文件的打开与关闭 1、打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。 fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明: <1> fid:用于存储文件句柄值,如果返回的句柄值大于0,则说明文件...

2019-11-16 11:12:22

阅读数 65

评论数 0

转载 fwrite ,fprintf的作用与区别

scanf和fpintf是一对,用fprintf写的必须用fscanf来读。 fread和fwrite是一对,用fwrite写的必须用fread来读。 同样的数据,使用fprintf和fwrite写下去的是不一样的,但是使用其相应的读命令读上来的数据会是一样的。 fwrite是将数据不经转换...

2019-11-16 10:57:49

阅读数 57

评论数 0

转载 理解int的存储方式以及VS二进制编辑器的使用

此文先讲int数据的存储(大小端)问题,然后简单讲一下二进制编辑器的使用,针对像我一样的初学者,懂了的大神可以直接关掉 直接说结论,大家都知道一个int数据是4字节,一个字节是8个比特位,也就是一个int类型占了4*8=32个比特位,这也就是int类型范围的由来。一个内存地址对应的空间就是一个...

2019-11-16 10:41:33

阅读数 61

评论数 0

转载 Vivado IP的两种综合方式:Global 和 Out-Of-Context

在最新的Vivado的版本中,定制IP的时候,会有一个综合方式的选择,如下图所示。可以看到一种叫做”Global”,一种叫”Out-Of-Context (OOC)”。从字面意思上来理解,”Out-Of-Context”是“脱离上下文”的意思。”Global”即全局。 Global sy...

2019-11-16 10:27:25

阅读数 124

评论数 0

转载 AXI总线简介

0.绪论 AXI是高级扩展接口,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-stream AXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0...

2019-10-28 12:46:48

阅读数 186

评论数 1

转载 verilog中的三目运算符

(1) assign c=(sel)?a:b; (2) always @(sel or a or b) begin if(sel) c = a; else c = b; end 这两段代码,我用quartus综合出来的结果都是一个选择器,但是我私以为,这样两种风格的代码,我们都会偏向使...

2019-10-19 17:45:48

阅读数 735

评论数 0

转载 C语言位运算符

对于更多紧凑的数据,C 程序可以用独立的位或多个组合在一起的位来存储信息。文件访问许可就是一个常见的应用案例。位运算符允许对一个字节或更大的数据单位中独立的位做处理:可以清除、设定,或者倒置任何位或多个位。也可以将一个整数的位模式(bit pattern)向右或向左移动。 整数类型的位模式由一队按...

2019-10-19 17:42:11

阅读数 42

评论数 0

转载 程序内存区域分配(五个段)--终于搞明白了

在学习之前我们先看看ELF文件。 ELF分为三种类型:.o 可重定位文件(relocalble file),可执行文件以及共享库(shared library),三种格式基本上从结构上是一样的,只是具体到每一个结构不同。下面我们就从整体上看看这3种格式从文件内容上存储的方式,spec上有张图是比...

2019-10-19 17:35:19

阅读数 884

评论数 0

转载 Xilinx SDK中分配变量的存储地址

问题点:使用Xilinx SDK开发 zynq,如果不注意修改堆栈大小,运行会直接卡死崩掉。因为SDK开发属于裸机程序开发了,内存需要自己管理,而带系统的由系统管理。 首先在声明变量的时候在后面增加attribute int matrix[16][16384] __attribute__((se...

2019-10-19 17:15:20

阅读数 237

评论数 0

转载 notepad 分屏展示两个文件在一个窗口

首先简单的介绍下notepad++: notepad++作为超强大的文本编辑器,Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以...

2019-10-19 16:47:37

阅读数 67

评论数 1

转载 ZYNQ_AXI4_Lite总线详解

1,AXI总线与AXI接口以及AXI协议 总线,接口和协议,总线是一组传输通道,是各种逻辑器件构成的传输数据的通道,一般由数据线,地址线,控制线等组成。接口是一种连接标准,有常常被称之为物理接口。协议就是传输数据的规则。 1.1 AXI总线概述 在ZYNQ中支持三种AXI总线,拥有三种AXI接...

2019-09-21 19:12:32

阅读数 334

评论数 0

转载 verilog 里面,always,assign和always@(*)区别

1.always@后面内容是敏感变量,always@(*)里面的敏感变量为*,意思是说敏感变量由综合器根据always里面的输入变量自动添加,也就是所有变量都是敏感列表,不用自己考虑。 2.如果没有@,那就是不会满足特定条件才执行,而是执行完一次后立马执行下一次,一直重复执行,比如testbenc...

2019-09-21 19:02:47

阅读数 1227

评论数 0

转载 notepad++打开一个某个工程目录

 VS工程文件首先Notepad++是打开解析不了的,但是我们可以将整个工程目录加载进来,加载的步骤主要是以下的过程:   1、点击菜单:视图–>工程–>工程面板1/工程面板2/工程面板3,有三个工程面板可用,如下图:  2、打开一个工程面板后出现工作区如下: 3、右击“工...

2019-09-21 18:52:41

阅读数 501

评论数 0

提示
确定要删除当前文章?
取消 删除