自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(868)
  • 资源 (11)
  • 收藏
  • 关注

转载 ISE include 头文件错误的解决办法

在ISE 14.7里面,如果hdl的头文件和verilog文件不在同一个文件夹下,直接添加文件就会i包含失败,而且无法实现综合。错误代码是ERROR:HDLCompiler:281 :ERROR:HDLCompiler:281 - "C:/Users/lingking/Desktop/my_cpu_az/bus/src/bus_arbiter.v" Line 22: Cannot open include file "nettype.h".ERROR:HDLCompiler:281 - "C:/...

2020-05-31 11:55:17 2568

转载 电磁波的频率与波长的关系

频率的定义:

2020-05-23 14:23:07 6843

转载 GPS定位精度单位CEP、RMS、2DRMS

GNSS定位准确度: 指的是是否与事实一致,“正确性”或者“准确度”。英文accuracy。GNSS定位精度: 指的是所得数值与真实值之间的精确程度,“精确度”。英文precision。 GPS定位精度单位CEP、RMS、2D RMS 在GNSS产品中厂家提供这么几个精度参数:CEP、RMS,下面将详细介绍一下这几个精度参数的意义: CEP和RMS是GNSS的定位精度单位,也是个概率单位。就拿5M CEP说吧,意思是以5M为半径画圆,有50%的点能打在圆内,也就是说,...

2020-05-23 14:12:31 21300

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

做射频收发组件的同志都知道,设计一个模块的工作量之大,而且各种计算相当繁琐,每一个链路当中有各种指标需要设计阶段即满足指标而且留有余量。这就要求设计人员有相当的水平和资历了,所以很多大的项目都是些资深设计师做的。新手或者工作资历尚浅的只能做做简单的了。当然还有一些强大的软件帮助我们,但是那些软件操作麻烦,组件太多,确实不适合新手快速上手。今天我们就来分享一个时候我们初学者使用的链路计算小软件。...

2020-03-29 20:56:23 7024 2

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

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

2020-03-22 22:05:11 598

转载 Matlab中的结构类型struct

结构(struct)数组要在MALTAB中实现比较复杂的编程,就不能不用struct类型。而且在MATLAB中实现struct比C中更为方便。4. 3.1 结构数组的创建MATLAB提供了两种定义结构的方式:直接应用和使用struct函数。1. 使用直接引用方式定义结构与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。比如建立一个复数变量x:x....

2020-03-22 21:49:57 16222 2

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

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

2020-03-22 21:43:46 3266

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

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

2020-03-13 22:41:34 6499 1

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

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

2020-03-13 22:39:05 3726

转载 C语言中 #pragma pack()

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

2020-03-01 18:04:51 8296

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

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

2020-03-01 17:55:41 3317 1

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

前言vivado和ISE的使用差别很大,Vivado是专门针对7系列和以后系列的FPGA/AP SOC进行高效设计的工具,特别是最近提出的UltraFast设计方法,能够极大地提高开发效率。ISE在支持老版本器件的基础上,目前也支持7系列/ZYNQ的设计,但是效率不能和Vivado相比。关于vivado的基本使用这里不多说,主要把一些问题点整理成“错题集”,把一些小技巧进行归纳。清理/压缩工...

2020-02-11 16:37:54 8360

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

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

2020-02-11 16:36:44 36252 8

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

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

2020-01-05 21:16:18 8096

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

在case语句中,敏感表达式中与各项值之间的比较是一种全等比较,每一位都相同才认为匹配。Note: casez与casex语句是case语句的两种变体, 在写testbench时用到,属于不可综合的语句。在casez语句中,如果分支表达式某些位的值为高阻z,那么对这些位的比较就会忽略,不予考虑,而只关注其他位的比较结果。 在casex语句中,则把这种处理方式进一步扩展到对x的处理,即如...

2020-01-05 21:04:47 2536

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

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

2020-01-05 20:58:00 15543

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

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

2020-01-04 22:20:03 2426

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

一、概述LUT中文名字叫查找表。以7系列的FPGA为例,每一个Slice里面有四个LUT。FPGA就是通过LUT实现大量的组合逻辑,以及SLICEM里面的LUT还可以构成RAM,Shift Register,以及Multiplexers。这篇文章我们一起来学习LUT如何构成组合逻辑。二、LUT实现原理LUT,中文名字叫做查找表,其原理其实也就是一个一个查找表,根据输入去找到相应位置的信号...

2020-01-04 22:19:02 3464

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

浅谈XILINX FPGA CLB单元 汇总 (CLB、LUT、存储单元、Distributed RAM、移位寄存器、多路复用器、进位逻辑(Carry Logic))一、概述CLB可配置逻辑块是指实现各种逻辑功能的电路,是xilinx基本逻辑单元。在Xilinx FPGA中,每个可配置逻辑块包含2个Slice。每个Slice 包含查找表、寄存器、进位链和多个多数选择器构成。而Slice...

2020-01-04 22:12:48 7297 1

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

通过Report Utilization查看资源利用率报告时,会生成如下图所示的一个表格。在这个表格中Resource对应的列会有LUT和LUTRAM,那么两者到底有什么区别呢?是包含关系吗?不过,可以断定的是LUTRAM是指将LUT用做分布式RAM/ROM,换句话说是指SLICEM中的LUT被用做了存储单元,那么这里的存储单元是否包含移位寄存器(SRL)呢?为了验证我们看如下一个设计。这...

2020-01-04 21:59:25 15613 4

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

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

2020-01-04 21:45:19 2884

转载 Verilog中基本的数据类型

Verilog中共有19种数据类型。基本的四种类型: reg型、wire型、integer型、parameter型。其他类型:large型、medium型、small型、scalared型、time型、tri型、trio型、tril型、triand型、trior型、trireg型、vectored型、wand型和wor型。这14中数据类型除time外都与基本逻辑单元建库有关。...

2020-01-01 14:33:58 16353

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

脉动阵列(Systolic Array)本身是一个“古老”的概念,在1982年就已经提出了,可是,最近由于Google的TPU采用了这个结构作为计算的核心结构,脉动阵列又一次地火了起来。我也是因为关注TPU才开始去了解脉动阵列的,但是由于目前脉动的阵列比较零散,在搞明白脉动阵列以及TPU怎么使用脉动阵列进行卷积的过程中走了很多“弯路”,所以就用这篇文章作为我学习脉动阵列的笔记,也记录一下我自己对脉...

2019-12-14 12:58:36 5604

转载 FPGA 脉动阵列的设计

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

2019-12-14 12:49:53 5062 2

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

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

2019-12-14 12:45:25 7786 1

转载 matlab中.P文件的介绍

1.为同名.m文件的预编译版本,实际中第一次执行.m文件时,matlab需要将其解析一次,这无形中会增加执行时间,所以我们就预先做解释,那么以后再使用该.m文件时,便会直接执行对应的已解析版本,即.p文件。2.因为.p文件的调用优先级比.m文件高,所以当你调用<同名>.m/.p文件时,会优先选择调用.p文件。3…p文件可以用来作保密代码之用,如果你给别人一个.m文件,别人可以用来打...

2019-12-14 12:34:22 7659

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

Zynq7000术语详解,不懂啥是PL,PS,APU,SCU?那就进来看看吧 相信大家刚看到Zynq手册的时候,对着那么一大堆缩略语肯定是一头雾水,特转来一篇文章,为大家解惑 摘要:本文介绍与XILINX的EPP平台成员, ZYNQ芯片相关的缩写术语和含义. 与简单翻译术语不同,本文对每个缩写在本行业其他公司的展开含义也...

2019-12-07 12:12:25 1049

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

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

2019-11-16 11:21:44 3824

转载 Matlab读写二进制文件

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

2019-11-16 11:12:22 1191

转载 fwrite ,fprintf的作用与区别

scanf和fpintf是一对,用fprintf写的必须用fscanf来读。fread和fwrite是一对,用fwrite写的必须用fread来读。同样的数据,使用fprintf和fwrite写下去的是不一样的,但是使用其相应的读命令读上来的数据会是一样的。fwrite是将数据不经转换直接以二进制的形式写入文件,而fprintf是将数据转换为字符后再写入文件。文件格式:文本文...

2019-11-16 10:57:49 2295

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

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

2019-11-16 10:41:33 691

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

在最新的Vivado的版本中,定制IP的时候,会有一个综合方式的选择,如下图所示。可以看到一种叫做”Global”,一种叫”Out-Of-Context (OOC)”。从字面意思上来理解,”Out-Of-Context”是“脱离上下文”的意思。”Global”即全局。Global synthesis如果选择的是全局综合选项,那IP生成的文件将会和其他的用户文件一起进行综合,这也就...

2019-11-16 10:27:25 1057

转载 AXI总线简介

0.绪论AXI是高级扩展接口,在AMBA3.0中提出,AMBA4.0将其修改升级为AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-streamAXI4.0-lite是AXI的简化版本,ACE4.0 是AXI缓存一致性扩展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA进行以数据为主导的大量数据的传输...

2019-10-28 12:46:48 893 2

转载 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 14197

转载 C语言位运算符

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

2019-10-19 17:42:11 455

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

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

2019-10-19 17:35:19 5387

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

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

2019-10-19 17:15:20 4866

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

首先简单的介绍下notepad++:notepad++作为超强大的文本编辑器,Notepad++功能比 Windows 中的 Notepad(记事本)强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++ 不仅有语法高亮度显示,也有语法折叠功能,并且支持宏以及扩充基本功能的外挂模组。那么notepad++怎么让两个文件同时展示在一个窗口,也就是分屏,无论是...

2019-10-19 16:47:37 4004 1

转载 ZYNQ_AXI4_Lite总线详解

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

2019-09-21 19:12:32 2180 1

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

1.always@后面内容是敏感变量,always@(*)里面的敏感变量为*,意思是说敏感变量由综合器根据always里面的输入变量自动添加,也就是所有变量都是敏感列表,不用自己考虑。 2.如果没有@,那就是不会满足特定条件才执行,而是执行完一次后立马执行下一次,一直重复执行,比如testbench里面产生50Mhz的时钟就(假设时间尺度是1ns)可以写成 always #25 CLK_50Mh...

2019-09-21 19:02:47 29897 4

msk调制与gmsk调制

使用matlab进行仿真,编写的非常详细的msk调制与gmsk调制调制程序。这些程序是自己通过各种查资料以及在自己独立的修改下完成的有关于msk、以及gmsk信号的一些特征与性质的仿真分析。

2014-01-13

matlab仿真qpsk gmsk msk fsk qam ask

仿真了通信原理中常用到的调制技术。包括了qpsk gmsk msk fsk qam ask psk oqpsk ssb等。每种调制方式都编写了详细的调制程序。这些程序是自己做毕业设计的时候用到的,仿真结果经受住了老师的检验。因此可以保证每一个程序可以正确的运行以及得到的波形图的正确性。这些程序特别适用于那些做通信原理课程设计以及毕业设计的人。在这里将自己花了很久的时间编写的程序分享给大家,希望能够给大家一定的帮助。

2014-01-13

OFDM性能仿真

OFDM通信系统性能的仿真信道为AWGN和Rayleigh信道。仿真的软件平台是matlab

2013-06-19

qam与qpsk调制解调

QAM与QPSK的调制解调,里面还有ask,bpsk,64qam,msk的相应仿真。使用matlab进行。

2013-06-19

msk与gmsk仿真

msk与gmsk'仿真,分别用matlab进行了调制解调的仿真。

2013-06-19

物理层仿真

自己做的物理层仿真,使用到了MATLAB,并且进行了gui设计。

2013-06-19

msk与QPSK调制解调

使用matlab仿真程序实现了MSK、QPSK的调制与解调。给出了多种调制解调的方法。所有的程序能够良好的运行,并且给出了调制解调时候的波形图。可以作为研究数字调制技术的参考。

2013-06-03

msk调制解调

使用matlab仿真程序实现了FSK、MSK的调制与解调。程序能够良好的运行,并且给出了调制解调时候的波形图。可以作为研究数字调制技术的参考。

2013-06-02

GMSK与MSK调制解调

使用matlab仿真程序实现了GMSK、MSK、OQPSK、QPSK的调制与解调。程序能够良好的运行,并且给出了调制解调时候的波形图。可以作为研究数字调制技术的参考。

2013-06-02

DPSK的调制解调

基于systemview的仿真,实现了2DPSK的调制与解调。分析了其误码率性能。并且文中给出详细的仿真结果图,可以作为很好的参考。

2013-06-02

msk 的调制解调

基于matlab的msk仿真程序。里面包括了msk的正交调制的程序,以及msk相干解调的程序。并且程序中还分析了msk的功率谱,能够做出msk的调制与解调过程中的波形。

2013-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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