1.名词解释:

FPGA:现场可编程门阵列,一般工艺SRAM(易失性),所以要外挂配置芯片。

CPLD:复杂可编程逻辑器件,一般工艺Flash(不易失)。

ASIC:专用集成电路

SOC:片上系统

SOPC:片上可编程系统

2.Verilog语法类:

①Verilog两大数据类型:一类是线网类型,另一类是寄存器类型。

线网类型表示硬件电路元件之间实际存在的物理连线,有很多种:wire、tri、wor等等,当然日常使用wire最多,其他的都没遇到过。

寄存器类型表示一个抽象的数据存储单元,只能在initial或always内部被赋值,并且变量的值将从一条赋值语句保持到下一条赋值语句。有5种:reg、time(64位无符号的时间变量)、integer(32位带符号的整数型变量)、real/realtime(64位带符号的实数型变量)。reg用的最多。

②Verilog建模方式:结构化描述方式、数据流描述方式、行为描述方式、混合描述方式。

结构描述是指通过调用逻辑原件,描述它们之间的连接来建立逻辑电路的verilog HDL模型。这里的逻辑元件包括内置逻辑门、自主研发的已有模块、商业IP模块。

数据流描述是指根据信号之间的逻辑关系,采用持续赋值语句描述逻辑电路的方式。通过观察是否使用assign赋值语句可以判断是否有数据流描述。

行为描述是指只注重实现的算法,不关心具体 的硬件实现细节。这与C语言编程非常类似。通 过观察是否使用initial 或always语句块可以 判断是否有行为描述。

混合描述是指以上几种描述方法都存在的一种 描述方式。具体在一个工程中,不可能只是用 单独哪一种描述方式,一般都是各种描述方式 的混合。

3.VHDL相对于Verilog不能描述的层级?

网上有段话说的是:Verilog在其门级描述的底层,即晶体管开关级的描述方面比VHDL更强一些,所以即使使用VHDL的设计环境,在底层实质上也会由Verilog描述的器件库所支持。

Verilog较为适合系统级、算法级、RTL级、门级、开关级的设计,而对于特大型(千万门级以上)的系统设计,则VHDL更为适合。(VHDL比较严谨,而Verilog可以花式编码)

所以,VHDL不能描述开关级。

4.阻塞与非阻塞的区别:

对于代码:

 //blocking;
begin
B = A;
C = B + ;
end
//non-blocking;
begin
B <= A;
C <= B + ;
end

在always语句内部过程赋值语句有两种,阻塞赋值语句与非阻塞赋值语句。

两者主要区别是完成赋值操作的时间不同,阻塞赋值语句的赋值操作是立即执行的,即执行后一句的时候,前一句的赋值已经完成;而非阻塞赋值语句的赋值操作到结束顺序语句块时才完成赋值操作,即赋值操作完成后,语句块的执行也就结束了。即阻塞是串行执行,非阻塞是并行执行的。对于上述代码,阻塞赋值中相当于C = A + 1;非阻塞赋值中B先前的值被A替代,但C的值是B先前值加1。

5.亚稳态是什么怎么解决亚稳态?

另一篇文章已经阐述。

6.竞争冒险是什么,怎么解决竞争冒险?

另一篇文章已经阐述。

7.状态机。

8.你使用的器件名称含义?

以上。

FPGA笔试题集锦(血的教训)的更多相关文章

  1. 2016最新Java笔试题集锦

    更新时间:2015-08-13         来源:网络         投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...

  2. Java笔试题集锦

    Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?怎样实现? 答:MVC是Model-View-Controller的简写."Model" 代表的是应用的业务逻辑(通过J ...

  3. Java 笔试题集锦

    1.Java 不需要使用构造函数来创建对象的方法有哪些? 2.Java 创建多线程有哪些方法?你最喜欢哪一个?为什么? 3.Java

  4. iOS基础笔试题 - 集锦一

    前言 下文转载自https://mp.weixin.qq.com/s?__biz=MzA4ODk0NjY4NA==&mid=454115946&idx=1&sn=c7f1b50 ...

  5. web前端校招笔试题集锦

    写一个求和的函数sum,达到下面的效果 // Should equal 15 sum(1, 2, 3, 4, 5); // Should equal 0 sum(5, null, -5); // Sh ...

  6. 【Android面试】Android面试题集锦 (陆续更新)(最新2012-6-18) eoe上看到的

    ===============eoeAndroid社区推荐:======================= 1.Android开发新浪面试题[开发者必看哦]下载地址 http://www.eoeand ...

  7. Unity3d笔试题大全

    1.       [C#语言基础]请简述拆箱和装箱. 答: 装箱操作: 值类型隐式转换为object类型或由此值类型实现的任何接口类型的过程. 1.在堆中开辟内存空间. 2.将值类型的数据复制到堆中. ...

  8. Redis面试题集锦(精选)

    1.什么是 Redis?简述它的优缺点? Redis的全称是:Remote Dictionary.Server,本质上是一个Key-Value 类型的内存数据库,很像memcached,整个数据库统统 ...

  9. RabbitMQ面试题集锦(精选)(另附思维导图)

    1.使用RabbitMQ有什么好处? 1.解耦,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 2.异步,将消息写入消息队列,非必要的业务逻辑以异步的 ...

随机推荐

  1. Django 中间件版登录验证

    中间件版的登录验证需要依靠session,所以数据库中要有django_session表. urls.py # urls.py from django.conf.urls import url fro ...

  2. 培训班课程课时及费用管理系统V3.0,适合钢琴培训班、艺术培训班等

    联系QQ 564955427. ACM3.02 文件下载                    还有: 预收课时版 特点: 1. 适合主要业务是一对一课程和部分集体课培训的中小培训班(非连锁管理).考 ...

  3. Python的socket模块与交互式指令

    socket简介 在编程的过程中,我们需要使用网络编程,这时我们不得不和网络通信的底层基础打交道了.我们必须让自己传输的数据符合网络通信的基本协议,即TCP/IP协议,但是网络通信协议本身很复杂.我们 ...

  4. PS 十分钟教你做出文字穿插效果

  5. Linux 光盘挂载步骤

    mount -t fs_type device dir 挂载操作 常见的文件系统类型 Windows :ntfs.fat32 Linux:ext3.ext4.xfs 光盘: iso9660 挂载光盘: ...

  6. Mysql DBA 运维 MySQL数据库索引优化及数据丢失案例 MySQL备份-增量备份及数据恢复基础实战 MySQL数据库生产场景核心优化

    需要的联系我,QQ:1844912514

  7. 在JavaEE中使用Mybatis框架

    MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java 对象)映射成数据库中的记录.每个MyB ...

  8. 解决tab标签页,相同id时切换失灵的问题

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Centos rpm包安装PHP所需包

    yum -y install php php-devel php-fpm php-xml php-pdo php-ldap php-mysql

  10. python设计模式第二十天【模版方法模式】

    1.应用场景 (1)具有相同的操作,但是步骤中具有不同的操作细节 2.代码实现 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ from abc impor ...