兆易创新2022数字芯片笔试题

2023-11-09 11:59

本文主要是介绍兆易创新2022数字芯片笔试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、如下图assertion,请问图示波型哪个周期可以判定success?

 如图所示,本条断言的意思大体是,EN信号高电平有效,等到A上升沿的时候,其前一个周期(~B)成立,等待0个周期,(B&&~C)成立,等待1个周期,D为1的过程中,(B&&C)语句一直成立,等待1个周期,B成立。

具体语法可点击下面链接:

systemVerilog Assertion (SVA)断言语法_TroubleMaker-CSDN博客

3、信号a是一个变化频率1MHz的无限序列,使用verilog实现,检查并计数序列中1110110的个数。

可以用状态机来实现,但是使用移位寄存器更加简便,具体代码如下:

module seq(input wire clk,input wire rstn,input wire a,output wire [15:0] number
);
parameter N = 7'b1110110;
reg [15:0]cnt;
reg[6:0] shift_data;
always @(posedge clk or negedge rstn)if(!rstn)shift_data<=1'd0;else shift_data<={shift_data[5:0],a};
always @(posedge clk or negedge rstn)if(!rstn)cnt<=1'd0;else if(N == shift_data)cnt<=cnt+1'd1;
assign number = cnt;
endmodule 

tb文件:

`timescale 1ns/1ns
`define clk_period 20
module seq_tb;
reg clk;
reg rstn;
reg a;
wire [15:0] number;
initial beginclk=1'd0;rstn=1'd0;a=1'd0;#20;rstn=1'd1;cr;tr;#1000;$stop;
end
task cr;integer i;for(i = 0;i <5 ; i = i+1)begin@(posedge clk);a = i[0];end
endtask
task tr;
integer i;for(i = 0;i <5 ; i = i+1)begin@(posedge clk);a = 1'b1;@(posedge clk);a = 1'b1;@(posedge clk);a = 1'b1;@(posedge clk);a = 1'b1;@(posedge clk);a = 1'b0;@(posedge clk);a = 1'b1;@(posedge clk);a = 1'b1;@(posedge clk);a = 1'b0;end
endtask
always #10 clk = ~clk;
seq seq(.clk  ( clk  ),.rstn ( rstn ),.a    ( a    ),.number  ( number  )
);
endmodule 

4、用verilog实现按键消抖电路,输入时钟频率为50MHz,按键信号a低于设定宽度(由cnt_cfg配置:00b表示5ms,01b表示10ms,10b表示15ms,11b表示20ms)时,表示该信号是抖动。

思路:

我们可以这样来实现,当检测到边沿的时候,计数器清零,没有边沿的时候,计数器加1,输入信号持续到cnt_cfg的时候,则认为输入有效

module fit(input wire clk,//50MHzinput wire rstn,input wire a,input wire [1:0] cnt_cfg,output wire o
);
reg [19:0] N;
reg [19:0] cnt;
reg a_r1,a_r2,a_r3,a_r4;
wire pose_flag,nege_flag;
reg cout;
//lut
always @(posedge clk or negedge rstn)if(!rstn)N<=1d'0;else begincase(cnt_cfg)2'b00:N<=19'd249999;2'b01:N<=19'd499999;2'b10:N<=19'd749999;2'b11:N<=19'd999999;endcaseend
//两级D触发器同步
always @(posedge clk or negedge rstn)if(!rstn){a_r1,a_r2}<=2'd0;else    {a_r1,a_r2}<={a,a_r1};
//边沿检测
always @(posedge clk or negedge rstn)if(!rstn){a_r3,a_r4}<=2'd0;else    {a_r3,a_r4}<={a_r2,a_r3};
assign pose_flag = a_r3 && (~a_r4);
assign nege_flag = (~a_r3) && a_r4;
//计数器
always @(posedge clk or negedge rstn)if(!rstn)cnt<=1'd0;else if(pose_flag | nege_flag)cnt<=1'd0;else if(cnt == N)cnt<=1'd0;else cnt<=cnt+1'd1;
//输出
always @(posedge clk or negedge rstn)if(!rstn)cout<=1'd0;else if(cnt == N)cout<=1'd1;else cout<=1'd0;
assign  o = cout;
endmodule 

这篇关于兆易创新2022数字芯片笔试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/375930

相关文章

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

【秋招笔试】9.07米哈游秋招改编题-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集 100+ 套笔试题,笔试真题 会在第一时间跟新 🍄 题面描述等均已改编,如果和你笔试题看到的题面描述

AIGC6: 走进腾讯数字盛会

图中是一个程序员,去参加一个技术盛会。AI大潮下,五颜六色,各种不确定。 背景 AI对各行各业的冲击越来越大,身处职场的我也能清晰的感受到。 我所在的行业为全球客服外包行业。 业务模式为: 为国际跨境公司提供不同地区不同语言的客服外包解决方案,除了人力,还有软件系统。 软件系统主要是提供了客服跟客人的渠道沟通和工单管理,内部管理跟甲方的合同对接,绩效评估,BI数据透视。 客服跟客人

NC 把数字翻译成字符串

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 描述 有一种将字母编码成数字的方式:‘a’->1, ‘b->2’, … , ‘z->26’。 现在给一串数字,返回有多少种可能的译码结果 import java.u

34465A-61/2 数字万用表(六位半)

34465A-61/2 数字万用表(六位半) 文章目录 34465A-61/2 数字万用表(六位半)前言一、测DC/AC电压二、测DC/AC电流四、测电阻五、测电容六、测二极管七、保存截图流程 前言 1、6位半数字万用表通常具有200,000个计数器,可以显示最大为199999的数值。相比普通数字万用表,6位半万用表具有更高的测量分辨率和更高的测量准确度,适用于精度比较高的测

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密

超级 密码加密 解密 源码,支持表情,符号,数字,字母,加密 可以将表情,动物,水果,表情,手势,猫语,兽语,狗语,爱语,符号,数字,字母,加密和解密 可以将文字、字母、数字、代码、标点符号等内容转换成新的文字形式,通过简单的文字以不同的排列顺序来表达不同的内容 源码截图: https://www.httple.net/152649.html

两道笔试题

“char a='\72'”是什么意思? 这么理解:\为转义字符,\072转义为一个八进制数072,也就是十进制数的58买一送一,将转义字符对照表也一并贴给你吧:转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 009 \v 垂直制表(VT

两个长数字相加

1.编程题目 题目:要实现两个百位长的数字直接相加 分析:因为数字太长所以无法直接相加,所以采用按位相加,然后组装的方式。(注意进位) 2.编程实现 package com.sino.daily.code_2019_6_29;import org.apache.commons.lang3.StringUtils;/*** create by 2019-06-29 19:03** @autho