• FPGA学习-vivado软件的使用


    1.杂谈

    又被封了7天。
    正好封控前领导让我改下fpga代码,趁这个机会好好学习下,虽然在这块一片空白,但是毕竟这块是我的短板,一个不会写代码的硬件工程师是一个不完整的硬件工程师。
    我很喜欢体验新鲜事物,我发现体验的多了,就会发现一切都没那么难,恐惧是因为你不了解它。
    所以即使不会,那又怎样,去做,时间久了你就会。要是不做,你每次碰到类似问题就会觉得,好高深莫测,其实,去了解会发现,不过如此。

    2. vivado新建工程

    vivado是xlinx的集成开发环境,用来进行xlinx的fpga开发。
    1.创建工程
    在这里插入图片描述
    进行工程命名,next
    在这里插入图片描述
    选择RTL(Register Transfer Level, 寄存器传输级)工程,并且勾选do not specify sources at this time,这次先不指定源文件。
    在这里插入图片描述
    选择器件,next
    在这里插入图片描述
    最后是新工程的总结,finish
    在这里插入图片描述
    2. 建立源文件
    进入工程界面后,分成了工程管理、源文件管理、工程总结等几个部分。
    在这里插入图片描述
    project manager中包括仿真、RTL分析、综合、实现、生成比特流的过程。
    综合是将verilog代码变成fpga基本单元如ram,lut等。
    实现是将基本单元进行布局布线。
    1)新建源文件
    在这里插入图片描述
    next,进行命名
    在这里插入图片描述
    ok,finish后,对top.v里的模块进行命名,保持与源文件名一致就行。
    在这里插入图片描述
    ok后可以看到design source和simulation source都出现了top.v文件。
    在这里插入图片描述
    2)建立仿真源文件
    仿真文件是必要的,为了仿真你设计文件是否是自己想要的结果。
    将上面add sources的类型改为simulation source。
    在这里插入图片描述
    同样进行源文件和模块命名,可以看到仿真文件只在仿真源文件里出现。
    在这里插入图片描述
    编写源文件后,进行综合和实现,可以从schematic看看是不是你想要实验的功能
    在这里插入图片描述
    3)调用IP
    若要添加时钟PLL,可以选择IP catalog里 clock wizard
    在这里插入图片描述
    选择混合模式时钟管理器(MMCM),相对于PLL,更灵活。设置输入时钟。
    在这里插入图片描述
    在output clocks里设置输出时钟,reset type选择active low

    在这里插入图片描述
    ok后,可以选择global全局综合,而out of context per IP模式被称为OOC模式,在生成综合IP核时,已经将IP核综合为网表文件和IP调用文件,在后续整个工程实现时,不再对IP核的源文件进行综合实现,而是直接将网表与其他模块一起实现。
    在这里插入图片描述
    generate后可以看到时钟配置的源文件。
    在这里插入图片描述
    3.添加IO约束
    在window-IO ports中进入IO 配置页面,配置package pin封装引脚、IO std -io的电平标准。ports中其他项是自动出现,drive strengh驱动强度,默认12mA,slew type上升下降沿的快慢,默认slow,off-chip terminnation 终端阻抗,默认50Ω
    在这里插入图片描述
    点击save,进行约束文件命名,ok后,会出现约束文件。
    在这里插入图片描述
    4.生成bit流
    在这里插入图片描述
    5.连接板子上的fpga
    在这里插入图片描述
    6.下载bit流
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    React Router 6 + Ant Design:构建基于角色的动态路由和菜单
    彻底搞懂blob对象,实现文件下载,文件分片技术
    大势智慧参与建设的自然资源部工程技术创新中心正式获批
    【500强 Kubernetes 课程】第3章 运行docker容器
    浅述边缘计算场景下的云边端协同融合架构的应用场景示例
    webpack5基础和配置
    java毕业设计Sneaker’sHome设计网站mybatis+源码+调试部署+系统+数据库+lw
    ElementUI的Form表单使用slot-scope=“scope“获取当前表格行数据实现数据回显、修改表单操作
    (二十八)mmdetection实用工具: Visualization
    C语言-入门-const关键字(十九)
  • 原文地址:https://blog.csdn.net/dianji2015_/article/details/128041332