搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
weixin_40725706
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
后端开发者的华丽转身:如何成功转行大模型算法岗
2
Eureka的配置和使用_eruka
3
MySQL锁篇_mysql中的锁
4
微服务架构整合Sa-Token实现网关鉴权及鉴权服务_sareactorfilter
5
鸿蒙——获取系统相册 并进行图片上传_camerapicker.pick
6
三 Python 注释与运算符_单行注释以 开头,多行注释以‘’‘(三个单引号)开头和结尾
7
电动汽车和混动汽车DC-DC转换器的创新设计与测试方法
8
Elasticsearch:如何使用 Elasticsearch 和 Python 构建面部识别系统_elasticsearch 可以搜索人脸特征
9
读透《阿里巴巴数据中台实践》_阿里巴巴 数据中台实践
10
Tomcat9 配置SSL证书(.pfx)支持HTTPS_tomcat9.0 ssl 只启用tls1.2 配置
当前位置:
article
> 正文
IC、FPGA验证学习_fpga验证用的到systemverilog和uvm吗?
作者:weixin_40725706 | 2024-08-22 13:09:50
赞
踩
fpga验证用的到systemverilog和uvm吗?
----------------------------------入门学习-------------------------
一、
学习数电,掌握数电中的一些基本概念(特别是要学会看时序图)
二、
查找资料,了解FPGA的一些基本结构和用途以及发展方向
三、
学习Verilog语言,掌握一些基本的语法,最好是能够根据时序图或者原理编写代码实现其功能。期间还要学会FPGA的开发流程,ISE或者vivado软件的使用。
在以上学习过程中,要注重基础的学习。在学习Verilog语言时,可以培养编写代码的风格以及掌握文本编辑器的快捷键使用技巧,特别是要学会解决问题的能力。对于软件的使用,推荐重点学习vivado工具使用,最好买一本关于vivado软件使用的书籍看看。
书籍推荐:Verilog语法书《Verilog数字系统设计教程(第2版) 》,《Verilog HDL应用程序设计实例精讲》中的例子可以用来锻炼设计思想(根据时序图和电路原理编写自己的代码)。
---------------------------------基本设计思想和工程实现---------------------
一、
掌握FPGA设计的一些思想(异频时钟的处理、基本总线的原理、同步异步等)
二、
掌握testbench的概念,学会写基本的testbench。(掌握modelsim的基本使用)
三、
根据开发板,在硬件上实现功能。
在这个阶段,培养设计思想,理解代码和电路之间的关系。对于testbench,要学会编写基本的激励,并根据时序来分析RTL中设计是否规范。其次,根据开发板的例程,学会下载和测试工程功能实现,并在这个学习中,掌握下抓信号的技能。(***代码风格***)。
推荐书籍《深入浅出玩转FPGA》和《高级FPGA设计结构、实现和优化》
-------------------------------------选择方向------------------------------
在前期的积累中,对FPGA有一定的了解了,这时候就要开始具体选择一个方向深入研究。其中根据自己的见解,大概分了以下方向:
1、信号处理——信号与系统、数字信号处理、数字图像处理、现代数字信号处理、盲信号处理、自适应滤波器原理、雷达信号处理
2、接口应用——如:UART、SPI、IIC、USB、CAN、PCIE、Rapid IO、DDR、TCP/IP、SPI4.2(10G以太网接口)、SATA、光纤、DisplayPort
3、无线通信——信号与系统、数字信号处理、通信原理、移动通信基础、随机过程、信息论与编码
4、CPU设计——计算机组成原理、单片机、计算机体系结构、编译原理
5、仪器仪表——模拟电子技术、高频电子线路、电子测量技术、智能仪器原理及应用
6、控制系统——自动控制原理、现代控制理论、过程控制工程、模糊控制器理论与应用
7、压缩、编码、加密——数论、抽象代数、现代编码技术、信息论与编码、数据压缩导
--------------------------数字IC验证、FPGA验证-------------------------
接下来就根据自己的情况,大概讲讲自己目前所学方向。数字IC验证和FPGA验证是属于工程设计中的仿真阶段,用于检查RTL设计的功能实现和一些潜在的bug。至于属于上面哪个方面,暂时可以归为接口应用方向。
••••••••••••••••••••••••••••••••••testbench进阶•••••••••••••••••••••••••••••••
在入门学习、基本设计思想和工程实现阶段学习中,对编写testbench有一定基础后,在这个阶段将深入理解验证的思想。
1、
学习systemverilog语法,掌握面向对象的概念,并会systemverilog搭建基本的验证平台。
2、
掌握linux的基本知识,熟练使用linux和vim的操作命令
3、
了解makefile的使用和能够利用makefile运行基本的命令
4、
学会VCS的使用(或者学会verdi工具的使用)。
这个阶段所有的验证环境都是基于linux系统的(也可以在window上学习systemverilog,利用modelsim编译和仿真systemverilog的验证代码,建议在linux上学习,毕竟在企业都是基于linux服务器去运行仿真文件)。学习步骤可以在看systemverilog语法时,同时在linux上搭建基本的验证平台。在这一过程中,还是强调熟练掌握各种快捷键技巧。要学的很多,最主要的是掌握systemverilog语法。
推荐书籍:《Synopsys SVTB workshop》、《SystemVerilog 测试平台编写指南 》
linux:鸟哥的私房菜《[鸟哥的Linux私房菜]基础学习篇(第三版)》
••••••••••••••••••••••••••••••••理论学习和实践••••••••••••••••••••••••••••••••••
1、
掌握基本的一些接口原理,能看懂时序图。
2、
根据接口时序和原理,利用systemverilog搭建验证环境。
3、
进一步学习脚本,学会添加makefile中的一些基本命令(包括添加IP库,编译工程)。
4、
学会看文档(在前期的学习过程中就可以开始学习看官方文档)。
在这个阶段,对上一阶段的巩固和加强。
推荐资料:xilinx官网上的各种文档(英文的哈)
••••••••••••••••••••••••••••••••••验证方法学•••••••••••••••••••••••••••••••
1、
掌握UVM验证方法学思想和UVM语法
2、
在linux上搭建UVM环境。
3、
继续学习接口方面的理论知识
4、
利用UVM搭建各种验证环境,并且考虑未来流用。
在经过这个阶段后,你会发现systemverilog搭建的环境是多么难控制,流用性不强。在学习UVM后,就要考虑验证环境的流用性和扩展性。
推荐书籍:《UVM1.1应用指南及源代码分析》
••••••••••••••••••••••••••••••••••脚本学习••••••••••••••••••••••••••••••••••••
1、
掌握perl语言的使用,能够对数据进行处理。
2、
学会利用perl提取的数据进行分析。
3、
继续学习makefile脚本语言,有多余时间可以学习下cshell脚本
4、
(有多余时间)学习下systemverilog assertion。
之所以学习perl脚本,是由于我们在搭建验证环境的时候,会添加很多打印的命令,需要通过perl提取数据,有利于后续分析。最终的验证是基于波形和打印出来的文本去分析验证结果的正确性。
推荐书籍:《Perl语言入门(第五版)》
•••••••••••••••••••••••••••••••••学习其他语言••••••••••••••••••••••••••••••••
1、
学习C++,掌握C++语法,能够利用C++实现一些功能模块
2、
完善验证平台,掌握期待值比较方法
之所以学习C++,是为了保障我们的验证环境更加可靠。通过利用C++来实现RTL同样的功能,通过check两种语言实现同样的功能的结果来增加验证的可靠性(主要是用来check一些复杂计算结果)。
----------------------------总结-------------------------------------
最后强调几点:
1、
书不在于多而在于精。(在走过不少弯路后才明白的道理)
2、
语言和理论同样重要。(理论是方法,语言是工具,培养用语言实现理论的能力)
3、
遇到问题尽量自己解决。(多思考,多寻找办法,只有这样才能加深印象)
4、
注重英语和数学的学习。(网上资料太杂,多看官方文档)
5、
要多实践,多总结,敢于尝试。(有些看起来很难,其实做起来也就那样)
6、
学的东西很多,要坚持下去,要静下心去学。(****关键*****)
---------------------------宽度学习-----------------------------------
如果前面是深度,那么现在就来讲讲宽度。FPGA涉及到的领域很多,在深度的学习过程中,我们也可以适当去接触下宽度,比如ARM领域,linux驱动领域,视频图像处理、各类算法等。毕竟在深度学习的过程中,可能会枯燥乏味,所以适当的了解一些其他的知识,也可以为了以后更好的发展。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/weixin_40725706/article/detail/1016458
推荐阅读
article
xilinx
FPGA
fifo
IP核的
复位
reset
使用
_
xilinx
fifo
ip核
复位
...
关于测试 异步
fifo
的
复位
使用按下按钮K4(key
_
in[3])后开始写入到
fifo
,延时100个CLK读出FIFO...
赞
踩
article
FPGA
时序
约束 一 :如何
查看
时序
错误
_
ise
查看
时钟
裕量
...
本文介绍了
FPGA
设计中
时序
错误
的影响,当设计的
时序
报告出现负
裕量
时,意味着存在
时序
违例。主要讨论了如何
查看
具体的
时序
路...
赞
踩
article
FPGA
时序
约束
一 :如何查看
时序
错误
_
clock
interaction
...
1、
时序
错误
的影响 一个设计的
时序
报告中,design run
时序
有红色,裕量(slack)为负数时,表示
时序
约束
出现...
赞
踩
article
AM
解调
FPGA
(
寻找复刻电赛电赛D题
的
)_
fpga
am
解调
...
以这个项目为例,简单来说,就是可以利用
FPGA
上
的
资源,来输入一定
的
频率控制字
(
控制具体产生频率),从而来生成一定
的
正弦...
赞
踩
article
FPGA
串口
多
字节
发送
,
串口
回环测试_
fpga
发送
多个
字节
...
*注意:**电平信号的传输线中有一个参考电平线(一般是GND)
,
然后信号线上的信号值是由信号线电平和参考电平线的电压差决...
赞
踩
article
Xilinx
FPGA
SRIO
接口
Verilog
源码
程序 |
使用方便
的
FIFO
封装 | 支持多种...
本文介绍了一种基于
Xilinx
FPGA
的
SRIO
接口
Verilog
源码
,封装为
FIFO
,适用于高速通信。
源码
支持多种事务...
赞
踩
article
FPGA
基础知识
极简教程(3)从
FIFO
设计讲起之
同步
FIFO
篇_
同步
fifo
fpga
...
FIFO
可以认为是汽车可以驶过的单向隧道。隧道的尽头是一个带门的收费站。门一旦打开,汽车便可以离开隧道。如果那扇门从未打...
赞
踩
article
FPGA
-
单总线
协议(
one
-
wire
)_
单总线
通信协议
...
单总线
(
one
-
wire
)是美国 DALLAS 公司推出的外围串行扩展总线技术,与 SPI、I2C 等串行数据通信方式不...
赞
踩
article
AG32
MCU
+
FPGA
使用感受...
对
AG32
MCU
的使用感受_ag32ag32 前言: &nbs...
赞
踩
article
FPGA
基础知识----第二章
FPGA
开发
流程
_
fpga
使用
全
流程
...
第二章
FPGA
开发
流程
FPGA
的设计
流程
就是利用 EDA
开发
软件和编程工具对
FPGA
芯片进行
开发
的过程。原理...
赞
踩
article
【
FPGA
】
Quartus
Prime
20.1 精简版下载安装教程记录_
quartus
prime
...
本文档详细记录了
Quartus
Prime
20.1 Lite版的下载和安装步骤,包括软件特点、安装过程、组件选择以及M...
赞
踩
article
STM
3
2f407
网络
接收
fpga
的
bin
文件并更新到
fpga
series7
(
3
)...
实验
3
:在搭建好 tcp 服务器,并拟定好协议的前提下,
接收
每一个
bin
文件的块,配置到
fpga
。STM
3
2f4...
赞
踩
article
FPGA
综合
笔记...
如果您的测试台在上升的时钟边缘精确更新了 TxSync 输入,那么 nextState 中将会出现一个毛刺。您的模拟器可...
赞
踩
相关标签
fpga开发
tcp/ip
网络协议
程序人生
FIFO
Verilog
VHDL
单片机
嵌入式硬件
stm32
网络
FPGA
verilog