![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FPGA基础进阶
文章平均质量分 56
工作使我快乐
学而时习之,方能厚积薄发
展开
-
模块端口parameter与模块例化
【代码】模块端口parameter与模块例化。原创 2023-01-29 19:41:28 · 408 阅读 · 1 评论 -
testbench简介
产生时钟原创 2022-07-13 14:52:25 · 1090 阅读 · 0 评论 -
ADC介绍
前言空闲时再整理,先附上2篇参考文章。参考1、作者 博文 【 FPGA 】使用状态机设计一个ADC采样控制电路 FPGA学习专题-ADC的使用原创 2022-05-30 14:22:53 · 324 阅读 · 0 评论 -
vivado user guide
多多阅读文档!ug893-Vivado Design Suite User.pdfug895-Vivado Design Suite User-system-level-design-entry.pdfug901-Vivado Design Suite.pdfug903-Vivado Design Suite -constraints.pdfug904-Vivado Design Suite User-implementation.pdfug899-Vivado Design S原创 2022-02-24 16:00:19 · 461 阅读 · 0 评论 -
vivado时序报告简介
1、首先在工程编译完,产生bit文件后,由PRJ Summary可以简单看到时序情况。像下图中出现“最差路径”延时达到1ns以上,一般这种情况是由跨时钟域信号引起的。2、打开时序报告进一步分析3、异步时钟域处理打开时序报告后,一般分成两类时序问题:相同时域内的时序问题、跨时钟域的时序问题。如下图所示。针对跨时钟域的时序问题,如果代码中作了信号的跨时钟域处理、或者是快时钟域的寄存器信号总线回读的情况,可以将该类时序路径设为 "false path"。过程如下..原创 2022-02-23 17:43:03 · 6129 阅读 · 1 评论 -
vivado安装简介
安装文件和其他的就不多介绍了,重点介绍我在意的2点。1、是否安装Lab版本2、企业版or标准板如果选择安装vivado,下面会让你选择是安装标准版本(Standard)或者是企业版本(Enterprise),区别在于企业版本的vivado支持高性能的芯片,比如KU+15P,标准版本的软件就选择不了该芯片。...原创 2022-02-17 16:53:24 · 5498 阅读 · 0 评论 -
Xilinx Aurora IP应用介绍
以Xilinx Aurora64B66B IP 做简要介绍,实现能够直接例化Xilinx aurora ip做通信的目的。1、Example PRJ简单说,直接将下图中圈起来的部分放到自己工程里,即可实现aurora ip的例化、和通信传输。2、aurora_64b66b_gth_exdes.v2.1模块接口2.1代码分析Aurora IP没有直接输出用户复位,输出了用户时钟。用户复位,可以采用example prj中的下面代码。...原创 2021-12-17 16:17:06 · 2224 阅读 · 0 评论 -
FPGA中verilog补码应用
举例reg [7 :0] r_NUM ;//定义一个8bit的寄存器,最高位是符号位,则数值空间是-7'b111_1111 ~ + 7'b111_1111原码:若 r_NUM = -7'd3 ,也即 r_NUM = 8'b1000_0011r_NUM的补码步骤如下:(1)求反码:符号位不变,其余位取反:8'b1111_1100(2)求补码:补码= 反码 + 1 = 8...原创 2021-12-01 15:45:34 · 2212 阅读 · 0 评论 -
Modelsim独立仿真DDR4
前言DDR4 MIG可以使用vivado自带的仿真器作仿真;也可以使用vivado软件打开modelsim的方式,使用modelsim仿真。如果,独立使用modelsim对DDR4 MIG进行仿真,则会遇到很多关于IP、关于路径等繁琐问题,本文对相关问题作整理。1、打开DDR4 example示例工程。首先使用vivado软件打开modelsim的方式,在modelsim平台对DDR4 example工程作仿真。2、vivado导出do文件通过该方式获得需要添加到modelsim中的原创 2021-09-15 15:04:39 · 4348 阅读 · 4 评论 -
工作调试--毛刺/滤波
问题现象:将该信号在FPGA内部使用250MHZ连续打若干拍。示波器抓取原始信号如图所示。使用chipscope抓取该信号和打拍后的信号,可以看到该信号没有毛刺,但是打拍后的信号在低电平前8ns会存在有一个时钟周期的高电平毛刺现象。解决方式:添加数字滤波。检测信号signal低电平的时候启动计数器、否则计数器清零;当计数器大于3时,产生一个低电平信号XX_n,将该低电平信号XX_n代替原始信号signal做逻辑设计。...原创 2021-05-11 08:55:16 · 1143 阅读 · 0 评论 -
Xilinx FFT IP使用介绍
前言暂不更新,仅是为日后有兴趣时提供一个学习方向。感兴趣的可以阅读参考文献参考文献FPGADesigner《FPGA数字信号处理系列》目录与传送门关于XILINX FPGA FFT IP核的学习笔记Vivado Xilinx FFT IP核v9.0 使用详解(附仿真实例)...原创 2021-04-07 14:21:29 · 438 阅读 · 1 评论 -
Quartus生成JIC文件流程
Altera比较老的FPGA,例如EP2C、EP3C使用的都是比较老的Quartus(如:11.0版本),这些老的版本的Quartus不能生成EPCQ32A配置flash的xxx.jic。1、xxx.jic选择菜单栏中的file=>convert programming=>1.1、设置输出文件类型jic、FLASH型号、输出文件名称1.2、选择FPGA型号1.3、选择xxx.sof文件1.4、烧录常见问题如果烧录过程中有警告,需要重新生成以下xx.原创 2021-03-30 14:42:50 · 4089 阅读 · 1 评论 -
千兆以太网TCP/IP数据传输理论基础
暂不更新,可以参考文献https://zhuanlan.zhihu.com/p/141396896原创 2021-02-03 15:07:47 · 2596 阅读 · 0 评论 -
notepad++使用介绍
在Notepad++ v7.9.1版本中直接含有插件管理器。在Notepad++ 较低版本中可能就没有这个插件管理器,并且较低版本的QuickText插件功能也存在部分问题。因此,建议安装高版本的Notepad++。这里给大家提供Notepad++ v7.9.1版本下载链接,内部含有安装好的QuickText/Compare.接下来介绍几个常用插件。QuickText:一个非常出色的代码片段管理器,支持Notepad++所支持的所有语言类型,使用该插件能够很快的提高代码编写...原创 2021-01-23 13:36:48 · 11429 阅读 · 0 评论 -
Verilog实现堆栈
前言根据网上资料,对栈的基本概念和相关操作进行简要介绍,并作仿真验证。栈栈是一种基础的数据结构,只从一端读写数据。基本特点就”后进先出“,例如顺序入栈1,2,3,4,5,再顺序出栈是5,4,3,2,1栈的基本操作栈的基本操作有如下几种:检测栈是否为空 返回栈存储数据的数量 返回栈顶数据/返回栈顶数据并将其弹出 将数据压入栈 清空栈相关设计和仿真TB如下图...原创 2020-12-31 11:11:49 · 2197 阅读 · 1 评论 -
KU FPGA DDR4 SDRAM仿真/板卡测试
本文仅对DDR4 SDRAM IP的example design工程进行了仿真。后续仿真,参考下面的流程,可以搭建自己的仿真平台。仿真平台一般由下面几个模块构成:仿真平台TB_TOP、被测模块FPGA_TOP、仿真模型sim_model。1、vivado工程文件夹结构1.1、新建vivado时的文件夹结构1.2、新建USR_DESIGN文件夹在工程文件夹根目录下,新建usr_design文件夹,用于存放该自己设计的该工程的.v文件。并将该文件夹里的文件添加的vivado工程.原创 2020-12-03 13:35:48 · 9840 阅读 · 21 评论 -
Verilog实现加法/减法计数器
前言简单对加法/减法计数器使用Verilog进行表述减法计数器 always @ ( posedge CLK or posedge RST ) begin if( RST ) begin r_CNT <=9'd0 ; end else begin if (r_CNT != 9'd0) begin r_CNT <= r原创 2020-11-06 14:28:06 · 10364 阅读 · 0 评论 -
Verilog中寄存器数组
存储器是一个寄存器数组,存储器使用如下方式说明:定义6个4位宽的寄存器的数组Xrom,Verilog表示如下: reg [0:3] Xrom [0:5]对寄存器的数组Xrom赋值,Verilog表示如下: Xrom[0] = 4'hA; Xrom[1] = 4'hA; Xrom[2] = 4'h8; Xrom[3] = 4'hF; Xrom[4] = 4'h2; Xrom[5] = 4'h6;......原创 2020-08-31 08:50:00 · 6825 阅读 · 3 评论 -
7系列高速收发器简介 GTP IP核
前言暂不更新,参考文档整理中。感兴趣的可以看看参考文献。参考文献作者 博客 1、没落骑士 7系列高速收发器总结 GTP IP核配置篇 7系列高速收发器总结 GTP IP核使用篇 ...原创 2020-08-20 09:37:18 · 2561 阅读 · 0 评论 -
ModelSim仿真问题汇总
记录ModelSim仿真中遇到的问题及解决办法。问题1:Failed to find hierarchical path: glbl.PLL_LOCKG# ** Error: (vsim-8757) Failed to find hierarchical path: glbl.PLL_LOCKG# Time: 0 ps Iteration: 0 Instance: /tb_top/U00_PLL0_BASE_inst/pll_adv_1 File: D:/ISE_DS/ISE/veri原创 2020-08-06 09:29:35 · 1793 阅读 · 0 评论 -
一个硬件攻城狮的经济学基础
B站公开课,排名不分先后北京大学:行为经济学 【公开课】社会心理学(北大 侯玉波) 清华大学 经济学原理(曼昆) 耶鲁大学博弈论 奇怪知识的正确打开方式 武汉大学公开课:辩论——说服的艺术(周玄毅) 相关课程 耶鲁大学公开课:心理学导论 清华大学 l 心理学(全·57课) 中央财经大学 | 行为金融学 行为金融学--清华大学朱宁 ...原创 2020-10-17 08:35:04 · 511 阅读 · 0 评论 -
Quartus与ModelsimSE联合仿真
1、从Quartus启动ModelsimSE步骤1:Tools--Options--General--EDA Tool Options:指定modelsim.exe所在的文件路径。步骤2:Assignment--Settings--EDA Tool Settings--Simulation:指定仿真工具是modelsim、添加testbench文件步骤3:启动仿真。Tools--Run Simulation tool--RTL Simulation。2、Modelsi原创 2020-06-02 16:15:05 · 1778 阅读 · 0 评论 -
xapp1052 BMD_64读写模块代码分析
BMD_64_RX模块STGRX模块功能说明:接收来自PCIE IP的TLP数据包,并进行解析。xapp1052设置的rx模块处理的数据包类型有四种:7'b10_00000:PIO 3DW写访问事务; 7'b00_00000:PIO 3DW读访问事务; 7'b00_01010:不带数据的完成包事务; 7'b10_01010:DMA 3DW 带数据的完成包事务;状态转移...原创 2020-05-07 09:53:18 · 2133 阅读 · 2 评论 -
win10 jungo windriver
前言对PCIE的软件驱动配置过程进行整理。PC系统:win10 教育版 1809电脑主板:华硕jungo windriver:v14.3.0 x86_64jungo windriver下载网址:http://www.jungo.com/st/products/windriver/thank-you/安装jungo windriver遇到的问题如下图所示:...原创 2020-05-01 16:11:08 · 8226 阅读 · 8 评论 -
FPGA设计基础--层次化建模和模块划分技巧
前言详细内容,可以直接跳转阅读《Intel FPGA/CPLD设计高级篇》1.3.2/1.3.3章节。本文根据个人理解进行整理,目的在于加强个人理解和记忆,同时方便后期时常翻看阅读。1、结构层次化编码基本的结构层次是由一个顶层模块和若干个子模块构成,每个子模块根据需求可以包含自己的子模块。结构层次化编码注意事项: 结构的层次不能太深,一般为3-5层即可。一...翻译 2020-04-29 10:52:48 · 2063 阅读 · 0 评论 -
FPGA设计基础:状态机设计的一般原则
前言详细内容,可以直接跳转参考《Intel FPGA/CPLD设计高级篇》1.3.13章节。本文根据个人理解进行整理。(1)状态机的状态,能够精简的就精简,尽量减小状态个数,删减不必要的状态。若能够不使用状态机就能实现的功能,不建议使用状态机。在大规模高速设计中,非必要的状态机可能会引起时序约束不满足。因此,能简则简!(2)选择状态机的编码方式(3)两段式状...原创 2020-04-29 10:33:42 · 897 阅读 · 0 评论 -
FPGA基础--绘制时序图
前言简单介绍绘制时序图的相关基础概念。一般时序图绘制有两种方式,如下图所示。上面的是理想波形,与modelsim仿真中波形一致;下面的考虑到信号由低到高的上升时间,本质没有区别。两种绘制时序图的方式应用都很广泛,也各有优势。Xilinx手册中使用第二种方式绘制时序图挺多的。第一种方式在实际工作中广泛使用。图一:比如,下图是Xilinx FIFO手册中部分时序。图...原创 2020-04-29 10:13:28 · 7358 阅读 · 1 评论 -
Beyond Compare4
解决方法来自网络,原文链接:https://blog.csdn.net/yan88888888888888888/article/details/83929707修改注册表1、在搜索栏中输入 regedit,打开注册表2、删除项目CacheId : HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare ...原创 2020-04-23 09:59:47 · 537 阅读 · 0 评论 -
安装Modelsim
下面步骤1-10来自网络:1、关闭杀毒软件,关闭防火墙!2、运行modelsim-win64-10.4-se.exe,选择默认的安装目录C:\modeltech64_10.43、安装过程始终点击yes,直到最后reboot,选择no4、复制patch_dll.bat和MentorKG.exe到安装目录C:\modeltech64_10.4\win645、右击取消C:\model...原创 2020-06-09 20:37:06 · 5059 阅读 · 2 评论 -
ISE Timing Report 小结
前言结合近期工作调试经验,并整理网上资料,对timing summary相关内容进行整理。原创 2020-04-16 15:06:36 · 5015 阅读 · 2 评论 -
modelsim do文件简介及仿真波形分析注意事项
前言本文对.do文件进行整理介绍,并在后文引用 “ bitrocco ” 的一篇博文做补充介绍。补充介绍下文转载自博文: https://www.cnblogs.com/bitrocco/p/9576505.html# 退出当前仿真quit -sim# 清输出窗口.main clear# 创建本地库# You...原创 2020-03-24 14:54:04 · 5807 阅读 · 1 评论 -
FPGA PLL时钟经 ODDR送到管脚
PLL产生的时钟,如果要送出到FPGA 管脚的话,需要经过ODDR,如下图所示。原创 2020-03-24 13:19:49 · 1512 阅读 · 0 评论 -
Xilinx 三态门 IOBUF 仿真
测试一:使用IOBUF实现三态门模块代码:`timescale 1ns / 1nsmodule TEST ( //system signals input CLK ,//(i) [ 1] input ...原创 2020-03-21 17:17:26 · 3723 阅读 · 0 评论 -
ModelSim仿真波形保存步骤
1、do文件的保存过程(1)将视图切换到wave界面,即鼠标左键点击选择wave界面,使其高亮显示。(2)file——>save format——>D:/modeltech_6.5b/examples/run_wave.do 可以更改do文件名称和存放目录,一般保存在仿真目录中。2、wlf文件保存过程(1)切换左边任务栏至“sim”。(2)点击保存,给...原创 2020-03-17 17:00:24 · 7795 阅读 · 0 评论 -
Xilinx ISE WARINING 小结
前言对常见的WARNING进行整理汇总。缓更。1、WARNING:Xst:647 - Input <xx> is never used.这个问题是说该输入管脚未被使用。造成该问题的原因:原因一:该输入管脚未被使用。原因二:或者,由于相关信号的“位宽不对”等原因,导致该管脚未被使用。仔细检查相关信号,如相关信号的位宽等。2、如果是因为添加RAM,导...原创 2020-03-10 15:18:36 · 4447 阅读 · 0 评论 -
Xilinx Block RAM IP基础简介
前言对BRAM的工作时序做简要介绍,详细内容请参考官方数据手册:“pg058-blk-mem-gen,LogiCORE IP Block Memory Generatorv7.3”。各个模式的时序图 1Write First Mode: In WRITE_FIRST mode, the input data is simultaneously written into m...原创 2020-02-24 15:17:12 · 5064 阅读 · 0 评论 -
Xilinx FIFO IP介绍
前言简单对xilinx FIFO IP进行介绍,详细内容可以参考该IP的手册 : pg057-fifo-generator。1、FIFO数据写入时序2、标准FIFO读时序3、First-word-Fall-Through FIFO读时序4、握手信号...原创 2020-02-15 11:15:49 · 1583 阅读 · 0 评论 -
office2016设置outlook登录263邮箱步骤
Win10设置outlook登录263邮箱步骤:1、输入邮箱地址2、高级设置--POP设置3、设置接受/发送邮件服务器,端口就默认即可。4、输入登录密码。...原创 2020-02-06 11:44:11 · 5638 阅读 · 0 评论 -
Virtex6 PCIe 超简版基础概念学习(二)(转载)
转载自:https://blog.csdn.net/lutianfeiml/article/details/51035756参考资料:Spartan 6 PCIE_V2.4 真教程(一)Spartan 6 PCIE_V2.4 真教程(二)菜鸟5小时速成FPGA_PCIE设计高手教程.pdfug671_V6_IntBlock_PCIe.pdfPCI+EXPRESS体系结构导读.pd...转载 2020-01-27 10:46:57 · 666 阅读 · 0 评论 -
条件编译Verilog HDL语法整理
前言对编译器指令相关基础进行整理,部分内容转载自参考文献。一般情况下,Verilog HDL源程序中所有的行都参加编译。但是有时候希望对其中的一部份内容只有在条件满足的时候才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足条件时对一组语句进行编译,当条件不满足时则对另外一组语句进行编译。条件编译命令的几种形式: ...原创 2020-01-15 10:04:22 · 1021 阅读 · 0 评论