
笔试刷题
文章平均质量分 54
借问众神明.
犹当晚学,不可自弃
展开
-
fork join_none易错点
分析上述两种不同情况,可以发现,当延时语句在fork内部时,则此时父线程在i=3之前均无阻塞,那么此时forkjoin_none不会执行,仅当i=3时,父线程被阻塞,则forkjoin_none开始执行,所以打印结果为333。本篇博客记录一下自己在实际过程中遇见的易错的语法细节。具体看见sv标准(1800-2012)...原创 2022-07-25 14:40:02 · 988 阅读 · 0 评论 -
C语言-找出0-100内的素数
c语言基础题-求质数即素数首先要知道素数的定义,素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任意整数整除的数。于是可以使用for循环和求余的方式实现此功能。实现代码如下:结果如下:...原创 2022-06-29 13:58:10 · 3140 阅读 · 0 评论 -
跨时钟域刷题
跨时钟域的信号分为两类,一类是单比特的信号,一类是多比特的信号。对于单比特信号,可以分为两种情况:对于多比特信号:一般采用异步FIFO、异步双口RAM、握手、格雷码方式处理。该题为笔试遇到的遇到真题,该题主要考察了多比特信号的处理,且为慢时钟域到快时钟域。思路:将计数结果换成格雷码,并在快时钟域下打两拍处理。2.仿真结果如下:当计数步进为2时,格雷码每次变化的数不为1,不满足单比特变化,在跨时钟域时容易出问题,使得采样有误。思路:将脉冲信号进行展宽,然后同步到慢时钟域,再将反馈回快时钟域的信号原创 2022-06-18 15:44:45 · 459 阅读 · 0 评论 -
笔试真题-LFK
本文整理了一些LFK最近笔试的代码题。set a {12}set b {345}set c {6789}lappend a $blappend a $c#如何从a中得到6?这道题考了TCL脚本的使用解决方法如下:set str [lindex $a 2]string range $str 0 0原创 2022-04-19 18:36:36 · 181 阅读 · 0 评论 -
C语言手撕代码
本文总结了一些在笔试中常见的一些C语言代码题。文章目录冒泡排序字符翻转冒泡排序冒泡排序是比较基础的排序算法之一,其思想是相邻的元素两两比较,较大的数下沉,较小的数冒起来,这样一趟比较下来,最大(小)值就会排列在一端。整个过程如同气泡冒起,因此被称作冒泡排序。实现代码如下:#include <stdio.h>void bubblesort(int a[],int length);void swap(int a[],int i,int j);int main(){ int原创 2022-04-19 16:48:23 · 1395 阅读 · 0 评论 -
不同形状信号产生电路
本题取自牛客网题库题目描述:请编写一个信号发生器模块,根据波形选择信号wave_choise发出相应的波形:wave_choice=0时,发出方波信号;wave_choice=1时,发出锯齿波信号;wave_choice=2时,发出三角波信号。解析:要想实现方波,可以看到,方波类似于时钟信号,在本题中,我通过设计四分频电路的思路设计方波的产生,给波的峰值设置为10。实现锯齿波:将wave的值在每个时钟上升沿加一,当加到峰值10时,将其清零,随后继续重复此步骤。三角波形:对于三角波的产生,类似于原创 2022-03-19 19:04:04 · 189 阅读 · 0 评论 -
同步fifo设计
文章目录FIFO介绍:判断空满代码仿真波形FIFO介绍:FIFO表示先进先出的意思。是基于RAM的存储模块,一般多是用于缓冲数据。以代码中声明端口为例,对于一个FIFO来讲,通常具有时钟信号clk,复位信号rst,读写命令, 数据写入和数据读出。当写信号write_to_fifo拉高时且此时fifo未写满,fifo应该继续写入数据 data_in,当读信号read_from_fifo拉高且此时fifo不为空时,从fifo中读出数据data_out,write_to_fifo必须拉高数据才能写入,一旦原创 2022-03-18 20:52:30 · 481 阅读 · 0 评论 -
fifo深度计算
最近遇到关于fifo深度计算的知识点,于是想以一个例题来学习学习。题目描述:在一个fifo中,有一个100MHz的写时钟,每100个周期写入80个数据,另外有一个80MHz的读时钟,每个周期读出1个数据,那么fifo的深度应该设置为多大?从题中可以看出,这个fifo为异步的,要计算其最大的深度,首先需要考虑,我们计算的深度应该是fifo读写最繁忙的时间段,即写入数据最容易溢出的点,于是就涉及到back to back的概念.设想fifo在100个周期中,前20个周期不写入数据,随后80个周期写入,原创 2022-03-16 16:08:26 · 842 阅读 · 0 评论 -
【不重叠序列检测-状态机方法实现】
文章目录题目描述解题思路:状态转移图dut和tb代码:波形图题目描述编写一个序列检测模块,检测输入信号(a)是否满足011100序列, 要求以每六个输入为一组,不检测重复序列,例如第一位数据不符合,则不考虑后五位。一直到第七位数据即下一组信号的第一位开始检测。当信号满足该序列,给出指示信号match。当不满足时给出指示信号not_match。上题出自牛客网中,本文简化了题目,即改为检测序列为0110解题思路:不同于常见的序列检测,要求检测重复序列,在画状态转移图时要注意,例如第一位不匹配,不应该返原创 2022-03-15 00:47:43 · 753 阅读 · 0 评论 -
IC笔试常见问题
文章目录什么是建立时间与保持时间?什么是竞争和冒险什么是亚稳态摩尔状态机和米勒状态机的区别什么是建立时间与保持时间?建立时间(Setup Time)是指触发器的时钟信号上升沿到来以前,数据能够保持稳定不变的时间。输入数据信号应提前时钟上升沿(如上升沿有效)T 时间到达芯片,这个 T 就是建立时间通常所说的 SetupTime。如不满足 Setup Time,这个数据就不能被这一时钟打入触发器。保持时间(Hold Time)是指触发器的时钟信号上升沿到来以后,数据保持稳定不变的时间。如果 Hold Tim原创 2022-03-08 14:20:42 · 323 阅读 · 0 评论 -
IC笔试错题总结
本文汇总了一些平时自己刷题时易错及不会做的题,以便自己随时复习回顾。reg signed [0:4] b, b=8'h8f,赋值后b等于?答案: 5‘h0F对于长位宽赋值给短位宽的情况,无论左或右操作数是有符号或者无符号数,都是直接截断高位。一个D触发器,其数据Tsu=2ns,Tcq=3ns,Thd=1ns, 则此触发器最高工作频率为?(Tsu为时钟建立时间,Thd为保存数据,Tcq为输出时钟的延迟)答案: 应该为200MHzTmin =Tcq+Tsu+Tgate-Tskew=2+3=5原创 2022-03-02 16:47:55 · 1497 阅读 · 1 评论