1、简述ASIC设计流程,并列举出各部分用到的工具?

说实话,半路出家,没弄过ASIC,但是经常遇到ASIC与FPGA开发做比较的题目,不得不主动了解下ASIC:

ASIC全称: Application Specific Integrated Circuit,是一种为专门目的而设计的集成电路。

现代ASIC常包含整个32-bit处理器,类似ROM、RAM、EEPROM、Flash的存储单元和其他模块. 这样的ASIC常被称为SoC(片上系统)。

FPGA是ASIC的近亲,一般通过原理图、VHDL对数字系统建模,运用EDA软件仿真、综合,生成基于一些标准库的网络表,配置到芯片即可使用。它与ASIC的区别是用户不需要介入芯片的布局布线和工艺问题,而且可以随时改变其逻辑功能,使用灵活。

以上是百度的内容,下面给出设计流程:

除了细微地差别,看起来和FPGA的设计流程差不多,这样就比较好联想记忆了。

下面给出详细说明:

ASIC开发基本流程

芯片架构,考虑芯片定义、工艺、封装

RTL设计,使用Verilog、System Verilog、VHDL进行描述

功能仿真,理想情况下的仿真

验证,UVM验证方法学、FPGA原型验证

综合,逻辑综合,将描述的RTL代码映射到基本逻辑单元门、触发器上

DFT技术,插入扫描链

等价性检查,使用形式验证技术

STA,静态时序分析

布局规划,保证没有太多的内部交互,避免布线上的拥堵和困扰

时钟树综合,均匀地分配时钟,减少设计中不同部分间的时钟偏移

DRC,设计规则检查

LVS,布线图和原理图进行比较

生成GDSII

这整个流程称为RTL2GDSII,利用GDSII来生产芯片的过程称作流片(Tapeout),以上是一个Fabless公司的简易设计流程,最后将GDSII送至Foundry生产芯片。


2、简述FPGA的开发流程?

FPGA的开发流程可以从FPGA的开发工具ISE或者Vivado上看出,例如ISE:

如VIvado:

大概是如下流程:

从ISE以及Vivado开发工具上可以看出的过程有:RTL代码的编写,可以使用原理图、Verilog HDL以及VHDL来开发,之后可以进行功能仿真,验证设计是否正确,是否符合逻辑,之后就可以进行综合,将RTL代码映射到基本逻辑门单元,触发器上。之后进行实现,实现包括三个步骤:

翻译,映射以及布局布线。

这三者完成了什么工作,见:https://blog.csdn.net/Reborn_Lee/article/details/81434974

这是在ISE中有的套路,在Vivado开发工具中可没这么复杂,vivado生成的网表格式是一致的,没有ISE那么多,那么杂。

最后生成bit流文件,烧写进FPGA即可。


3、名词解释:

ROM:Read Only Memory,只读存储器,手机、计算机等设备的存储器,但现在的所说的ROM不只是Read Only了,也是可以写入的。

RAM:Random Access Memory,随机存取存储器,手机、计算机的运行内存。

SRAM:Static Random-Access Memory,静态随机存取存储器,只要供电数据就会保持,但断电数据就会消失,也被称为Volatile Memory

DRAM:Dynamic Random Access Memory,动态随机存储器,主要原理是利用电容存储电荷的多少来代表一个bit是0还是1,由于晶体管的漏电电流现象,电容会放电,所以要周期性的给电容充电,叫刷新。SRAM不需要刷新也会保持数据丢失,但是两者断电后数据都会消失,称为Volatile Memory

SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步写入和读出数据的DRAM。

EEPROM:Electrically Erasable Programmable Read Only Memory,电可擦除可编程只读存储器,

DDR:Double Data Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器,双倍速率传输的SDRAM,在时钟的上升沿和下降沿都可以进行数据传输。我们电脑的内存条都是DDR芯片。

FLASH: Flash Memory,闪存,非易失性固态存储,如制成内存卡或U盘。

关于这部分,我以前也有总结过:

RAM

ROM

IP核

参考链接:http://ninghechuan.com/2019/02/22/%E4%BD%A0%E8%A6%81%E7%9A%84FPGA&%E6%95%B0%E5%AD%97%E5%89%8D%E7%AB%AF%E7%AC%94%E9%9D%A2%E8%AF%95%E9%A2%98%E9%83%BD%E5%9C%A8%E8%BF%99%E5%84%BF%E4%BA%86/

FPGA笔试题解析(一)相关推荐

  1. FPGA笔试题解析(五):串并转换与奇分频电路

    题目:使用状态机实现序列检测器? 序列检测器的状态机实现,以前的博文写的很多,这里贴出两个简单易懂的,看需要的部分即可: 序列检测器的Moore状态机实现 序列检测器的Mealy状态机实现 题目:用V ...

  2. FPGA笔试题解析(二)

    1.数制转换 R进制数转换为十进制数:按权展开,相加 十进制数转化为R进制数:整数部分,除R取余法,除到商为0为止.小数部分,乘R取整法,乘到积为0为止. 二进制数转化八进制数:三位一组,整数部分左边 ...

  3. FPGA笔试题解析(四)

    1.什么是高阻态? 高阻态:电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,可以理解为断路,不被任何东西所驱动,也不驱动任何东西. 之前写过和高阻态 ...

  4. FPGA笔试题解析(三)

    1.简述建立时间和保持时间,画图表示? 建立时间Tsu(setup):触发器在时钟上升沿到来之前,其数据输入端的数据必须保持不变的最小时间. 保持时间Th(hold):触发器在时钟上升沿到来之后,其数 ...

  5. FPGA笔试题知识点汇总(41~60)

    FPGA笔试题知识点汇总 第三章 FPGA笔试题知识点汇总(41~60) 文章目录 FPGA笔试题知识点汇总 前言 一.题目及解析? 1.IC设计过程中将寄生效应的怎样反馈影响设计师的设计方案?(寄生 ...

  6. 腾讯2016春招安全岗笔试题解析

    腾讯2016春招安全岗笔试题解析 昨天(4月2日)晚上7:00到9:00做了腾讯春招安全岗的笔试题.下面解析一下: 题目解析 1 在生成随机数前用当前时间设置随机数种子应该是安全的.如果程序用固定的数 ...

  7. 【C语言指针】 回调函数、冒泡函数模拟实现qsort、指针和数组笔试题解析

    目录 一.回调函数 定义: 用回调函数形式实现加法运算 二.qsort 函数参数: void指针 用qsort排序整型和结构体 用冒泡函数模拟实现qsort,排序整型和结构体 三.指针和数组笔试题解析 ...

  8. IC/FPGA笔试题分析(五)

    下一个笔试题是华为,虽然只有单选和多选,但还是需要准备一下: 这是一个电路中的某一条关键路径,或者是一个单独的设计,都可以去求其最高频率. 考虑到有时钟抖动等许多情况,所以此电路的最小周期应该为: T ...

  9. 2021 搜狐畅游数据分析笔试题解析

    从牛客网上找到的搜狐畅游数据分析岗位的笔试题,精选了14道题目来给大家解析下,内容涵盖统计学.Excel.SQL.Python.业务理解. 统计学 Excel 业务理解 SQL Python 1统计学 ...

最新文章

  1. Android 解析包出错问题
  2. Eclipse 的一些调试技巧
  3. 在组件之间实现事务和异步提交事务(NET2.0)
  4. Bigpipe---FaceBook使用的页面加载技术
  5. 关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup...
  6. 微生物组-扩增子16S分析第9期(报名直播课免费参加线下2020.8)
  7. Delphi 7 以来的语法等变化
  8. html 拖拽选择表格,JS拖动选择table里的单元格完整实例【基于jQuery】
  9. 谁在指使这家印度 IT 公司攻击全球政治家、投资者和记者?
  10. python中数据结构的基本定义
  11. 微信壁纸头像小程序(附源码)
  12. 基于Simulink模型的嵌入式代码生成与实际工程应用
  13. 7-14 设计一个风扇Fan类 (20 分)
  14. matlab 坐标不用科学计数法,matlab不用科学计数法
  15. Redirect组件的使用
  16. 光电对抗发现历史、内容、原理及发展趋势
  17. flink 架构、概念介绍
  18. My97 WdatePicker 属性
  19. 艾里光束matlab_减速圆艾里光束的产生及其聚焦特性
  20. Dynamic ARP Inspection(动态ARP检测)功能,简称DAI

热门文章

  1. python web server comparison
  2. php自动post系统,php自动过滤POST,GET传参
  3. java resultset wasnull_Java Spring – RowMapper ResultSet – 整数/空值
  4. java 分配cpu使用率_Java-JVM-CPU使用率达到100%
  5. 利用永恒之蓝入侵服务器复制文件,永恒之蓝漏洞利用复现(示例代码)
  6. ai里为什么不能随意放大缩小_平面设计基础知识:平面设计师应该熟练掌握的软件之AI。...
  7. 项目中常用的19条MySQL优化
  8. 获取本地公网ip_本地与远程linux服务器之间传输数据
  9. 反射式红外光电检测管 : ITR9909
  10. 智能车竞赛技术报告 | 智能车视觉 - 上海大学 - 猫耳麻花