- 博客(39)
- 问答 (2)
- 收藏
- 关注
原创 Transceivers Wizard IP核
后面的CPLL或者QPLL选择,可以直接在代码中进行修正,包括GT收发器的位置也可以在XDC中进行覆盖。通过以上配置,可高效利用7系列FPGA的GT收发器实现高速串行通信。使用两个K28.5进行时钟纠正,类似同步码。buffer延迟大概100个时钟周期。几十公里的就选择DFE均衡器。
2025-02-22 21:36:04
1045
原创 FPGA VIVADO:axi-lite 从机和主机
协议就不详细讲解了,直接看手册即可。下面主要如何写代码和关键的时序。此外下面的代码可以直接用于实际工程。
2025-02-18 23:06:38
910
原创 VIVADO生成DCP和EDF指南
详细步骤就不贴图了,网上一大堆在Vivado中,常用的三种封装形式有三种:● IP● edif● dcp在下文之前,先看几个概念:和global相对,out_of_context就是将上下文分离,在综合的时候,只是将这个module作为一个整体,类似IP生成的时候,选择global就会将IP修改部分和未修改部分整合起来一起综合和优化,而out_of_context就只是将这一块或者修改部分进行综合和优化-no_iobuf。
2025-02-07 23:36:35
1313
原创 ZYNQ PS和PL交互
AXIM_GP:属于AXI-lite协议。适用于少量数据一般不用AXI-FIFO作为数据交互,因为互联模块本身也有FIFO(但是空间小)。大量数据其实也就不用这种方式。
2024-12-08 22:29:01
650
原创 不常用的verilog语法
full-case:都可以被遍历到parallel-case:一个case表达式只对应一个item. 比如casez在使用时,就可能是。
2024-12-08 00:24:44
684
原创 FPGA理论基础1一一一简单的硬件知识
当BANK的I/O口作为LVDS电平时,HR BANK的IO电压VCCO只能为2.5V,HPBANKS的I/O口电压为1.8V。可接1V2/1V5/1V8/2V5/3V3等多种电压,但是主SPI/主BPI模式下配置过程涉及到该BANK上的某些引脚,需要和VCCO_O保持一致。系列的FPGA,GTP最高可以达到6.6Gb/s,GTX最高12.5Gb/s,GTH最高13.1Gb/s,GTZ最高28.05Gb/s。限制电压有助于控制功耗,从而减少热量的产生,对于热管理是非常重要的,尤其是在高密度集成的系统中。
2024-11-19 23:40:03
2238
原创 FPGA FIFO系列 - FIFO使用中需要注意的若干问题
场景:类似图像、文字等码流数据是不需要重复被访问的,因此使用FIFO进行缓存(如果需要被存储,一般不会放在FPGA内部)。此时,FIFO的数据消失性对设计没有影响。但是对于fifo来说,如果时钟频率提高,需要满足建立和保持时间,那么就需要对fifo接口进行缓存,以截断前、后组合逻辑布线延迟和FIFO接口时序之间的相互影响。写时序因为数据和写使能是同步输入给FIFO的,所以没有影响,但是,读时序,读出数据就会延迟3个时钟周期,如下图所示。
2024-11-17 23:33:58
1141
原创 深入浅出通信原理
阅读《深入浅出通信原理----陈爱军》笔记,无图,可以对照的书去看,有页码标志。非通信人,定性的去理解,如果有理解不对的地方,望提出宝贵意见。
2024-09-13 00:27:48
1933
原创 FPGA概述
FPGA的工作原理主流的是采用SRAM工艺的LUT结构,LUT本质就是一个RAM,将真值表写入RAM,通过4或者6输入来定位ram中的真值表,然后输出。当FPGA启动时,就会读取flash或者其他存储器中的数据,把真值表写入ram中,当下电时,FPGA就是白片。军用或者航天级别一般采用FLASH或者熔丝与反熔丝工艺的LUT。也就是说不同的使用场景,使用不同的工艺来设计LUT硅片融合是发展趋势。熟悉不同器件在不同应用场景的优缺点熟悉FPGA内的资源有哪些。
2024-08-27 21:20:07
595
原创 从PCB开始研究FPGA设计问题
这里只针对FPGA告诉电路板设计问题进行讨论总得来说需要考虑信号线,信号线之间,电源供电(供电曲线,供电顺序(核心电压和io电压),电源退耦)
2024-08-26 12:12:45
627
原创 FPGA时钟域处理
FPGA在代码设计的时候要考虑不同功能会有不同的时钟域,在设计构思的时候就要考虑到框图中的时钟域划分。一般都是多时钟域设计总体起来说需要考虑两个方面的知识点,时钟资源有哪些,跨时钟域的处理。另外就是需要考虑对时钟本身的处理需要考虑的处理技巧,如分频,时钟的反转或者倍频调整(尽量还是用pll吧)
2024-08-26 12:05:54
1087
原创 FPGA速度优化
速度优化,主要就是设计时序进行优化吞吐量:每个时钟周期能处理的数据量,多少bit,b/s。为了提高吞吐量,大量的并行的设计被使用,再对数据处理完成之后对外传输,一般使用告诉串行I/O口,使得提高速率的前提又增加了稳定性设计延时:输入数据和数据被处理后输出的时间间隔。对于吞吐量来说,只关心流水线末端下线产品的数量,很少关系数据被处理的传输延迟。即尽量采用并行操作,减少流水操作。设计时序:指设计时钟速度,两个时序单元之间的最大延迟,决定了时钟频率(速度),可以得到一个最大时钟频率。
2024-08-26 10:58:21
1714
原创 如何写好状态机
标准状态机分为两种摩尔moore:状态机输出只和当前状态值有关系mealy:状态输出和当前有关还和输入有关状态转换的时候出现过渡状态进入非法状态器件不同,综合出来的情况不同占用资源过多状态机的注意事项有两个,一个是避免出现非法状态(编码设计、状态切换的布局布线,即组合逻辑和计算影响切换速度,导致时序不满足,出现过度状态),另一个是资源使用。编码状态机内部跳转减少跳转过程的组合逻辑、让综合工具能识别到这些来考虑。
2024-08-25 22:52:05
247
原创 verilog 面积优化
面积优化就是尽可能的减少门电路资源的消耗面积的优化主要从共享来考虑,就是考虑综合出来的电路是什么样的,操作符共享,表达式共享,功能共享。其次,就是有些信号的处理,比如复位信号不是一定给。最后考虑硬件本身的特性。
2024-08-25 22:45:17
987
原创 FPGA解决时序问题
如果设计验证和测试已经接近尾声,偶尔进行小改可能出现几条时序违例的情况这个时候就不建议通过修改代码来进行优化了,首先在设计验证和测试几乎完成的情况下,证明你这套逻辑已经经过了层层考验,不会出什么问题。如果这个时候还通过改功能模块来优化时序有可能引入新的不确定因素,还得花很多时间来验证才行。在这个时候一般的做法是多开几个策略来进行综合或者布局布线。举个简单的例子,因为只是偶尔会出现时序不过的情况,假设概率为0.3。那么如果有3个策略同时编译,则3个都不过的概率就变成0.027了。
2024-08-25 22:32:36
1560
原创 三大低速总线之SPI
SPI(串行外设接口)以其高速度而著称,使其成为快速通信的首选。与 I2C 不同,SPI 使用四线工作:MISO(主输入从输出)、MOSI(主输出从输入)、SCK(串行时钟)和 SS(从选择),允许全双工通信(发送和同时接收)。尽管简单且速度快,但 SPI 比 I2C 需要更多的引脚,这可能是电路设计中需要考虑的一个因素。高速:SPI通信速度较快,适用于对速度要求较高的应用。**全双工:**SPI支持全双工通信,可以同时进行数据发送和接收。
2024-08-25 22:21:45
2044
2
原创 三大低速总线之一:UART
三大低速总线:UART、IIC、SPI,其中IIC和SPI是同步通讯,UART是异步的。tx和rx都是一根线,使用简单的帧结构传输。UART通信协议相对简单,易于实现和调试。适用性广泛:UART被广泛应用于各种设备之间的通信,具有较好的兼容性。距离:UART通信距离较远,适用于需要长距离传输的场景。速度较低:UART通信速度相对较低,不适用于对速度要求较高的应用。双工:UART通信是双工的,可以进行低速双工传输数据,进行数据的发送和接收。
2024-08-24 07:11:29
1624
原创 离散时间信号
离散时间信号的由来连续时间信号离散时间信号数字信号问题1:为什么要对连续时间信号进行采样?计算机处理数据是离散的,且是被量化的问题2:如何选择采样频率?理解什么是序列,序列就是n和值然后就是序列基本计算方式,加减乘除就不说了,然后就是序列的卷积代表的含义。序列的性质,比如周期性。对应离散序列的系统,这个系统的性质都有什么然后就是对于时域信号的采样和采样之前的关系采样频率和目标信号的最高频率的关系,要知道采样后的频谱是怎么样的,注意Fs/2的位置。
2024-08-23 16:17:19
859
原创 FPGA时序约束
为什么要进行时序约束:就是告诉软件端口的输入的周期、延迟等的关系,然后更好的布局布线如果我们不加这些约束,那么软件无法知道我们的时钟周期的情况,因此布局布线之后,就不会有时序违例的警告,导致错了我们也不知道核心在于防止出现建立或者保持时间不满足导致出现亚稳态建立时间和保持时间,主要的就是明白其保持和建立时间容限IO约束,一个是管脚,一个数据和时钟之间的延迟。数据和时间的延迟又分为是否为捕获时钟有还是没有(对于输入和输出都要判断),有时钟但是不满足和主时钟为整数倍的频率关系。
2024-08-21 21:08:21
2213
2
原创 复位电路及时序分析
同步复位异步复位异步复位同步释放微建立时间和微保持时间:防止出现亚稳态、脉冲宽度要合适、后续数据打拍解决亚稳态布局布线:复位的速度、顺序不同时钟在使用各自的复位编码问题复位去抖。
2024-08-14 11:04:47
1231
原创 傅里叶级数和傅里叶变换
函数分解为三角函数。(傅里叶变换从零到信号处理:数据建模—>函数—>三角函数)条件:简单来说就是有界有限…具体就是什么有限间断点什么的实数域复数域再到傅里叶变换(非周期函数)和傅里叶逆变换。欢迎一起交流学习,如有错误之处,还请各位指正。参考资料[1]参考视频。
2024-05-16 20:21:08
783
1
原创 无源蜂鸣器 verilog FPGA 基础练习9
无源蜂鸣器的练习,就是对计数器和状态机练习的变种,学会用计数器和状态机的思想来设计。核心思想:理清楚设计思路,从到推的角度来分层次设计和功能来设计欢迎一起交流学习,如有错误之处,还请各位指正。
2023-12-25 23:15:40
1637
1
原创 可乐售卖状态机 verilog FPGA 基础练习4.1
状态机其核心就是状态的转换,由以下几个要点。在理解一下几个要素之后就明白状态机设计的核心思维了输入输入后得到的状态该状态对应的输出以上就是简单状态机的实现
2023-12-14 00:49:21
653
1
原创 呼吸灯 verilog FPGA 基础练习8
呼吸灯的练习的主要目的是对计数器使用的进阶,理解计数器计数使用的基础时间单位的变化,对计数器的影响。
2023-12-10 20:08:45
1976
1
原创 流水灯 verilog FPGA 基础练习7
流水灯也是对计数器和计数器的使用的一个练习。很简单的一个功能,主要是熟练对一下两个点计数器计数器和flag的使用核心思想:
2023-12-09 23:33:06
596
原创 数据类型 systemverilog语法 UVM
数据类型是任何编程语言的重中之重,任何编程不管是verilog、systemverilog、c、c++还是python等等,都是对数据的搬运和处理。只有掌握好数据是什么样的,才能进行更好的实现我们需要的功能。
2023-12-07 00:34:59
1204
1
原创 LED控制 verilog FPGA 基础练习6
借用LED灯的开关切换控制,主要来联系如何通过上升沿或者下降沿来进行特定的操作。核心就是通过打拍进行边沿的判断。核心思想:判定条件是上升沿或者下降沿才进行的某个特定的操作。
2023-12-05 22:46:15
651
原创 按键消抖 verilog FPGA 基础练习5
按键消的的练习主要是对计数器使用的一个巩固,核心就是任何一个需要使用计数器的地方,先建立一个always语句去计数,然后根据条件去判断什么时候清零,什么时候保持等等功能。
2023-12-05 21:38:00
606
原创 偶分频和奇分频 FPGA verilog 基础练习4
分频器的练习就是计数器的一个应用分支,用设立来检验自己对计数器的使用使用熟练。真实上板代码,都是使用IP核来进行的。清零条件递增条件核心思想:明白如何使用计数器来实现特定的功能,
2023-12-03 22:33:59
1134
1
原创 计数器 verilog FPGA 基础练习3
RTL语言中计数器是相当重要的。可以说计数器,是FPGA实现各种功能的灵魂,让时间变得有了意义。
2023-12-02 23:32:27
929
1
原创 第一章 通信原理概述
本文旨在记录《深入浅出通信原理》这本书的学过程。如何实现跨具体传输?手段有哪些?如何实现的?通信系统的分类有哪些?基本模型是什么?通信中信号的预处理过程有哪些?为什么要预处理之后才能发送?信道又是怎么一回事?有了电磁波传输之后,如何提高传输的质量和效率?
2023-12-02 19:12:13
1609
1
原创 避免latch verilog FPGA 基础练习2
本文由如何避免latch的问题场景,来更详细的描述verilog中的组合逻辑电路和时序逻辑电路等等理论知识。由latch这个问题入手来阐述更多理论知识,有助于更好的理解和记忆。核心思想:在抛出latch这个问题的情况下,去理解一些基础的理论概念,大致理解就行。知道在编写代码的时候,如何去避免latch。
2023-12-02 00:22:15
1131
1
原创 半加器和全加器 verilog FPGA 基础练习1
对于半加器和全加器的练习,根本目的在于理解自底向上(Bottom-Up)的设计方法和自顶向下(Top- Down)的设计方法,既学会堆积木。
2023-11-30 22:42:03
1040
原创 38译码器 verilog FPGA 基础练习0
译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。核心思想:如果能够明白在不同场景下,能够用尽可能少的bit位来控制多bit位的数据,那么就完成思想上的升华。输入数据预处理(通过拼接符“{}”)、数据映射(通过条件选择语句进行3-8译码映射)、输出。
2023-11-29 23:44:04
787
1
数据转axi lite接口: 读/写数据FIFO缓存 仲裁:写优先 AXI LITE 总线输出 以下是axi-lite主机的代码: 主要思路: 先理清楚下面5个通道,一个一个来看,端口再多理顺了就好了
2025-02-18
FPGA设计中基于Verilog的RTL级仿真详解及其重要性
2024-11-17
米联客2020版FPGA课程:MIG DDR3控制器设计与实践
2024-11-17
FPGA笔试与面试技术要点详解
2024-11-17
lte_20m和5g_nr_100m的ecpri速率计算
2023-11-22
vivado如何实现硬核仿真
2023-07-11
FPGA前仿真如何实现自动化
2023-06-29
有几个关于fpga的基础问题黑盒仿真,建立保持时间,和仿真覆盖理论。
2023-01-28
Ubuntu和 centos编译区别
2023-01-09
ftps用证书验证登录而不是用密码
2022-12-06
有没有ftps服务器可以使用公钥登录的?
2022-11-29
找一个可以使用ftpes连接的服务端
2022-11-07
搭建了私有的Ca服务器,然后去申请数字证书,这个数字证书可以用于不同的服务器吗
2022-11-01
vsftpd服务器和curl之前怎么实现建立双向认证的tls连接
2022-10-27
vsftpd.conf中设置ssl_enable=YES后 重启vsftpd就失败
2022-10-26
从github下载的ftps开源马可以直接在linux下编译吗
2022-09-23
使用libcurl设置进行ftps协议传输文件
2022-09-20
ftps传输文件证书和密码问题
2022-09-20
C++回调函数,参数获取和保存
2022-07-19
DHCP客户端获取IP
2022-07-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人