- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 Vitis高层次综合学习——FPGA
什么是高层次综合?就是使用高级语言(如C/C++)来编写FPGA算法程序。在高层次综合上并不需要制定微架构决策,如创建状态机、数据路径、寄存器流水线等。这些细节可以留给 HLS 工具,通过提供输入约束(如时钟速度、性能编译指示、目标器件等)即可生成经过最优化的 RTL。其主要优势为:1、提高FPGA算法部署的效率(1)使用C语言来开发和确认FPGA算法;(2)使用C语言来仿真RTL设计。2、算法易于移植。
2023-08-16 09:54:53
1298
原创 XILINX Ultrascale+ FPGA学习——Xillybus demo bundle 测试
FPGA除了使用XIlinx公司自带的XDMA用于Pcie通信外,还有Xillybus这种3方的IP用于Pcie通信。XDMA无法做到比较灵活的兼容,安装驱动需要Windows进入测试模式,所以准备使用Xillybus来进行Pcie通信。
2023-01-31 10:20:24
2631
2
原创 XILINX Ultrascale+ FPGA学习(5)——GPIO
GPIO即通用I/O,使用过树莓派和单片机的同学们肯定非常熟悉。是ARM芯片用于连接外设的I/O口。在SOC Ultrascale+ 里的ARM芯片的GPIO连接到MIO(复用IO,与GPIO不是一一对应的);当MIO不够用时,可以使用EMIO来扩展,从而使用FPGA上的引脚,EMIO是PS和PL的连接的接口。zynq Ultrascale+系列的FPGA的GPIO被分为6个bank,其中bank0,bank1,bank2连接到MIO;banl3,bank4,bank5连接到EMIO。......
2022-08-11 17:31:55
2321
原创 vivodo报[Place 30-675]错误
最近使用VIVODO进行实现时报错开始以为是程序代码的问题,后来发现是引脚的问题。在FPGA中,时钟输入需要专门的时钟引脚。解决这个问题的办法:1、将报错的引脚重新约束到FPGA的时钟引脚上,简单来说就是这种六边形的引脚2、如果引脚不够,可以在约束文件中添加具体可以看一下报错的Messages. 当然这样相当于屏蔽掉了错误,但是问题不大,对于一般的信号已经够用了。更详细的说明参见网站https://support.xilinx.com/s/article/66659?language=en_U
2022-06-05 21:38:53
3702
原创 XILINX Ultrascale+ FPGA学习(4)——Vivado
Vivado 软件使用流程这里用一个分频的例子,完成Vivado工程的全部流程。按照本文流程走完,你对vivodo建立工程有一个基本的认识。第一步:建立vivodo工程该步骤很有很多教程就不详细描述了,主要是选择FPGA的型号。第二步:添加verilog文件左键点击添加文件,vivodo中能够添加的文件有3种,依次是添加约束文件(时钟约束和引脚定义),源文件(verilog 代码)以及仿真文件这里先添加verilog文件,取名为:divide_frequency,分频的代码如下:modu
2022-05-25 17:49:26
2729
原创 XILINX Ultrascale+ FPGA学习(3)——多通道 高速12-bit ADC LVDS信号解串
LVDS信号LVDS信号广泛的应用在高速传输中,下图是一个12位的ADC的输出LVDS信号,其中包括帧信号,数据时钟还有数据信号。1个ADC输出两个通道或者4个通道的数据。 这里以2位为例子,帧信号的高位为奇通道,低位为偶通道解串思路高速信号一般使用HP引脚,解串思路大概为:ISERDESE3原语与ISERDESE2原语不一样,不再支持级联和bitship。我这里使用寄存器将数据重新整合位12bit,欢迎大佬提更好的办法~。结果代码module Decode_LVDS #(
2022-04-10 15:44:33
6411
1
原创 vivado仿真的时候报ERROR: [VRFC 10-2063] not found while processing module instance
仿真一直报这个错误,对了实例化模块的名称,将IP核reset output products都没有解决。正准备用Modelsim试试,正好发现解决问题的办法了。如图,在设置中将simulator language改为Verilog就好。
2022-03-29 20:43:33
12275
8
原创 XILINX Ultrascale+ FPGA学习(2)——I/O接口组件原语和原生原语
bank介绍每个 I/O bank 包含 52 个管脚,可采用适合该 bank 的单端标准进行输入、输出或双向操作。 I/O bank 可以是高量程(HR) 或高性能 (HP) I/O bank。这些管脚中最多有 48 个可以配置为 24 个差分信号管脚对,其信号标准适用于 HR I/Obank 或 HP I/O bank。与每个单端管脚关联的逻辑称为位 slice,对于 _P 管脚,差分管脚对称为主位slice,对于 _N 管脚,称为从位 slice。输入/输出控制块位 slice 可以使用赛灵思器件
2022-03-28 17:20:06
8824
1
原创 XILINX Ultrascale+ FPGA学习(1)——I/O口和原语介绍
Introduction主要介绍UltraScale+ MPSoC,FPGA选择和xilinx FPGA家族参考PDF.
2022-03-25 20:25:21
7013
原创 高速PCB基础-电源分配网络
电源分配网络电源分配网络又称为电源配送网络 (PDN) ,包含从稳压模块 (VRM) 到芯片的焊盘,再到裸芯片内分配本地电压和返回电流的片上金属层在内的所有互连。其中有稳压模块、体去耦电容器、过孔、互连、电路板上的平面、板外附加电容器、封装的焊球或引脚、装在电路板上的封装中的互连、键合线或 C4 焊球、芯片上的内部互连等。电源分配网络的首要和基本要求:保持芯片焊盘间的供电电压恒定,并使它能够维持在一个很小的容差范围内通常在 5% 以内。电源分配网络的作用有3个:保持芯片焊盘问的供电电压恒定,使地弹最小
2021-11-19 20:07:42
6904
1
原创 高速PCB基础——电阻,电容,电感(第三讲)
电阻互连电阻的最佳近似电路中的导线可以看作一个理想的电阻。导线模型如下:对于导线横截面横定的情况,电阻值可以由下表示:R=ρLenAR=\rho \frac{Len}{A}R=ρALen其中ρ\rhoρ表示导线的体电阻率(单位为Ω⋅cmΩ \cdot cmΩ⋅cm), Len表示导线长度(cm),A表示横截面积(cm2cm^2cm2)ρ\rhoρ体电阻率是材料的固有特性为电导率的倒数,常用的材料体电阻率为:单位长度电阻对于横截面均匀的导线,如PCB中的导线,其单位长度电阻为:RL=RL
2021-11-19 11:33:36
6037
原创 高速PCB基础——阻抗(第二讲)
阻抗的定义阻抗的定义为电压与电流之比:Z=V/IZ=V/IZ=V/I这个定义始终是正确的。阻抗与信号完整性1、任何阻抗的突变都会引起电压信号的反射和失真。衰减效应是由于串联和并联的阻性阻抗引起的。2、信号的串扰是由于相邻信号线之间电场和磁场耦合引起的,信号线之间的互耦电容和互耦电感形成的阻抗决定了耦合电流和耦合电压的值。3、如果信号线的互感较高就会产生地弹。当信号线的互容增加或者返回路径有损坏,互感将显著增加。4、如果串联阻抗的电阻和并联导纳的电导都与频率相关,则其上升边将会被拉长。这些随着
2021-11-18 10:13:41
1049
原创 高速PCB基础——信号完整性概论(第一讲)
主要参照《signal and power Integrity-simplified》这本书概论背景随着电路中时钟频率的升高,信号完整性对开发高速PCB板越发重要。在高速产品中(大于10MHz,小于10MHz不用考虑信号完整性),物理设计和机械设计都将会导致信号完整性问题。我们一般把其归为三类问题:信号完整性(Signal Integrity, SI), 指信号波形失真;电源完整性 (Power Integrity, PI), 主要指有源器件供电的互连线及各相关元件的噪声;电磁兼容(Elect
2021-11-17 22:41:43
1023
原创 ubuntu20.4安装ROS2 Noetic Ninjem
ubuntu20.4安装ROS2详细在开始前,需要确定ubuntu的版本,确保安装是按照该版本进行的。suodo lsb_release -a得到下面结果
2021-06-30 13:51:11
370
原创 VMware安装Ubuntu卡在更新和其他软件处
VMware安装Ubuntu卡在更新和其他软件处如图所示。按照Ubuntu一到这一步就卡住不会向下面走了,在网上搜到了解决办法。解决办法:重新启动,拔掉网线,然后选择最小安装
2021-06-18 18:23:06
3370
3
原创 光刻原理-光的衍射仿真(MATLAB)
线性系统与傅里叶变换线性系统线性系统线性系统将复杂的信号分解为许多基本的信号,这些基本的信号,叫做基元信号,在傅里叶分析中基元信号为正弦信号。对于一个二维系统,其输入为u(x,y)u(x,y)u(x,y),输出信号为g(x,y)g(x,y)g(x,y)#mermaid-svg-WD4pwsJLahnj3OVR .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#33
2021-01-24 17:45:37
2065
原创 光刻原理--光的衍射
光的衍射惠更斯原理惠更斯-菲涅尔原理基尔霍夫衍射基尔霍夫衍射公式的应用基尔霍夫衍射公式的近似傍轴近似惠更斯原理惠更斯原理:认为光波面上的每一个点都可以看作是一个次波的中心,发出子波;在后一个时刻这些子波的包络面就是新的波面。如图,利用惠更斯原理能说明光的衍射现象的存在,但是无法确定衍射后光强的分布。惠更斯-菲涅尔原理惠更斯-菲涅尔原理将波阵面上的每一个面元看做次级源波,波场中任意一点的光场,是所有次级源波发出的次级波在该场点的相干叠加。如图按照惠更斯-菲涅尔原理,波面上的面元dS发出的子波,在空间P
2021-01-23 16:53:27
3378
原创 光刻原理-偏振光(MATLAB仿真)(1)
光的偏振光的偏振性质光的偏振性质对于在直角坐标系中沿zzz轴方向传播的光,其波矢(传播常数)k\boldsymbol{k}k也是沿着zzz轴方向。那么光的电场只有x和y两个分量。一般用电矢量端点所描绘的曲线的性质,定义光的偏振状态。平面波在x轴和y轴的分量可以表示为:Ex=a1cos()E_x=a1cos()Ex=a1cos()...
2021-01-21 21:23:49
3150
1
原创 光刻原理—数学基础(2)
该原理参考Fundamental Principles of optical Lithography光的数学表示光刻中的波动方程光刻中的波动方程对于电场的指数表示来说,我们只是取其实部,所以指数上是负数还是正数都无所谓。所以对于传播在Z+Z^+Z+方向的平面波,我们可以这样表示其相量:U(P)=AeikzU(P)=Ae^{ikz}U(P)=Aeikz对于在任意方向r\boldsymbol{r}r上传播的光,其传播方向r\boldsymbol{r}r是原点到空间中任意一点(x,y,z)的方向向量,所以平
2021-01-20 19:23:14
1141
1
原创 光刻原理—数学基础(1)
该原理参考Fundamental Principles of optical Lithography数学基础数学基础——旋度、散度、梯度旋度散度梯度拉普拉斯算符相关运算球坐标系下的旋度、散度、梯度旋度散度梯度拉普拉斯算符麦克斯韦方程和波动方程亥姆霍兹方程数学基础——旋度、散度、梯度旋度对于一个向量场F,其旋度表示为:∇×F(curlF)=(∂Fz∂y−∂Fy∂z)xˆ+(∂Fx∂z−∂Fz∂x)yˆ+(∂Fy∂x−∂Fx∂y)zˆ\nabla\times \boldsymbol{F}(curl \
2021-01-19 21:23:40
817
原创 Pycharm 更改了pycharm64.exe.Vmoptions文件,后Pycharm打不开。
使用网上的方法想破解一下pycharm,在help里面更改了pycharm64.exe.Vmoptions后添加了javaagent后发现软件打不开了。后面想改回来发现来,在安装目录bin下面发现了该文件中没有我添加的javaagent。后来在发现一篇博客,链接:https://blog.csdn.net/weixin_45696455/article/details/106414316才发现原来需要在C盘里找到pycharm64.exe.vmoptions进行修改。我在C盘里搜索了.vmoptio
2021-01-16 19:13:47
16982
8
原创 QT:一个简洁的温度自定义控件
QT:一个简洁的温度自定义控件本人学生党一枚~~,写上位机的时候写了个温度控件,新手一枚,欢迎各位大佬指正。效果图:代码set_tem.h文件#ifndef SET_TEM_H#define SET_TEM_H#include <QWidget>#include <QPainter>#include <QMouseEvent>#i
2019-01-19 13:15:34
2026
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人