华为海思数字芯片设计笔试第六套
声明
下面的题目作答都是自己认为正确的答案,并非官方答案,如果有不同的意见,可以评论区交流。
这些题目也是笔者从各个地方收集的,感觉有些题目答案并不正确,所以在个别题目会给出自己的见解,欢迎大家讨论。
因为这里我只会设计的题目,所以验证的题目我就没放上去了
题目
1.以下低功耗措施中,哪种不是降低电路翻转率的方法?
A.在不进行算术运算的时候,使这些模块的输入保持不变,不让新的操作数进来
B.采用 Gray 码或 One‐hot 码作为状态机编码
C.减少电路中的 glitch
D.重新安排“if‐else”表达试,可将毛刺或快变化信号移至逻辑锥体的前部
正确答案:D
2.以下 Verilog 代码中,a=12,b=10.则 z 的运算结果为:
Input [3:0]a;
Input [3:0] b;
output signed [7:0] z;
wire signed [3:0]c;
assign c= a[3:0]*b[3:0];
assign z=c;
A.120
B.‐8
C.8
D.‐120
’d120=7‘b1111000=-8
正确答案:B
5.下面有关 Cache 的说法哪一个是不正确的?
A. 设置 Cache 的理论基础,是程序访问的局部生原理
B. Cache 与主存统一编址,Cache 的地址空间属于主存的一部分
C. 设置 Cache 的目的,是解决 CPU 和主存之间的速度匹配问题
D. Cache 的功能匀由硬件实现,对程序员是透明的
解析:
A:使用 Cache 改善系统性能的依据是程序的局部性原理 [1]
B:cache 的地址与内存地址是两码事,不统一编址,也没有从属关系
C:Cache 是介于 CPU 和主存之间的小容量存储器,存取速度比主存快,接近 CPU。它能高 速地向 CPU 提供指令和数据,提高程序的执行速度。Cache 技术是为了解决 CPU 和主存之 间速度不匹配而采用的一项重要技术。
D:Cache 是主存的缓冲存储器,由高速的 SRAM 组成,所有控制逻辑全部由硬件实现,对
程序员而言是透明的。随着半导体器件集成度的不断提高,当前有些 CPU 已内置 Cache,并 且出现了两级以上的多级 Cache 系统。 Cache 通常采用相联存储器。Cache 又分为 L1Cache(一级缓存)和 L2Cache(二级缓存),
L1Cache 主要是集成在 CPU 内部,而 L2Cache 集成在主板上或是 CPU 上。
正确答案:B
6.对于独立复位的模块,只需要考虑对后级模块的影响,无需考虑对前级模块的影响。
A.正确
B.错误
解析:B 考虑到可能会存在反馈电路,因此选择错误。
正确答案:B
9.下列哪个不是 Verilog 系统函数( )
A. $ finish
B. $ head
C. $ time
D. $ write
解析:
$finish 的作用是退出仿真器,返回主操作系统,也就是结束仿真过程。
$write(p1,p2,…pn);输出信息,即将参数 p2 到 pn 按参数 p1 给定的格式输出。
$time 返回一个 64 位的整数来表示当前的仿真时刻值
正确答案:B
10.以下 Verilog 运算符号中,优先级最高的是?
A.==
B.“
C.!
D.?:
正确答案:C
11.模块只收敛做到 0.75V,提压到 0.85V 可以正常工作
A.正确
B.错误
正确答案:B
12.异步电路都不需要 STA 进行约束检查
A.是B.否
解析:STA 都是针对同步电路的
正确答案:A
13.在设计状态机时,有两种常用的编码方式:one‐hot code、binary code,前者相对于后者
的优势主要体现在
A.实现电路的速度更快
B.实现电路的面积更小
C.编码方式简单
D.实现电路的功耗更低
One-hot编码方式在状态机设计中的一个主要优势是能够提供更快的电路速度。在one-hot编码的状态机中,每个状态由一个独立的触发器(比如一个D触发器)表示,且在任何时刻只有一个触发器的输出为高电平(表示当前状态),而其他所有触发器的输出都为低电平。这种编码方式使得状态转移只涉及到两个触发器状态的变化:离开当前状态和进入新状态。因此,状态转换逻辑简单,可以实现更快的转换速度。
对比之下:
B. 实现电路的面积更小:One-hot编码通常需要更多的触发器来表示所有的状态,因此相对于二进制编码,它会占用更多的电路面积。
C. 编码方式简单:相对来说,二进制编码更为简单和直观,因为它直接映射到状态的数值上。One-hot编码虽然在逻辑实现上简单,但需要更多的硬件资源。
D. 实现电路的功耗更低:功耗取决于多种因素,包括状态转换的频率和电路的总活动度。尽管one-hot状态机在某些情况下可能有助于减少因状态转换而引起的功耗,但由于它需要更多的触发器,静态功耗可能会更高。
因此,one-hot编码方式相对于二进制编码的主要优势是实现电路的速度更快。
正确答案:A
14.对于相同位数输入的变量比较器,大于和小于的面积是一样的
A.对
B.错误
正确答案:B
15.有关综合的说法,以下哪个选项是错误的?
A. 相同的 RTL 代码,每次综合出来的网表可能是不一样的
B. 综合网表可用于 EDA 功能仿真
C. casez 是不可综合的
D. 时序逻辑 always 语句中,if‐else 如果 else 的分支缺乏,会综合成 latch
正确答案:D
16.在 Verilog 代码中,对有符号数进行比特选择或拼接,其结果是无符号数
A.正确
B.错误
正确答案:B
17.reg [0:31] little_vect; little_vect[0+:8]是多少?
A. little‐vect[0 : 7]
B. 1ittle_vect[7: 0]
正确答案:A
18.时序逻辑 always 语句中,if‐else 如果 else 的分支缺乏,会综合成 latch
A.正确
B.错误
正确答案:B
19.关于功耗,以下描述不正确的是:
A.设计者需要关注平均功耗、峰值功耗和功耗跳变
B.改变芯片的供电电压和时钟频率都会对芯片功耗产生影响
C.对于可关断的摸块,使用时钟门控即可降低功耗
D.芯片的功耗会受实际信号的影响,所以功耗测试需要结合业务来开展
C
虽然时钟门控(Clock Gating)是一种减少功耗的技术,特别是对于减少动态功耗很有效,它通过关闭不需要的时钟信号来减少电路的切换活动。然而,对于“可关断的模块”(即可以被完全断电的模块),更直接有效的减少功耗的方法是使用功耗门控(Power Gating)。功耗门控能够将整个模块断电,从而显著减少静态功耗(即漏电流导致的功耗),这是时钟门控做不到的。
正确答案:C
20.一个 D 触发器, 其数据 Tsu=2ns,Tcq=3ns,Thd=1ns,则此触发器的最高工作频率为: (注:Tsu 数据相对时钟的建立时间,Thd 数据相对时钟的保持时间,Tcq 输出相对时钟的延迟)
A.200MHz
B.500MHz
C.100MEz
D.333MHz
正确答案:A
TCLK1 + TCLK->Q +TDATA < TCLK2+TCLK-TSU+TUNCERTAINTY
35
21.在 Verilog HDL 中,*timescale 编译器指令格式为: timescale AB.其中 A 指的是时延精度,
B 指的是时延单位。
A. 正确
B. 错误
解析: A 是时延单位,B 是时延精度。
正确答案:B
22.reg signed [0:4] b, b=8’sh8f,赋值后 b 的值是多少?
A. 5’h1F
B. 5’h0F
C. 8’h8F
正确答案:B
23.在 GVIM 编译器中,将全英文的字符串 old 全部替换成字符串 new,正确的命令是:
A. s/o1d/new/
B. s/o1d/new/g
C. s/o1d/new/g
D. s/o1d/new/
%s/old/new/g
24.在 Verilog 语言中,a=4’b0101,b=4’b1010,那么~(a^b)= ( )
A. 4’b0000
B. 1’b1
C. 1’b0
D. 4’b1111
解析:
a^b 是指 ab 异或;~(a^b)取反
a^b=4’b1111;
~(a^b)=4’b0000
正确答案:C
25.timescale 1ns/10ps,其中 1ns 代表 time unit,10ps 代表 time precision.
A.正确
B.错误
正确答案:A
26.generate for 循环语句中使用的标尺变量可定义为 integer
A.正确
B.错误
正确答案:B
28.多 bit 信号的异步处理时,可以用打两拍的方式,也可以用异步 fifo
A.正确
B.错误
解析:单比特可以用打两拍
正确答案:B
1、Initial 和 always 的区别是
A. initial 只执行 1 次,always 执行多次
B. initial 不可以被综合,always 可以综合
C. always 中时序和过程语句描述与 initial 相同
正确答案:AB
A. initial 只执行 1 次,always 执行多次:这是正确的。在Verilog和SystemVerilog中,initial块在仿真开始时执行一次,而always块根据其敏感性列表中的事件反复执行。
B. initial 不可以被综合,always 可以综合:这个说法部分正确。initial块通常用于仿真环境中的初始化过程,并不是用于描述硬件逻辑的,因此通常不被综合工具所支持。然而,always块的综合性取决于其具体使用方式。always用于描述组合逻辑(always @*)和时序逻辑(如always @(posedge clk))时,可以被综合。但是,并不是所有的always块都适合综合,比如使用了不合适的控制流或非综合语句的always块。
C. always 中时序和过程语句描述与 initial 相同:这个说法不准确。initial和always块都可以包含过程语句,但它们的用途和执行方式不同。initial主要用于仿真的初始化和一次性操作,而always用于描述持续的或重复的行为,包括组合逻辑和时序逻辑。它们可以包含相似的语句,但在仿真或硬件描述中扮演的角色不同
2.在设计中,可以被用于进行不同时钟域隔离的 memory 类型为
A. two‐port Register File
B. single‐port RAM
C. single‐port Register File
D. dual‐port RAM
正确答案:AD
解析:
寄存器文件(register file)又称寄存器堆,是 CPU 中多个寄存器组成的阵列,通常由快速的
静态随机读写存储器(SRAM)实现。这种 RAM 具有专门的读端口与写端口,可以多路并发 访问不同的寄存器。
4.如下时钟组合中,哪些是同步时钟?
A.不同 PLL 产生的相位不同,频率相同的时钟
B.相同 PLL 产生的 2 分频时钟和 4 分频时钟
C.同一 PLL 产生的相位相差 180°,频率相同的时钟
D.不同 PLL 产生的频率不同的时钟
正确答案:BC
解析:
无法判定两个时钟间相位时,则可以称这两个时钟为异步时钟(asynchronous clocks)。
5.影响 CMOS 电路动态功耗的因素有哪些:
A.工艺
B.翻转率
C.供电电压
D.温度
正确答案:ABCD
6.芯片的工作条件主要是指( )
A.工艺
B.温度
C.电压
D.湿度
正确答案:ABC
7.Verilog 法关于任务和函数,描述正确的有( )。
A.任务可以调用函数(function)。
B.函数可以调用函数。
C.任务(task)可以调用任务。
D.函数可以调用任务。
正确答案:ABC
8.逻辑函数可以有的表达式为( )
A.真值表
B.卡诺图
C.逻辑表达式
D.组合图
正确答案:ABC
表达式有:逻辑状态表,逻辑式,逻辑图,卡诺图,真值表
9.基于 FPGA 和 ASIC 芯片设计的差异需要关注的有
A.上下电流程
B.时钟频率
C.时钟复位
D. memory 控制
正确答案:ABCD
10.异步电路的处理方式包括
A.多 bit DMUX 同步
B.握手协议同步
C.多 bit 格雷码同步
D.异步FIFO 同步
正确答案:ABCD
相关文章:
华为海思数字芯片设计笔试第六套
声明 下面的题目作答都是自己认为正确的答案,并非官方答案,如果有不同的意见,可以评论区交流。 这些题目也是笔者从各个地方收集的,感觉有些题目答案并不正确,所以在个别题目会给出自己的见解,欢迎大家讨论…...
重绘和重排:概念、区别和应用示例
还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,ech…...
创建k8s deploy yaml文件的imagePullSecrets语句
镜像仓库是harbor kubectl create secret docker-registry key --docker-server192.168.0.190 --docker-usernameadmin --docker-passwordHarbor12345...
大模型预测结果导入到Doccano,人工修正预测不准的数据
背景 使用大语言模型做实体识别的实验时,发现大模型关于实体的边界预测一直不准。 主要原因在于当时找了很多同学标注数据,由于不同组同学关于实体的边界没有统一,故导致数据集中实体边界也没统一。 (找太多人标,会有…...
python三方库_ciscoconfparse学习笔记
文章目录 介绍使用基本原理父子关系 属性ioscfg 获取配置信息,返回列表is_config_line 判断是否是配置行is_intf 判断IOSCfgLine是不是interfaceis_subintf 判断IOSCfgLine是不是子接口lineage 不知道用法is_ethernet_intf 判断IOSCfgLine是否是以太网接口is_loopback_intf 判断…...
HDFS详解(Hadoop)
Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)是 Apache Hadoop 生态系统的核心组件之一,它是设计用于存储大规模数据集并运行在廉价硬件上的分布式文件系统。 1. 分布式存储: HDFS 将文件分割成若干块…...
python创建word文档并向word中写数据
一、docx库的安装方法 python创建word文档需要用到docx库,安装命令如下: pip install python-docx 注意,安装的是python-docx。 二、使用方法 使用方法有很多,这里只介绍创建文档并向文档中写入数据。 import docxmydocdocx.Do…...
MongoDB的安装配置及使用
文章目录 前言一、MongoDB的下载、安装、配置二、检验MongoDB是否安装成功三、Navicat 操作MongoDB四、创建一个集合,存放三个文档总结 前言 本文内容: 💫 MongoDB的下载、安装、配置 💫 检验MongoDB是否安装成功 ❤️ Navicat 操…...
Go学习路线
Go学习路线 文章目录 Go学习路线入门阶段一、Go基础和Goland的安装二、学习日志文件及配置文件三、学习mysql四、html,css,js快速入门五、写一个简单的前后端分离的记事本项目六、Linux快速入门七、Docker快速入门八、Git命令快速入门九、使用Docker打包…...
安全大脑与盲人摸象
21世纪是数字科技和数字经济爆发的时代,互联网正从网状结构向类脑模型进行进化,出现了结构和覆盖范围庞大,能够适应不同技术环境、经济场景,跨地域、跨行业的类脑复杂巨型系统。如腾讯、Facebook等社交网络具备的神经网络特征&…...
如何使用Git-Secrets防止将敏感信息意外上传至Git库
关于Git-Secrets Git-secrets是一款功能强大的开发安全工具,该工具可以防止开发人员意外将密码和其他敏感信息上传到Git库中。 Git-secrets首先会扫描提交的代码和说明,当与用户预先配置的正则表达式模式匹配时,便会阻止此次提交。该工具的优…...
Day 14 网络协议
常见网络设备:交换机 路由器 中继器 多协议网关(路由器的前身) 交换机:用于连接统一网络的设备,实现内网设备通信。 从广义上分为:局域网交换机,广域网交换机 从网络构成分为:接…...
msyql中SQL 错误 [1118] [42000]: Row size too large (> 8126)
场景: CREATE TABLE test-qd.eqtree (INSERT INTO test.eqtree (idocid VARCHAR(50) NULL,sfcode VARCHAR(50) NULL,sfname VARCHAR(50) NULL,sfengname VARCHAR(50) NULL,…… ) ENGINEInnoDB DEFAULT CHARSETutf8 COLLATEutf8_general_ci;或 alter table eqtre…...
实验六 智能手机互联网程序设计(微信程序方向)实验报告
实验目的和要求 请完成创建图片库应用,显示一系列预设的图片。 提供按钮来切换显示不同类别的图片。 二、实验步骤与结果(给出对应的代码或运行结果截图) 1.WXML <view> <button bindtap"showAll">所有图片</but…...
Linux环境下,让Jar项目多线程部署成为可能
欢迎来到我的博客,代码的世界里,每一行都是一个故事 Linux环境下,让Jar项目多线程部署成为可能 前言背景介绍使用sh脚本实现使用systemd来实现使用docker-compose实现 前言 在当今互联网时代,应用程序的高可用性和性能是至关重要…...
k8s调度场景
15个KUBERNETES调度情景实用指南 Kubernetes调度是确保集群中的Pod在适当节点上运行的关键组件。通过灵活配置调度策略,可以提高资源利用率、负载平衡和高可用性。 在本文中,我们将深入探讨一些实际的Kubernetes调度场景,并提供相应的配置示…...
基于小程序实现的餐饮外卖系统
作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…...
家居网购项目(手写分页)
文章目录 1.后台管理—分页显示1.程序框架图2.编写数据模型Page.java 3.编写dao层1.修改FurnDao增加方法 2.修改FurnDaoImpl增加方法 3.单元测试FurnDaoTest 4.编写service层1.修改FurnService增加方法 2.修改FurnServiceImpl增加方法3.单元测试FurnServiceTest 5.编写DataUtil…...
goland2024安装包(亲测可用)
目录 一、软件简介 二、软件下载 一、软件简介 Goland 是一款由 JetBrains 公司开发的集成开发环境(IDE),专门用于 Go 语言的开发。它提供了丰富的功能和工具,帮助开发者更高效地编写、调试和管理 Go 语言项目。 功能特点&#x…...
35、链表-LRU缓存
思路: 首先要了解LRU缓存的原理,首先定下容量,每次get请求和put请求都会把当前元素放最前/后面,如果超过容量那么头部/尾部元素就被移除,所以最近最少使用的元素会被优先移除,保证热点数据持续存在。 不管放…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...
