FPGA
文章平均质量分 69
开发工具的使用,驱动设计,FPGA硬件使用等。
leixj025
停下匆忙的脚步,抬头仰望星空。
展开
-
基于Xilinx bitslice原语实现delay可调整的MIPI DPHY
Xilinx自带的DPHY在1.5G时无法调整data line的delay值,在需要调整数据线延时的场景可使用文中方案,且有较少的资源占用。使用IBUFDS_DPHY,BITSLICE,BITSLICE_CONTROL实现MIPI DPHY。包含1条clock lane,4条 data lane。参考《UG571 ultralscale selectio》。原创 2023-12-12 17:59:04 · 935 阅读 · 0 评论 -
Unexpandable Clocks不可扩展时钟 UG903
同源时钟可能同步,可能异步?原创 2022-03-14 13:52:07 · 1298 阅读 · 0 评论 -
FPGA原语IODELAY、ODDR、BUFGMUX和VIVADO BRAM的使用
1 IODELAY微调时钟相位#To Adjust GMII Tx Input Setup/Hold Timing#set_property IDELAY_VALUE 16 [get_cells *_i/gmii_to_rgmii_0/U0/i_gmii_to_rgmii_block/*_gmii_to_rgmii_0_0_core/i_gmii_to_rgmii/i_gmii_to_rgmii/gen_rgmii_rx_zq.delay_rgmii_rx_ctl]#set_pr.原创 2022-01-24 14:45:40 · 5845 阅读 · 0 评论 -
FPGA设计中的复位
遵循 Xilinx 建议的复位准则:a) 尽量少使用复位;b) 必须复位时采用同步复位;c) 确保使用高电平有效的复位;d) 避免异步复位(RAMB 和 DSP48 模块中不支持异步复位)。1、尽量共用复位、使能等控制信号,以便在综合实现时,寄存器能放在同一个Slice中,充分利用资源。2、少用复位信号,可使设计在实现时更加灵活,不会被限定在一种实现方法,充分利用资源。3、FPGA器件寄存器默认值为0,若复位仅用于初始化寄存器,可不使用复位。关于复位更详细的设计可参考《wp272-G原创 2022-01-24 13:28:16 · 924 阅读 · 0 评论 -
ATGM332D GPSBD模块使用注意事项
目录1、模块默认波特率为9600,所有报文全开,不能直接使用2、RMC报文3、模块配置3.1 切换GPS、BD、GPS+BD模式3.2关闭其它报文格式3.3 保存配置信息1、模块默认波特率为9600,所有报文全开,不能直接使用9600且所有报文全开,会造成数据堵塞,发生时间整秒延迟,大约在1,2,3,4秒整秒跳动。必须调高波特率到115200;或关闭多余报文,仅留RMC。2、RMC报文RMC报文包含了常用的时间,坐标等信息。时间为UTC时间,需要+...原创 2021-11-09 20:03:31 · 2493 阅读 · 1 评论 -
RX8025T RTC读写与秒中断
一、精度二、读写时序接口为IIC,读写时序如下图。注意:1、写操作,写从机地址、寄存器地址0,紧接可以连续写入秒、分、时、周、日、月、年共7个数据;2、读操作,写从机地址、寄存器地址0、restart、读从机地址,紧接可以连续读出入秒、分、时、周、日、月、年共7个数据;三、写RTC对其内部ms计数的影响RTC的秒脉冲低有效,每次输出时读取RTC中的时间。读出秒的时刻清零FPGA维护的ms,ns计数;对RTC的写入有GPS校正(pps上升沿开始写RTC)、CPU主站校正。.原创 2021-11-09 19:36:47 · 2602 阅读 · 0 评论 -
vivado中自定义AXI4 IP核报错 :ASSOCIATED_BUSIF bus parameter is missing.
vivado版本2016.4,该警告不影响使用,后续版本中应该会修复。在vivado中自定义AXI4 IP核时出现如下的警告:[IP_Flow 19-3153] Bus Interface 's00_axi_aclk': ASSOCIATED_BUSIF bus parameter is missing.双击图中黄色区域,弹出下图对话框,点击“+”,添加如下图的参数即可...原创 2020-06-17 08:37:09 · 3408 阅读 · 0 评论 -
I2C总线时序(应用于PCA9555)
1、基本的时序SCL由主机发,SDA为双向:主机先发数据,后改接收从机应答。1)总线的启动,结束;时钟高电平数据必须保持稳定,时钟低电平数据才可以变化。2)应答。从机在第9bit发ACK=0。主机要结束操作时发NACK=1.2、9555操作时序1)器件地址与寄存器地址器件地址高4bit固定,A2A1A0由硬件上下拉确定,最后1bit根据读写操作不同变化。寄存器地址,用于配置,读写端口。每一位可单独配置为INPUT,output。2)写数据。支持突发写,..原创 2021-07-21 11:32:17 · 3062 阅读 · 0 评论 -
HDLC(High-Level Data Link Control)(对比以太网)
1、HDLC是什么高级数据链路控制HDLC(High-Level Data Link Control),数据链路层是OSI参考模型的第二层,相当于以太网MAC层。对物理层没有详细的规定,对数据速率、编码方式、传输介质等没有规定,可以采用光纤CMI、NRZI等编码。 2、HDLC的分类主要分为两大类,一般使用时只使用某一特定的子集。以太网不同协议在datalink 层也不同,常见的以太网帧结构由ETHERNET II 和 IEEE802.3,详见帧结构一章的图片。面向字符型 ...原创 2020-12-31 14:33:47 · 6189 阅读 · 0 评论 -
串行数据异步动态相位采样处理iodelay-iserdes应用+CDR数据恢复方案
一、用iserdes的LVDS视频接口《Zynq高速串行CMOS接口设计与实现》作者:hello,pandahttps://blog.csdn.net/haoxingheng/article/details/50320145二、4倍过采样《LVDS 4x Asynchronous Oversampling Using 7 Series FPGAs and Zynq-7000 AP SoCs》https://china.xilinx.com/support/documentation/a.原创 2020-11-19 15:26:24 · 3189 阅读 · 4 评论 -
OSERDES和OBUFDS在LVDS视频传输中的应用
Select IO 资源 分三类:基元、逻辑资源、高级逻辑资源。A、基元B、逻辑资源C、高级逻辑资源1、OSERDES与ODDR区别:OSERDES数据入口为1个并行口,2个clk,通过高倍时钟串行化,低位先发LSB;ODDR 数据入口为2个单bit口,1个clk,clk双沿分别发两个口数据。接收端用双沿采样。2、通过原语调用MMCM或PLL,也可用GUI方式。3、OSERDES2模块实现把并行数据转化为串行数据,串行时钟的速率与并行数据宽度有关,可参..原创 2020-10-30 10:39:14 · 2109 阅读 · 0 评论 -
循环冗余校验(CRC)之verilog实现
有一个网站在这一方面做的特别好,直接生成代码。链接:http://www.easics.com/webtools/crctool 循环冗余校验,也称为CRC检验,这是一个很常见的,很成熟的算法。该算法的理解很简单,随便用百度百科一搜,然后花半个小时估计就能完全理解了。这篇博文描述:怎么实现硬件并行的CRC计算。主要的参数为:1.生成多项式,在不同的协议中有不同的生成多项式,一般这些多项式都是确定的。2.模2除法如果已经了解CR...转载 2020-07-23 14:44:00 · 2047 阅读 · 4 评论 -
FPGA按钮输入消抖
下图 1 说明了一个有效的消抖逻辑电路。 此电路持续将按钮的逻辑电平记录到 FF1 然后记录到 FF2,使得 FF1 和 FF2 始终存储此按钮的最后两个逻辑电平。 当这两个值在指定的时间内保持相等时,启用 FF3,并通过它将稳定值记录到结果输出。 XOR 门和 N 位计数器完成定时。 如果按钮的电平发生变化,则 FF1 和 FF2 的值在一个时钟周期内不同,从而通过 XOR 门清零 N 位计数器。 如果按钮的电平不变(即,如果 FF1 和 FF2 处于相同的逻辑电平),...转载 2020-06-17 08:29:27 · 703 阅读 · 0 评论 -
FPGA中用verilog直接读写操作SDRAM
1 简介SDRAM 型号为MT48LC32M16A2。SDRAM,英文名是: Synchronous Dynamic Random Access Memory,相较于 SRAM(静态存储器), SDRAM 具有:容量大和价格便宜的特点,但是需要动态刷新,保持存储单元内的数据不丢失。1.1 存储单元组织结构有4个BANK,每个BANK有8192行,每一行有1024列,每个地址存储位宽16bits,整个芯片的容量为: 8192*1024*4*16=64M 字节。1.2 参数1.3信.原创 2020-06-16 16:22:57 · 4527 阅读 · 0 评论 -
Alreta DDR2 IP 核上板测试
目录1工程设置修改1.1 增加复位控制1.2工程设置1.3 设置管脚电平、驱动能力。1.4 按照原理图配置具体管脚1.5添加约束2 波形抓取3 信号补充说明4 其他使用1工程设置修改本文中工程仍然使用<<Alreta DDR2 IP 核仿真测试https://blog.csdn.net/leixj025/article/details/106646782 >>的工程,在此基础上修改。1.1 增加复位控制在_example_t...原创 2020-06-10 18:30:08 · 297 阅读 · 0 评论 -
Alreta DDR2 IP 核仿真测试
开发环境Quartus II 13.1 ,仿真工具 ModelSim SE-64 10.4,直接使用altera官方testbench仿真测试。1 IP核配置生成用verilog语言注意:在生成过程中会卡住两次,每次等待一会后,在任务管理器中关闭quartus_map.exe,即可顺利生成。2 搭建仿真工程2.1 工程层次生成的IP文件夹内包含了例程文件,在quartus中搭建例程工程,编译,以此工程为基础进行仿真。2.2_example_top.v文件更正.原创 2020-06-09 18:17:32 · 729 阅读 · 0 评论 -
altera modelsim库编译
原文网址 https://www.cnblogs.com/chengqi521/p/6112926.html估计很多人买了CB哥的书来看吧,他们在学习modelsim仿真的过程中可能遇到过明明是按照书上的步骤添加器件库的了,但还是出现如下的错误:首先,我想说的是CB哥书上的modelsim-altera10.1d是随QuartusII一起安装的,它已经编译了altera的器件库。它是一个免费版的仿真工具,不需要破解,当然它的功能不是最强大的,仿真速度也不是最快的,但已经可...转载 2020-06-05 14:47:53 · 1230 阅读 · 0 评论 -
string is an unknown type
AR# 59606MIG 7 Series DDR3 - Simulation fails in Vivado Simulator with ERROR: [VRFC 10-51] string is an unknown type描述 解决方案 链接问答记录描述Version Found:MIG 7 Series v2.0 Rev 2Version Resolved:See(Xilinx Answer 54025)The DDR3 memory model f...转载 2020-05-22 15:29:44 · 1818 阅读 · 0 评论 -
基于FPGA的CORDIC算法实现
目前,学习与开发FPGA的程序员们大多使用的是Verilog HDL语言(以下简称为Verilog),关于Verilog的诸多优点一休哥就不多介绍了,在此,我们将...转载 2020-05-09 15:48:06 · 1679 阅读 · 0 评论 -
两种逐次逼近的开平方算法sqrt
此处两种算法优势:通过移位、或运算 完成平方值的比较,无需乘法器。1、方法一根据被开方数位宽,从结果的最到位[ (asize/2)-1]到最低位[0]逐次逼近。核心代码理解:tt = (v << (i + 1)) | (1 << (i + i))=2*v*2^i + 2^(2*i) = (v+2^i)^2 - v^2;// | 相当于加法。v+2^i表示结果v的第[i]bit 新变为1,则tt代表v[i]=1后,v^2的增量。每次变位完,需要从被开方总数r-...原创 2020-05-09 15:01:36 · 1399 阅读 · 0 评论 -
开平方_复数有效值+角度的verilog代码
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...原创 2019-10-25 14:01:36 · 5625 阅读 · 2 评论 -
modelsim 常用快捷键
1、鼠标操作:Ctrl+鼠标左键从左上向右下拖拉:放大(选中区域)Ctrl+鼠标左键从左下向右上拖拉:缩小2、键盘操作:c :当前光标居中并放大i,I,+ :(Zoom in)放大o,O,-:(Zoom out)缩小f,F :(Zoom full)缩放至满屏...原创 2019-10-22 15:42:12 · 3646 阅读 · 0 评论 -
FMC/FSMC/EXMC总线NORFlash/PSRAM接口(异步-复用-不突发/同步-复用-突发)
目录1 简介1.1 框图1.2 接口定义1.3 读写时序图、时序配置参数1.4 PSRAM控制器异步工作模式分类1.5 PSRAM寄存器配置1.5.1 控制寄存器BCR1.5.2 片选时序寄存器BTR1.5.3 写入时序寄存器BWTR2 FPGA接口设计2.1 实际配置的时序2.2 接口信号处理3 参考文献1 简介 使...原创 2019-10-21 09:25:26 · 14547 阅读 · 8 评论