【ASIC设计】FPGA小知识拾遗(不断更新...)_lattice mico8 频率-程序员宅基地

技术标签: # ASIC设计课程  

ASIC - 专用集成电路


FPGA开发流程

  • 1、设计定义
    • 要做什么?实现什么功能?
  • 2、设计输入
    • Verilog/VHDL硬件描述语言、成熟的IP核、画原理图的方式进行逻辑设计
  • 3、分析和综合
    • 语法检查、逻辑检查
    • 生成网表文件
  • 4、功能仿真(行为级仿真)(前仿真)
    • 能否实现功能?
    • 理想仿真,逻辑之间零延迟
    • modelsim-altera
  • 5、布局布线
    • 设计代码对应到FPGA,并完成连线
  • 6、时序仿真(门级仿真)
    • 考虑延迟,验证布局布线之后电路是否满足时序要求
    • modelsim-altera
    • 不满足时序要求解决办法:
      • ①、调整设计输入,减少组合逻辑电路,如插入寄存器以形成流水线的方式
      • ②、进行时序约束,如某段路必须多久走完,这样布局布线就会满足时序要求
  • 7、IO分配以及配置文件生成
  • 8、配置FPGA(烧写FPGA)
  • 9、在线调试
    • 嵌入式逻辑分析仪
    • 信号探针
    • 内存查看

常见FPGA厂商及旗下软件

Xilinx

  • ISE、 vivado

Altera【Intel FPGA】

  • Quartus II、 Quartus Prime

Lattice

  • Diamond、 Mico System

典型的 FPGA 通常包含三类基本资源

  • 1、可编程逻辑功能块:是实现用户功能的基本单元,多个逻辑功能块通常规则地排成一个阵列结构,分布于整个芯片;
  • 2、可编程输入/输出(I/O)块:完成芯片内部逻辑与外部管脚之间的接口,围绕在逻辑单元阵列四周;
  • 3、可编程内部互连资源:包括各种长度的连线线段和一些可编程连接开关,它们将各个可编程逻辑块或输入/输出块连接起来,构成特定功能的电路。用户可以通过编程决定每个单元的功能以及它们的互连关系,从而实现所需的逻辑功能。

不同厂家的逻辑单元叫法

  • ALTER的逻辑单元一般叫 LE
  • XILINX的逻辑单元一般叫 CLB

Altera【Intel FPGA】常见系列器件

  • Stratix (V,IV)
  • Arria (10,V GZ,V,II GZ,II GX)
  • Cyclone (10 LP,V,IV E,IV GX)
  • MAX (10,V,II)

Altera【Intel FPGA】在用系列器件型号记录

  • Cyclone IV E FPGA 芯片 EP4CE10F17C8
  • Cclone V FPGA 芯片 5CSEBA2U19I7

Cyclone IV E FPGA【Intel FPGA】 一般需要三组供电

  • ①、内核供电
    • 内核供电电压根据器件是否为低电压版本区分, 低电压版本,内核供电为 1.0V,非低电压版本供电为 1.2V
  • ②、PLL 模拟电路供电
    • PLL 模拟部分供电为固定的 2.5V
  • ③、IO 单元供电
    • IO 供电电压值从 1.2V~3.3V, 共有 6 种可选值

在这里插入图片描述

Altera【Intel FPGA】的Quartus发展变化追溯

  • 随着器件系列多样化,从 Quartus II 10.0 以后的版本器件支持包需要单独下载并可根据需要选择性安装
  • 在时序仿真软件方面,在 9.1 之前均自带仿真组件,在之后均需下载额外的诸如 Modelsim 或者 Modelsim-Altera 等仿真软件
  • Quartus II 12.0 及之前的软件需要额外下载 Nios II 组件,之后的 Quartus II 软件开始自带 Nios II 组件。
  • Quartus II 9.1 之前的版本均自带 SOPC 组件,而 Quartus 10.0 自带了 SOPC 和 Qsys 两个组件,但从 10.1 开始,Quartus II 只包含 Qsys 组件。
  • 自从 15.1 开始 Quartus II 正式更名为 Quartus Prime。 该版本是 Altera 被 Intel 收购后发布的第一个版本也被官方称为有史以来最大的更新,相比之前加入了 Intel 为 FPGA 专门设计的OpenCL SDK、 SoC Embedded Design Suite 以及 DSP Builder 等组件。
  • 到了 16.1 版本,软件连安装目录也从自动命名的 altera 变为 intelFPGA,令人唏嘘不已,感叹发展之快

Quartus 常见源文件

  • HDL 文件(Verilog HDL File)
  • 原理图文件(BDF 文件)
  • TCL文件
  • ROM 初始化(mif)文件
  • Signaltap II 文件

Quartus 常见生成文件

  • .sof 格式文件
  • .jic 格式文件
    • sof 文件转化为 jic文件,以固化到 EPCS 存储器中
  • .bdf文件
    • 原理图文件
  • .v/.vhd
    • 硬件描述语言文件
  • .qar 格式文件
    • Archive Project选项,将当前工程的所有文件打包为一个 qar 格式的文件,方便保存和传输。

常见仿真

  • 寄存器传输级仿真(RTLSimulation)
    • 寄存器传输级仿真也被称为功能仿真或前仿真,主要针对没有经过布局布线的 RTL 描述代码。 该仿真结果为理想仿真结果,不含任何布局布线的延迟信息。 一般代码编写完成后都要先进行寄存器传输级仿真,以确定设计的功能逻辑没有问题。
  • 门级仿真 Gate Level Simulation。
    • 门级仿真是针对 Quartus 编译完成后含布局布线延迟的文件进行仿真,其仿真结果已经与实际在对应器件上的运行结果非常的接近了,具有较大实际参考意义。

网表视图

  • RTL 视图
    • 查看 RTL 视图, 可以对设计所实现的逻辑功能以类似电路原理图的形式进行核对确认。
  • 网表视图
    • 查看网表,可以知道设计最终通过门级实现的情况。
  • 状态机图
    • 查看状态机图可以核对状态跳转图是否与自己的设计一致。

随笔小知识

  • 执行时序分析的前提是工程完成了分析和综合(Analysis & Synthesis)、适配(Fitter)
  • 芯片面积大,不利于降低成本和功耗
  • always块中:if/else有优先级、case无优先级。注:casex有优先级
  • 流水线pipeline把最长路径截断;流水线有几级,就有几个组合电路
  • verilog中的x是给仿真用的
  • 在always块中用的变量,一般定义为reg
  • 组合和时序最主要的区别:有无D触发器
  • 部分行为级代码不可综合,比如延时#100,要想可综合需要改成RTL级,加入D触发器来达到延时的目的
  • 三段式:输入组合电路、中间时序电路、输出组合电路。【分析的关键:找出D触发器,分出组合/时序】
  • primitive:原语,比如or/xor/and等门电路
  • 设计的时候,组合电路给真值表;时序电路给状态转换图。
  • Mealy输出取决于当前状态和输入;Mealy机不跟时钟走,反应快
  • Moore占资源多
  • 竞争冒险的本质:同一信号经过不同路径,最后汇聚产生。
  • 约束:延迟、扇出、引脚绑定、时钟频率
  • 组合反馈环路的延时未知,一般在电路中不允许出现
  • D触发器(DFF)和Latch(锁存器)区别,DFF是边沿型的,Latch是电平型的
  • FPGA擅长乘除移位,不擅长矩阵求逆、三角函数。三角函数求解一般用查找法。
  • $同样无法综合,仿真时候用的
  • 时序电路,看见8个状态,想到3个D触发器, 2 n 2^n 2n的关系。
  • 如果always后面的敏感信号列表用的是边沿型信号(比如clk信号的上升沿),且信号使用非阻塞赋值“<=”,那没有else会综合生成DFF;如果always后面的敏感信号列表用的是电平型信号,且信号使用阻塞赋值“=”,那没有else会综合生成latch;第二种一般是应该避免的,因为这种写法一般是希望生成组合电路,把else加上就好。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/recclay/article/details/109775646

智能推荐

后台服务守护进程神器pm2介绍及使用_pm2 执行go命令-程序员宅基地

文章浏览阅读1.4k次。linux的后台服务程序需要在后台一直运行。如果通过ssh访问临时启动的,会话一结束就直接关闭了服务。想让服务在后台一直运行且永远不挂掉,推荐后台服务守护进程神器pm2,强大且适用于各种语言的后台服务程序。_pm2 执行go命令

深度桌面操作系统架构设计-程序员宅基地

文章浏览阅读2.5k次,点赞4次,收藏23次。作者 | ManateeLazyCat 链接 |https://my.oschina.net/ManateeLazyCat/blog/831104今天就结合深度桌面操作系统给大家..._x11/xcb

亮剑:PHP,我的未来不是梦(10)-程序员宅基地

文章浏览阅读37次。1.21 工作经验都包括什么这部分就是我们前面提过的五关之一,筛选关!也就是我们靠什么来打动看我们简历的人!换句话说就是,他们希望我们具有哪些技术和能力?当然,针对不同的应聘人员,关注点也不一样!前面已经说过了,所谓的工作经验就是“应聘这个职位所必需的技术和能力”,另外,还有其他的,很容易被忽略的能力!那么这个技术和能力以及其他的能力又具体指的是什么呢? 这里只从实际的情况出发...

时序约束——set_max_delay和set_min_delay用法-程序员宅基地

文章浏览阅读6.8k次,点赞2次,收藏57次。实现约束_set_max_delay

在Linux下使用RAID(1):介绍 RAID 的级别和概念_在 linux 下使用 raid(一):介绍 raid 的级别和概念-程序员宅基地

文章浏览阅读289次。RAID 的意思是廉价磁盘冗余阵列(Redundant Array of Inexpensive Disks),但现在它被称为独立磁盘冗余阵列(Redundant Array of Independent Drives)。早先一个容量很小的磁盘都是非常昂贵的,但是现在我们可以很便宜的买到一个更大的磁盘。Raid 是一系列放在一起,成为一个逻辑卷的磁盘集合。 伦理片 http://www.dot_在 linux 下使用 raid(一):介绍 raid 的级别和概念

java计算机毕业设计课程答疑系统源程序+mysql+系统+lw文档+远程调试_一梵程序-程序员宅基地

文章浏览阅读92次。java计算机毕业设计课程答疑系统源程序+mysql+系统+lw文档+远程调试。前端技术:Layui、HTML、CSS、JS、JQuery等技术。ssm基于SSM+VUE技术的小区车辆档案车位管理系统设计与实现。springboot基于SpringBoot的自助旅游导航系统。springboot基于springboot的社会公益平台。JSP+sql图书管理系统(源程序+论文+数据库+录像)ssm+sqlserver海城同泽中学图书仓库管理系统。ssm+sqlserver长大工院竞赛系统。_一梵程序

随便推点

《Python编程》专栏简介-程序员宅基地

文章浏览阅读155次。在本教程中,我们涵盖了Python编程的主要主题,包括Python基础知识、Python数学、Python网络编程、Python算法和数据结构、Python机器学习、Python Web开发和Python游戏开发。

在Ubuntu 12.04 64 位 搭载Android4.4源码编译环境-程序员宅基地

文章浏览阅读67次。在Ubuntu 12.04 64 位 搭载Android4.4源码编译环境 一、准备工作:(1) VMare Workstation 10(2)Ubuntu12.04 64bit(3) JDK1.6(4)Android 4.4 源码(PS:...

图像数据增广_图像增广-程序员宅基地

文章浏览阅读1.2k次,点赞19次,收藏24次。本文主要介绍了图像数据的几种增广方式,其中包括随机翻转、随机裁剪和随机颜色变换等,使用时一般在训练集上综合使用以达到鲁棒效果。_图像增广

8种编程语言对比,究竟谁更好用_算法用什么语言写比较好-程序员宅基地

文章浏览阅读977次。8种编程语言对比,究竟谁更好用_算法用什么语言写比较好

数据库oracle实际使用的内存---AIX产生大量的swap反思_oracle数据库内存64,sga40,会占用swap吗-程序员宅基地

文章浏览阅读796次。来看看oracle实际使用的内存:select sum(pga_alloc_mem)/1024/1024/1024 Alloc from v$process ; +select sum(value)/1024/1024/1024 as b from v$sga + 进程本身消耗的内存。操作系统频繁使用swap,原因基本是系统内存不够用了。从数据库的内存配置来看,128G总内..._oracle数据库内存64,sga40,会占用swap吗

Matlab 仿真——直流电机速度控制(1)直流电机建模_直流电机系统建模matlab-程序员宅基地

文章浏览阅读2.2w次,点赞31次,收藏228次。Matlab 仿真——直流电机速度控制(1)直流电机建模(搬运自:https://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed&section=SystemModeling)该系列我们学习如何对直流电机进行速度控制物理模型一个直流电机模型如下所示:为了简化讨论,假设转子和转轴都是刚体,转子受到的磁场恒定,转子受到的摩擦为粘性摩擦,即受到的摩擦力与速度成正比。假设该电机的物理参数为:(J) 转子的转动惯量 _直流电机系统建模matlab