IC/FPGA笔试题分析(六)用16bit加法器IP核实现8bit乘法运算(文末彩蛋)
本来突发奇想,想建立一个群来召集各路同行加入,共同讨论数字IC以及FPGA方向的笔试,面试题目,效果比想象中的要好,大家气氛很好,踊跃发言,大胆讨论,解决了很多有意思的问题,这里挑出两个题目来记录一下,个人感觉写的很好:
题目是:
本身快被遗忘了的一个题目,被大家的讨论掩盖过去了,可是好题终究还是会被发现,这位大哥就单独告诉我并给出了自己的思路,十分感谢,领教了。
module mul8bits(input clk,input rst_n,input [7:0] a,input [7:0] b,output reg [15:0] result);reg [15:0] areg;reg [15:0] temp;reg [3:0] cnt;always@(posedge clk or negedge rst_n)beginif(~rst_n) beginareg <= {8{1'b0}, a};temp <= 16'd0;cnt <= 4'd0;result <= 16'd0;endelse if(cnt <= 7) begincnt <= cnt + 1;areg <= areg <<1;if(b[cnt]) begintemp <= temp + areg;else temp <= temp;endendelse begincnt <= cnt;areg <= {8{1'b0},a};result <= temp;endendendmodule
上面的Verilog设计中,没有用到IP核,加入有一个IP核的例化模板为:
add16 inst_add16(
.in1(), //16bit
.in2(), //16bit
.sout(), //16bit
.cout() //1bit进位);
当然还必须要求这个IP核必须在一个时钟内完成,是一个组合逻辑,且组合逻辑延迟不能大于一个时钟周期。
那么我们可以更改设计为:
module mul8bits(input clk,input rst_n,input [7:0] a,input [7:0] b,output reg [15:0] result);reg [15:0] areg;reg [15:0] temp;reg [3:0] cnt;always@(posedge clk or negedge rst_n)beginif(~rst_n) beginareg <= {8{1'b0}, a};temp <= 16'd0;cnt <= 4'd0;result <= 16'd0;endelse if(cnt <= 7) begincnt <= cnt + 1;areg <= areg <<1;if(b[cnt]) temp <= temp_w; //调用IP核else temp <= temp;endelse begincnt <= cnt;areg <= {8{1'b0},a};result <= temp;endendwire [15:0] temp_w;add16 inst_add16(.in1(temp),.in2(areg),.sout(temp_w),.cout());endmodule
本想,自己写一个超前进位加法器来代替这个IP核的,后面再写吧,很晚了。
https://blog.csdn.net/Reborn_Lee/article/details/99634895
再给出一个仿真相关的题目:
题目翻译过来就是:
在Verilog中设计模块以满足以下要求。
(1)频率为100MHz的时钟
(2)对时钟敏感的4位宽信号,限制该信号在8到15的范围内随机化16次。
之后也是提问者自己给出的答案,真是提问能激发人的思考呀:
我给出完整代码:
`timescale 1ns/1ps
module random1();
reg clk;
reg [3:0] out_rand;initial beginclk = 0;forever #5 clk = ~clk;
end//always begin
// #5 clk = ~clk;
//endinteger i;initial beginfor(i = 0;i < 16; i = i + 1) begin@(posedge clk) beginout_rand = 4'b1000+ {$random}%8;endendend
endmodule
OK,谢谢各位。
最后还是要邀请更多的同行加入这个IC前端/FPGA笔试面试交流群,加我微信,拉你进群:ljs521615
见链接:
一年一度的校招又来了一段时间了,突然发现,一个人的力量是有限的,面对很多笔试,面试中的很多问题,也许会感到很无助,于是决定建立一个群,专门用来分享,讨论笔试面试题目。 现诚邀路过的同行加入,共同奋斗,互帮互助。
IC/FPGA笔试题分析(六)用16bit加法器IP核实现8bit乘法运算(文末彩蛋)相关推荐
- IC/FPGA笔试题分析(五)
下一个笔试题是华为,虽然只有单选和多选,但还是需要准备一下: 这是一个电路中的某一条关键路径,或者是一个单独的设计,都可以去求其最高频率. 考虑到有时钟抖动等许多情况,所以此电路的最小周期应该为: T ...
- FPGA校招笔试题分析
仅仅给出下面一个电路图,让你画出Q1,Q2以及Q3的波形,并描述电路功能 第一个触发器的输入是第二个以及第三个触发器的输出的反馈,是Q1与Q2的或非:实际上就是同步三分频电路: 只要触发器复位有初值即 ...
- IC/FPGA大疆笔试题分析(预分析)
上午刚参加完一场面试,晚上又有大疆的FPGA笔试题要做,下午临时磨刀,找点往年的笔试题练练手: 1 如果只使用2选1mux完成异或逻辑,至少需要几个mux? 这类问题,我在以前的博客中练习过:http ...
- 数字IC设计笔试题汇总(二)
数字IC设计笔试题汇总(二) 快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考 1. 在边沿敏感的时序逻辑代码中使用(A)赋值,会导致综合前与综合后仿真结果不一致. A . 阻 ...
- FPGA笔试题知识点汇总(41~60)
FPGA笔试题知识点汇总 第三章 FPGA笔试题知识点汇总(41~60) 文章目录 FPGA笔试题知识点汇总 前言 一.题目及解析? 1.IC设计过程中将寄生效应的怎样反馈影响设计师的设计方案?(寄生 ...
- python招聘笔试题_滴滴2020年春招笔试题分析(Python)
数据背景来自:优梨:滴滴2020年春招Sql笔试题分析zhuanlan.zhihu.com 这里就不再重复了,主要描述如何使用python数据清洗 问题: 1.订单的平均应答率是多少?完单率是多少? ...
- 2014.3.29阿里巴巴暑期实习笔试题分析
參考:http://blog.csdn.net/iloveyoujelly/article/details/22941531 以下中的[分析]是我给出的. 2014.3.29阿里巴巴暑期实习笔试题分析 ...
- 乐飞天下python笔试题_滴滴2020年春招笔试题分析(Python)
数据背景来自:优梨:滴滴2020年春招Sql笔试题分析zhuanlan.zhihu.com 这里就不再重复了,主要描述如何使用python数据清洗 问题: 1.订单的平均应答率是多少?完单率是多少? ...
- 数字IC设计笔试题汇总(一)
数字IC设计笔试题汇总(一) 快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考 1. 用100MHz的时钟A去采样200MHz的时钟B(与A无关)产生的8bit信号是同步采样还 ...
最新文章
- 密切值matlab程序,密切值法
- 20条Linux命令面试问答
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1055:判断闰年
- 解决针对ubuntu11.04安装中文包后不能正常查看或使用pdf和Archiver的问题
- shell脚本命令set
- 有趣又有用的皮托定理!
- jzoj3833-平坦的折线【模型转换,LIS】
- VMware vCenter Converter 关闭SSL加密,提高35-40%性能
- 寄存器位域、位操作等示例
- 前端开发从入门到进阶完全指南,不用再迷茫前端要怎么学啦!
- python多继承顺序及分配,python多继承的查找顺序是什么?
- 机器学习(7)——Logistic回归(从疝气病症预测病马的死亡率)
- emule学习与分析二 上 建立连接过程分析
- 2021年安全员-B证-项目负责人(广东省)考试题及安全员-B证-项目负责人(广东省)考试总结
- mysql flush tables_MySQL 清理缓存—flush tablesFlush tables的影响
- word插入图片之后只显示一部分的解决方法
- 如何知道一个App的包名
- 在哪个范围内的计算机网络可以称为局域网,计算机网络概述 习题
- java中图标_java中图标按钮
- 驱动程序开发:基于ICM20608六轴传感器 --- 使用Regmap API 的 SPI 读取数据 之 IIO驱动
热门文章
- UITextField 详解
- 创业者周鸿祎前传(西安交大时期)
- 提取网页中的超级链接
- 日记 [2008年01月21日]
- php 当地天气预报,PHP实现采集中国天气网未来7天天气
- python下载不下来_Python不能下载zip文件,而Browser/Selenium可以下载,这是为什么?...
- 计算机考试单招考试面试,最新单招考试面试自我介绍范文
- jsp员工管理系统mysql_简单的员工管理系统(Mysql+jdbc+Servlet+JSP)
- java 之 异常
- 计算机网络邮件客户编程,北京理工大学-计算机网络实践-实验4POP3邮件客户程序.docx...