找工作用的FPGA
文章平均质量分 75
FPGA学习路漫漫
今天学fpga
一个正在入坑fpga的研究僧,写博客主要是为了激励自己学习,有侵权请告知,马上改!
展开
-
静态时序约束(SDC)
(1)时钟源点时钟源点可以根据情况定义为设计中一个端口,也可以是一个逻辑单元的PIN脚,上边约束代码的[]中的部分。(2)时钟周期上边约束代码的-period中的部分。(3)时钟占空比时钟占空比主要定义时钟高低电平在一个时钟周期内的分布情况。上边约束代码的中的部分。{0 5}表示在这个时刻段里时钟是高电平,它占时钟周期的一半,因此占空比为50%,。(4)时钟转换延时时钟转换延时定义时钟在高低电平状态下切换所需要的延时。(5)时钟不确定性。原创 2024-08-31 23:10:49 · 743 阅读 · 0 评论 -
PCIE之RIFFA框架接口时序
接口名称红色的为握手信号,黑色的为FIFO端口(RIFFA模块中用FIFO作为数据缓冲)。I/O的方向以USER LOGIC为起点,例如对于USER LOGIC,CHNL_RX_CLK为output,对于RIFFA则为input。RIFFA是一个开源框架,用于实现简便的PCIE通信,使开发者只需要关注与数据相关的接口,不必花费大量时间用于TLP包的解析核封装。使用RIFFA框架开发只用关注用户侧的数据接口时序,RIFFA模块可以自己完成TLP封包解包。原创 2024-04-07 16:03:49 · 758 阅读 · 0 评论 -
FPGA跨时钟域设计
一个FPGA设计通常包含多个时钟域,不同时钟域之间进行数据交互就涉及到跨时钟域。根据不同的传输情况,可以分为单bit跨时钟域和多bit跨时钟域。其中,单bit跨时钟域还可以分为快时钟域到慢时钟域和慢时钟域到快时钟域两种情况,多bit跨时钟域一般采用双端RAM或者异步FIFO进行处理。原创 2023-12-31 14:46:22 · 524 阅读 · 1 评论 -
XILINX FPGA高速收发器(GT)
xilinx的7系列FPGA根据不同的器件类型,集成了GTP、GTX、GTH、GTZ四种串行高速收发器,可以支持多种协议如PCI Express,SATA,JESD204B等。四种收发器主要区别是支持的线速率不同,下图可以说明在7系列里面器件类型和支持的收发器类型以及最大的收发器数量。GT支持的使用场景如下:GT以硬核的形式集成在FPGA芯片中。其中,一个GT称为一个channel,四个GT组成一组称为Quad,如下图所示,一共四个Quad,16个GT。原创 2023-12-30 21:04:41 · 2693 阅读 · 1 评论 -
FPGA实现以太网(二)——ARP协议
ARP(Address Resolution Protocol),即地址解析协议,是根据 IP 地址(逻辑地址)获取 MAC 地址的一种 TCP/IP 协议。在以太网通信中,数据是以“帧”的格式进行传输的,帧格式里面包含目的主机的 MAC地址。源主机的应用程序知道目的主机的 IP 地址,却不知道目的主机的 MAC 地址。原创 2023-12-28 14:07:22 · 1436 阅读 · 1 评论 -
FPGA实现以太网(一)——以太网简介
以太网(Ethernet)是当今现有局域网采用的最通用的通信协议标准, 该标准定义了在局域网中采用的电缆类型和信号处理方法。以太网凭借其成本低、通信速率高、抗干扰性强等优点被广泛应用在网络远程监控、 交换机、工业自动化等对通信速率要求较高的场合。以太网是一种产生较早,使用相当广泛的,被电气与电子工程师协会( IEEE)所采纳作为的标准。以太网的分类有标准以太网(10Mbit/s)、 快速以太网(100Mbit/s)和千兆以太网( 1000Mbit/s)。原创 2023-12-28 10:37:21 · 2303 阅读 · 1 评论 -
二进制转8421BCD码——移位加三法
二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。移位加三法实现过程:从二进制的高位开始向BCD寄存器中移入二进制数据,依次经过BCD寄存器的个、十、百等位,直到所有的二进制数移入到BCD寄存器中。每次移位,判断个、十、百等是否大于4,若大于则对应位加3,否则不变。例如:(11110011)转BCD,对应原创 2023-12-27 21:18:21 · 2209 阅读 · 1 评论 -
FPGA三态门控制双向信号线
当控制信号有效时,数据输出,相当于output端口。当控制信号无效时,三态门处于高阻状态,此时信号线与内部输入线连接,相当于实现input端口。FPGA中经常使用到inout类型的双向数据线,比如IIC协议中的SDA数据线。那么在FPGA中是如何实现这种形式的端口呢?使用三态门逻辑进行控制。原创 2023-12-27 20:57:52 · 480 阅读 · 1 评论 -
FPGA按键消抖
通常我们所使用的开关为机械弹性开关, 当我们按下或松开按键时, 由于弹片的物理特性,不能立即闭合或断开,往往会在断开或闭合的短时间内产生机械抖动,消除这种抖动的过程即称为按键消抖。原创 2023-12-27 20:51:13 · 326 阅读 · 1 评论 -
FPGA实现HDMI接口
HDMI( High-Definition Multimedia Interface),即高清多媒体接口。它能够,简化了设备的接口和连线;同时提供了更高的数据传输带宽, 可以传输无压缩的数字音频及高分辨率视频信号。HDMI 接口在物理层使用 TMDS 标准传输音视频数据。原创 2023-12-27 20:23:23 · 4182 阅读 · 2 评论 -
循环冗余校验(CRC)和FPGA实现
循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用模二除法及余数的原理来作错误侦测的。在计算机网络通信中运用CRC校验时相对于其他校验方法就有一定的优势。CRC可以高比例的纠正信息传输过程中的错误,可以在极短的时间内完成数据校验码的计算,并迅速完成纠错过程,通过数据包自动重发的方式使得计算机的通信速度大幅提高,对通信效率和安全提供了保障。原创 2023-12-26 14:19:34 · 1399 阅读 · 1 评论 -
手撕FIFO(Verilog)
FIFO,先进先出存储,没有地址。何为异步?即读写为不同的时钟。我们在FPGA的设计中经常会使用到FIFO,一般的做法都是直接调用IP核,可为什么要动手亲自写代码呢?1.当我们更换芯片厂家时,IP是不可移植的,这时候就需要重新改代码,工作量大.;2.有的面试可能会让你手撕代码。以上个人见解。原创 2023-12-26 15:23:24 · 572 阅读 · 0 评论 -
FPGA串行通信(UART,IIC,SPI)
此篇为学习正点原子FPGA课程总结串行通信即收发双方通过单根线进行数据传输,发送方有并转串逻辑,接收方有串转并逻辑。优点是占用IO少,成本低,缺点是速率低。并行通信一次用多根数据线传输。优点是速度快,缺点是占用IO多,成本高。单工通信:只能沿一个方向通信,如遥控器半双工通信:可以双方通信,不能同时通信。如传呼机全双工通信:可以双方同时通信,如电话同步通信:收发双方有一根时钟线进行数据同步异步通信:没有这根时钟线,靠固定的数据格式、比特率等来同步。原创 2023-12-26 16:19:53 · 1137 阅读 · 2 评论 -
Xilinx 7系列IO资源
IO资源包含两部分,IOB和IO逻辑部分HP BANK的IO资源:HR BANK的IO资源:HP bank 具有单独的 IDELAY 和 ODELAY 块,但是HR bank没有ODELAY 块,其余大致相同。IOBIOB就是IO buffer的意思,每一个IOB包含两个IO口,一个PAD。两个IO口分为输入input,输出output。PAD就是与外部连接的焊盘。7系列中,25个IOB组成一个IO bank。I\ODELAYIDELAY被称为信号延迟模块,它的作用就是把信号延迟一段时间。原创 2023-12-26 22:53:54 · 1423 阅读 · 0 评论