【FPGA】FPGA入门 —— 基本开发流程

这篇具有很好参考价值的文章主要介绍了【FPGA】FPGA入门 —— 基本开发流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. FPGA入门

  • 快速上手verilog语法
  • 状态机,线性序列机
  • FPGA常见的设计方法
  • 自己写代码,下载代码进行使用,使用厂家/第三方提供的IP核
  • 常见接口设计

等等。。

学习时间:基础内容的学习 - 20*8h,啊啊啊我可以我能行,看来这个月我给把时间砸这上面了~~

仿真两大作用:检查验证设计功能是否正确;调试问题,可以看到设计中每一个信号每一个时刻的值,通过仿真分析设计中信号异常的原因。做设计时,超过50%的时间不是在写代码,而是通过仿真调试代码找问题。

2. FPGA开发流程

写一套硬件描述语言,能够在指定硬件平台实现相应功能。

  1. 设计定义:比如让LED灯1s闪烁一次
  2. 设计输入: 编写逻辑(使用verilog代码描述逻辑);画逻辑图;使用IP
  3. 分析综合 (由专业的EDA软件进行,Quatus、vivado、ISE):对所写的逻辑描述内容进行分析,并得到逻辑门级别的电路内容
  4. 功能仿真:使用专门的仿真工具进行仿真(Modelism),对于数字电路来说,方针是基本接近于真实情况的。
  5. 布局布线:(vivado、quartus)在指定器件上将设计的逻辑电路实现
  6. 分析性能
    • 时序仿真(非常耗费时间)
    • 静态时序分析
  7. 下载到目标板上运行调试,查看结果ILA

让设计的逻辑在目标板上正常工作 - 功能正常、性能稳定

3. 二选一多路器 - 快速熟悉开发环境及流程

快速熟悉环境及流程

1. 编码

module mux2( //端口列表
    a,
    b,
    sel,
    out
);
	//端口定义
    input a;
    input b;
    input sel;
    output out;
    
    //2 select one
    assign out = (sel==1)?a:b;
    
endmodule

2. 分析综合

3. 功能仿真

添加激励文件 text bench

`timescale 1ns/1ns

module mux2_tb(); //without port

    reg s_a;    //激励信号
    reg s_b;
    reg sel;
    wire out;
    
    //例化- 复制过来,稍微改动
    mux2 mux2_inst0(  
        .a(s_a),
        .b(s_b),
        .sel(sel),
        .out(out) //连信号线
    );

    //initial块 - 变化高低电平
    initial begin
        s_a = 0; s_b = 0; sel = 0;
        #200;   //延迟200,注意这只适用于描述激励
         s_a = 0; s_b = 0; sel = 1;
        #200;
          s_a = 0; s_b = 0; sel = 0;
        #200;
          s_a = 0; s_b = 1; sel = 1;
        #200;
          s_a = 1; s_b = 1; sel = 0;
        #200;
          s_a = 1; s_b = 0; sel = 1;
        #200;
          s_a = 1; s_b = 1; sel = 0;
        #200;
          s_a = 1; s_b = 1; sel = 1;
        #200;
        $stop;
    end
    
endmodule
  • 1ns/1ps:时间单位/精度
  • initial

4. 布局布线 run implementation

5.时序仿真

6. 下载到板子上,调试

分配IO引脚

fpga开发,FPGA,fpga开发

ctrl+s

我艹,之前我都是照猫画虎自己胡写的。。。

7. 生成比特流文件

  • Generate Bitstream
  • Open Hardware Manager - 要先上电哦

啊哈哈好好玩啊,当然被自己笨拙的样子笑到

open target → auto connect

Program device 就ok啦~文章来源地址https://www.toymoban.com/news/detail-676413.html

到了这里,关于【FPGA】FPGA入门 —— 基本开发流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Fpga开发笔记(二):高云FPGA发开发软件Gowin和高云fpga基本开发过程

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135620590 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中… 上一篇:《Fpga开发笔记(一):

    2024年01月16日
    浏览(72)
  • 02体验FPGA开发流程

    标准的 FPGA 开发流程主要有以下几个步骤: 需求分析:做一个项目之前,首先需要对项目需求进行详细分析,弄明白项目所需要实现的功能 系统设计:根据项目所需的功能进行系统架构设计,架构设计主要是确定将系统分为子模块,模块之间数据流怎么走,控制流怎么走,

    2024年01月24日
    浏览(47)
  • 【FPGA入门】第一篇、Verilog基本语法常识

    目录 第一部分、不同的变量类型 1、wire和reg的区别  2、如何对变量进行赋值呢? 3、什么是阻塞?什么是非阻塞? 第二部分、变量位宽的定义 1、各种系统默认情况 2、变量位宽声明方式 3、表明位宽的情况下,赋值方式 4、两个模块之间例化,不定义变量直接用的方式 5、常

    2024年02月04日
    浏览(52)
  • FPGA时序约束(一)基本概念入门及简单语法

    文章目前大部分参考明德扬时序约束,只是一个学习总结,侵权删 原文链接:FPGA时序约束分享04_output delay 约束 时序逻辑电路的基础是触发器FF: 建立时间:Setup Time,缩写是 Tsu,即在时钟上升沿之前数据必须稳定的最短时间 保持时间:Hold Time,缩写是 Th,即在时钟上升沿之

    2024年02月03日
    浏览(37)
  • Xilinx FPGA开发环境vivado使用流程

    第一步:点击Add Sources按钮 第二步:选择add or create design sources按钮,即添加设计文件 第三步:选择create file 文件新建完成后: 此时可以定义I/O端口,我们选择自己在程序中编写。 第四步:在编辑器中编写verilog程序 XDC文件里主要是完成管脚的约束,时钟的约束,以及组的约

    2024年02月03日
    浏览(62)
  • SOC FPGA介绍及开发设计流程

    目录 一、SoC FPGA简介 二、SoC FPGA开发流程 2.1 硬件开发 2.2 软件开发          SOC FPGA是在FPGA架构中集成了基于ARM的硬核处理器系统(HPS),包括处理器、外设和存储器控制器。 相较于传统的仅有ARM处理器或 FPGA 的嵌入式芯片,SOC FPGA既拥有ARM处理器灵活高效的数据运算和事务

    2024年02月15日
    浏览(43)
  • 【FPGA】Vivado开发流程(基于2018.3版本)

    基本流程:①设计定义 ②设计输入 ③分析综合 ④功能仿真 ⑤布局布线 ⑥分析性能   双击 Vivado图标即可启动 Vivado 软件。 ①Quick Start 组包含有 Create Project(创建工程) Open Project(打开工程)OpenExample Project(打开实例工程)。 ②Tasks 组包含有 Manage IP(管理 IP) Open Hardw

    2024年02月14日
    浏览(41)
  • 【FPGA基础入门实践】Verilog 基本项目操作逐步演示

    0x00 回顾:AND/OR/NOT 逻辑的特性 AND: 与门可以具有两个或更多的输入,并返回一个输出。当所有输入值都为 1 时,输出值为 1。如果输入值中有任何一个为 0,则输出值为 0。 OR: 或门可以具有两个或更多的输入,并返回一个输出。如果输入值中至少有一个为 1,则输出值为

    2024年02月12日
    浏览(38)
  • 时序违例在FPGA开发流程的分析及解决,结合实际工程

    时序违例的解决可以分为几个阶段,布局前,布线前,布线后。我们从这几个阶段对时序违例进行分析以及提出解决方法。(参考ug1292和ug949)。时序违例包括建立时间违例和保持时间为例,主要关注建立时间违例,保持时间违例是由于组合逻辑太短和时钟偏移造成的,可以

    2024年02月12日
    浏览(47)
  • 【FPGA-DSP】第二期:DSP开发流程【全过程】

    目录 1. System Generator安装 1.1 system generator的安装 1.1.1 vivado安装System Generator 1.1.2  System Generator配置 1.3 启动 2. FPGA-DSP开发流程 2.1 FPGA-DSP 开发流程介绍 2.2 FPGA-DSP 实际开发流程 1. 软件启动  2. matlab编写 3. Simulink仿真  Simulink输入信号 乘法器   时延器 累加器 输出示波器设置

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包