![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
fpga原理
文章平均质量分 57
gaoxcv
如有疑问,可以留言探讨
展开
-
抖动的评估(TJ 和 TIE 的关系)
880次结果会有一个统计直方图(其实就是概率密度函数PDF probability density)如左下图蓝色的部分,通过拟合插入绿色的部分,将此图扩展为右图,然后查找y值 即可得到能保证 10e-12 误码率(BER,bit error rate)(即抖动大于此x值的概率小于 1/10e12) 对应的 x值,即为TJ@BER。原创 2024-06-11 18:01:27 · 600 阅读 · 0 评论 -
global clk 的 skew & jitter
多clk 减少 skew, jitter 的预估原创 2023-02-07 20:43:19 · 251 阅读 · 0 评论 -
如何使用 max_fanout
max_fanout 使用时要注意加在其他模块的 input 前或者本模块的reg原创 2023-01-16 16:49:39 · 1485 阅读 · 0 评论 -
如何 锁定 布局布线
如何一次性锁定指定模块的全部布局布线原创 2023-01-11 17:42:55 · 297 阅读 · 0 评论 -
如何禁止vivado自动生成 bufg
如何禁止vivado自动生成 bufg原创 2023-01-06 18:31:31 · 1293 阅读 · 0 评论 -
锁存器的生成,两段式注意每个状态都要写信号值
关于两段式状态机要注意每个输出信号在每个状态下都应该赋值,否则就会是0原创 2022-12-19 14:13:45 · 151 阅读 · 0 评论 -
多板卡如何同步
多板卡如何同步原创 2022-11-17 11:24:45 · 614 阅读 · 0 评论 -
在调用lut原语时如何防止vivado自动优化pin 连接顺序
lut 原语 pin 顺序约束原创 2022-10-19 13:58:41 · 509 阅读 · 0 评论 -
如何在 initial / task 等 begin_end 中等待某一个信号
如何在 initial / task 等 begin_end 中等待某一个信号原创 2022-09-07 15:03:04 · 197 阅读 · 0 评论 -
如何在modelsim中 直接 仿真vivado 原语和IP
直接在modelsim中仿真原语原创 2022-07-13 18:32:10 · 2196 阅读 · 0 评论 -
KU040 slice内 路径分布 和 延时参数
每个slice中,lut 的出口 O6 以最短路径可以连接到同一个slice其他的 lut 的 I0-l5 入口的情况,以下为 O5 的相邻情况下面是 8个reg (AFF-HFF)通过最短路径连接 到同一个slice中不同 lut 之间的连接关系最短路径是指 只经过一次 线交换器 (int_inter),也叫线路相邻 ,如下图为 H6LUT 的 O6 以最短路径连接到 B6LUT 的 I3(a-lut 4),所有复合最短路径的延时都在 120 ps 左右,误差一般在10ps原创 2022-05-07 18:09:41 · 669 阅读 · 0 评论 -
进位链 carry 使用相关
CARRY8 #( .CARRY_TYPE("SINGLE_CY8") // 8-bit or dual 4-bit carry (DUAL_CY4, SINGLE_CY8) ) CARRY8_inst ( .CO(CO), // 8-bit output: Carry-out .O(O), // 8-bit output: Carry chain XOR data out .CI(CI), ...原创 2022-05-05 17:14:28 · 1615 阅读 · 0 评论 -
clock wizard 的 fine phase 模式
clk_wizard界面说明 和 fine_phase的使用原创 2022-02-11 18:24:18 · 1477 阅读 · 0 评论 -
SelectIO 模块中的 native mode 和 component mode
从 ultrascale 器件开始,xilinx 将 io 资源中的 serdese 资源进行了整合,做成了 bitslice器件,通过不同的例化方式,可以将 bitslice 例化成不同接口:xapp1324 page 1 ug571 chapter 21) native mode : 直接使用 high_speed_selectio_wizard ip 例化成 高速lvds 接口(1.6g),底部最小器件是 bitslice2) component mode : 使用...原创 2022-02-09 16:10:55 · 2264 阅读 · 0 评论 -
testbench 中延时(#)的使用注意事项
initial begin a = 0; b = 0; #10 a = 1;endc 只有非阻塞式右延时可以实现完全的同步,分别在12ns从x变为0, 22ns变为1always @(a or b) c <= #12 a+b;或者always @(a or b or temp)begin temp <= #12 a+b; c <= tempend或者always @(a o.原创 2022-01-19 11:39:45 · 2872 阅读 · 0 评论 -
静态时序分析STA面试题(1~27
静态时序分析STA面试题(1~27) - 知乎1、 什么是STA?静态时序分析,不需要动态仿真2、 什么是setup time ?在时钟边沿到来之前数据稳定的时间3、 什么是hold time ?在时钟边沿到来之后数据保持稳定的时间4、 什么是arrival time ?在 data path上数据到达的时间5、 什么是required time ?在clock path上时钟到达的时间6、 什么是slack ?required转载 2021-12-22 17:04:04 · 2435 阅读 · 0 评论 -
如何查看fpga内部指定路径延时
在open implementation 之后用 netlist 界面找到对应的原理图,netlist界面可以多选找到想要分析的路径,并逐条记录路径的名字找到report--timing--report timng将路径的名字依次填写进去,搜索的时候打开 regurlar expression(正则表达式)和 ignore case(忽略大小写)会方便查找注意顺序不能颠倒,靠前的路径先填写注意from 或者 end point 必须为 IOPORT或者 CELL...原创 2021-12-14 15:12:19 · 3780 阅读 · 0 评论 -
iodelay 使用总结
1ku040 的 每个delay单元大概在4ps左右,共有512级delay2 纯内部逻辑延时要用 idelay,不能用odelay3 time模式不好用,在idelay中用time模式,导致idelayctrl的rdy管脚一直无法拉高 在odelay中用time模式,会导致设定的初始延时值不起作用4 使用cascade模式要按照如下方案...原创 2021-12-09 16:23:40 · 6744 阅读 · 0 评论 -
在开始高速接口前,我们来试试IBERT测试吧!
https://zhuanlan.zhihu.com/p/93353191,侵删转载 2021-09-06 09:30:35 · 341 阅读 · 0 评论 -
时序余量(Negative Slack) 和 理论最大频率(Fmax)
http://blog.sina.com.cn/s/blog_677db1cb0100phtb.htmlhttps://www.cnblogs.com/winkle/p/3151422.htmlhttps://wenku.baidu.com/view/fffc9adb5022aaea998f0f56.html一、 建立时间(Setup Time)检查:遵循的原则是信号从La...原创 2019-06-17 14:36:10 · 11739 阅读 · 0 评论 -
vivado 和 modesim 联合仿真&&快速修改重仿
https://blog.csdn.net/wordwarwordwar/article/details/534285141 编译联合仿真库 tool →compile_simulation_libraries ,选择simulator 为 modelsim simulator,填写好 compiled library location(联合库存放地址),simulator executable path (modelsim.exe 地址)2 settin...原创 2021-04-26 16:30:37 · 3939 阅读 · 7 评论 -
select_io(LVDS) 参数设置与物理层的对应关系
1 7系列中在vivado中的截图,off-term termination 是用于ssn 和 power 分析的,不影响实际的电路in_term 是用于 input 的串联电阻,提供定值的电阻选择(40Ω,50Ω,60Ω),相当于 HP 的 DCI 功能,只不过DCI是根据 vrp 的 240Ω实时调整的2 以下是 ultrascale及ultrascale+系列的截图, bank电压检查规则见 :https://www.xilinx.com/suppo...原创 2021-04-20 18:30:35 · 5748 阅读 · 0 评论 -
内存条 udimm rdimm 等和 ECC 功能
RDIMM:registered DIMM(Registered Dual In-line Memory Module),带寄存器的双线内存模块。表示控制器输出的地址和控制信号经过Reg寄存后输出到DRAM芯片,控制器输出的时钟信号经过PLL后到达各DRAM芯片。UDIMM:无缓冲双信道内存模块 (Unbuffered Dual In-Line Memory Modules,UDIMM).(一般常用的内存条,用于一般家商用),UDIMM 表示控制器输出来的地址和控制的信号直接到达DIMM的DRAM芯片上原创 2021-03-31 11:46:34 · 5176 阅读 · 0 评论 -
[Labtools 27-3421] xczu4_0 PL Power Status OFF, cannot connect PL TAP. Check POR_B signal.
现象 : zu4cg 在 ps_mode 模式选择非 jtag only 模式时,用 jtag 下载程序后,会有以下几种现象:1 可以下载,config_done 拉高过几分钟会报错 :[Labtools 27-3421] xczu4_0 PL Power Status OFF, cannot connect PL TAP. Check POR_B signal. (msel = qspi)同时 程序丢失,ps_error_out 拉高,config_don...原创 2021-03-17 18:16:41 · 7024 阅读 · 2 评论 -
ddr 和 selectio ip 为什么能实现高速
两个ip的实现高速的 核心部分都是由 xiphy 和 iob 构成其中 ddr 的 iob 根据管脚的不同 由 OBUF(ADDR or CTRL), IBUF, IOBUFE3(DQ or DM), OBUFDS (CK), IBUFDS , IOBUFDS(DQS) 等组成case (IOBTYPE[bitNum*3+:3]) 3'b001: //ADDR or CTRL begin OBUF OBUF ( ...原创 2021-03-09 10:44:37 · 2090 阅读 · 1 评论 -
vivado 自定义ip 嵌套
自定义IP 可以嵌套老版本的vivado自定义嵌套参考:http://blog.chinaaet.com/ad604/p/3716918.1版本的 添加User_repostory 需要在setting -- ip中设置 或者 ip catalog 中右键注意:1 package 后生成 IP-XACT 文件夹,如下,component包含了配置信息,ip 要 设置成目标型号可用,设置方法在已生成的component 中,如果默认则为生成IP的工程中设置的芯片型号...原创 2021-01-22 16:37:03 · 1128 阅读 · 0 评论 -
跨时钟域 信号处理 & 锁相环,倍频,分频,乘法器,带通 等工作原理
锁相环pllhttps://blog.csdn.net/weixin_38071135/article/details/90003814https://blog.csdn.net/leoufung/article/details/50268031倍频器 三极管倍频器https://www.sohu.com/a/310756528_120133954 cmos脉冲倍频器http://m.elecfans.com/article/784840.html 锁...原创 2020-12-21 14:39:06 · 937 阅读 · 0 评论 -
ila 使用中的问题
一直无法找到 ila ,除了 clk 没有,还有可能是下载器驱动有问题:warning: cannot find symbol ftdimgr_lock in library dpcomm.dll, Digilent FTDI based JTAG cables cannot be supported在自己的安装目录 x:\Xilinx\Vivado\2018.1\data\xicom\cable_drivers\nt64\digilent中有个install_digilent.exe应用程序,双击原创 2020-12-18 21:29:50 · 1565 阅读 · 1 评论 -
displayport 调试中遇到的问题
说明:1 altera a10 在使用quauts 18.1 pro版本时,才支持 dp1.4(8.1Gbps/lane)协议,低于a10或者低于18.1pro版本,则只能支持到 dp1.2(5.4Gbps/lane)2 目前(2020),绝大部分显示器最高只支持到 dp1.2(5.4Gbps/lane)3 xilinx的 zynq7035 只支持到 dp1.2,dp ip的 lisence 需要每隔4个月去官网申请4 新港海岸的ncs8805 只支持到 dp1...原创 2020-12-09 16:53:30 · 2186 阅读 · 1 评论 -
调试接口 jtag to avalon 使用
工程中添加好 jtag to avalon master bridge 模块,并下载到板子上后,打开 tool -- system debugging tools -- system console ,如下图:如果左侧没有 devices 卡,则 load design (sof) 后,关闭console然后重新打开,并 refresh connections然后参考 :https://blog.csdn.net/stu_ding/article/details/49274675即..原创 2020-09-24 17:10:12 · 635 阅读 · 0 评论 -
system verilog
quartus 和 vivado 都直接支持 system verilog(sv), sv文件的后缀为 .sv , .sv文件可以直接用quartus 和 vivado 打开可以通过 quartus 中打开一个文件, edit → insert template 调出 system_verilog 示例 或者通过 vivado 中 tools → language template 调出 system_verilog 实列sv 的简单语法介绍 :https://www.bil...原创 2020-07-21 14:49:51 · 2723 阅读 · 0 评论 -
FPGA 上 DDR3 管脚如何分配
1 确定占用的 bank在 pin_planer 界面,首先右键打开 show_banks,确定好 DDR3 要占用的 banks,使用1.5v供电,记住 bank位置每组 DDR3 只能使用同一个 column,即bank号里的 数字 必须相同所有pin尽量在1个bank上,以减少爬坡时间提高频率,但是每个bank只能支持 1组 lanes+ 控制管脚(或者 四组 lanes,没有控制管脚),若大于1组 lanes 则需要多个bank每个lane即 DQx8 + DM + 差分 DQS原创 2020-07-06 17:46:01 · 11551 阅读 · 2 评论 -
DDR3 终端参考电阻 rzq
https://blog.csdn.net/chenzhen1080/article/details/82951214问题1 ddr3侧 的参考电阻和 FPGA侧 的参考电阻是不是同一个功能,同一个阻值?DDR3 器件上 要标配 240Ω 参考电阻,通过配置MR1[9,6,2]寄存器产生 1/N x 240 阻值的Rtt,nom电阻,作为 ODT功能 的上下拉匹配电阻,在读数据时匹配内部阻抗通过配置MR2[10,9] 寄存器产生1/N x 240 阻值的Rtt,(wr) 电阻, 作为 ...原创 2020-06-30 12:59:30 · 12746 阅读 · 0 评论 -
quartus tcl 控制台 自带命令 报错
通过 View -- Utility Windows -- Tcl console 可以调出控制台通过点击 控制台的左侧的 ?可以调出 帮助信息,罗列了 控制台支持的命令但是在 控制台Tcl 窗口 直接输入这些命令会报错(如红色),可以理解为 软件bug可以在 quartus的安装目录中 直接找到 Tcl 的程序,I:\quartus18.1stand\quartus\bin64\tclsh.exe 来运行这些命令即可注 : 在大部分 ip的 examp...原创 2020-06-24 15:43:27 · 2437 阅读 · 0 评论 -
FPGA 原语 怎么找
altera 的在 quartus 界面的 help -- help_topics -- primitives 里xilinx 的在 vivado 界面的 tools -- language_templates -- verilog -- device_primitive_instantiation原创 2020-06-17 15:59:34 · 6765 阅读 · 0 评论 -
quartus .bdf格式 和 .v格式 互相转换及调用
1 生成 .bdf文件 file → new → block diagram/schematic file 2 .v 调用 .bdf 将 .bdf 文件转换为 .v文件再调用 .v文件 .bdf 转换为 .v文件 : file→ creat/update→ creat hdl design file from current file 注意 :更新 .b...原创 2020-05-06 14:16:56 · 12859 阅读 · 1 评论 -
全局时钟网络
1 pll的输出时钟是 全局时钟下面是 altera pll ip 的截图,可以看到 4个pll 中每个 clk_out 与 系统中20个 globle_clk 的对应关系2 使用 原语 IBUFG 和 BUFG的参考https://blog.csdn.net/hucc0706/article/details/794306963 下面的作为参考...原创 2020-04-26 11:01:36 · 1739 阅读 · 0 评论 -
fpga 如何测量 输入clk的频率
用 输入时钟clk_in 产生同步数据 data_in;将 data_in 进入双时钟的 FIFO ,出口的时钟为 clk_out ,出口的数据为 data_out ;控制模块监控 FIFO 的 接近空满标志 / 数据量,根据数据量变化调节 clk_out 的频率,使 FIFO 里的数据量稳定此时的 clk_out 即为 clk_in...原创 2020-03-30 11:41:34 · 1760 阅读 · 0 评论