本来突发奇想,想建立一个群来召集各路同行加入,共同讨论数字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乘法运算(文末彩蛋)相关推荐

  1. IC/FPGA笔试题分析(五)

    下一个笔试题是华为,虽然只有单选和多选,但还是需要准备一下: 这是一个电路中的某一条关键路径,或者是一个单独的设计,都可以去求其最高频率. 考虑到有时钟抖动等许多情况,所以此电路的最小周期应该为: T ...

  2. FPGA校招笔试题分析

    仅仅给出下面一个电路图,让你画出Q1,Q2以及Q3的波形,并描述电路功能 第一个触发器的输入是第二个以及第三个触发器的输出的反馈,是Q1与Q2的或非:实际上就是同步三分频电路: 只要触发器复位有初值即 ...

  3. IC/FPGA大疆笔试题分析(预分析)

    上午刚参加完一场面试,晚上又有大疆的FPGA笔试题要做,下午临时磨刀,找点往年的笔试题练练手: 1 如果只使用2选1mux完成异或逻辑,至少需要几个mux? 这类问题,我在以前的博客中练习过:http ...

  4. 数字IC设计笔试题汇总(二)

    数字IC设计笔试题汇总(二) 快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考 1. 在边沿敏感的时序逻辑代码中使用(A)赋值,会导致综合前与综合后仿真结果不一致. A . 阻 ...

  5. FPGA笔试题知识点汇总(41~60)

    FPGA笔试题知识点汇总 第三章 FPGA笔试题知识点汇总(41~60) 文章目录 FPGA笔试题知识点汇总 前言 一.题目及解析? 1.IC设计过程中将寄生效应的怎样反馈影响设计师的设计方案?(寄生 ...

  6. python招聘笔试题_滴滴2020年春招笔试题分析(Python)

    数据背景来自:优梨:滴滴2020年春招Sql笔试题分析​zhuanlan.zhihu.com 这里就不再重复了,主要描述如何使用python数据清洗 问题: 1.订单的平均应答率是多少?完单率是多少? ...

  7. 2014.3.29阿里巴巴暑期实习笔试题分析

    參考:http://blog.csdn.net/iloveyoujelly/article/details/22941531 以下中的[分析]是我给出的. 2014.3.29阿里巴巴暑期实习笔试题分析 ...

  8. 乐飞天下python笔试题_滴滴2020年春招笔试题分析(Python)

    数据背景来自:优梨:滴滴2020年春招Sql笔试题分析​zhuanlan.zhihu.com 这里就不再重复了,主要描述如何使用python数据清洗 问题: 1.订单的平均应答率是多少?完单率是多少? ...

  9. 数字IC设计笔试题汇总(一)

    数字IC设计笔试题汇总(一) 快秋招了,这篇博客记录了一些最近看见的数字IC设计相关的笔试题,仅供参考 1. 用100MHz的时钟A去采样200MHz的时钟B(与A无关)产生的8bit信号是同步采样还 ...

最新文章

  1. 密切值matlab程序,密切值法
  2. 20条Linux命令面试问答
  3. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言—— 1055:判断闰年
  4. 解决针对ubuntu11.04安装中文包后不能正常查看或使用pdf和Archiver的问题
  5. shell脚本命令set
  6. 有趣又有用的皮托定理!
  7. jzoj3833-平坦的折线【模型转换,LIS】
  8. VMware vCenter Converter 关闭SSL加密,提高35-40%性能
  9. 寄存器位域、位操作等示例
  10. 前端开发从入门到进阶完全指南,不用再迷茫前端要怎么学啦!
  11. python多继承顺序及分配,python多继承的查找顺序是什么?
  12. 机器学习(7)——Logistic回归(从疝气病症预测病马的死亡率)
  13. emule学习与分析二 上 建立连接过程分析
  14. 2021年安全员-B证-项目负责人(广东省)考试题及安全员-B证-项目负责人(广东省)考试总结
  15. mysql flush tables_MySQL 清理缓存—flush tablesFlush tables的影响
  16. word插入图片之后只显示一部分的解决方法
  17. 如何知道一个App的包名
  18. 在哪个范围内的计算机网络可以称为局域网,计算机网络概述 习题
  19. java中图标_java中图标按钮
  20. 驱动程序开发:基于ICM20608六轴传感器 --- 使用Regmap API 的 SPI 读取数据 之 IIO驱动

热门文章

  1. UITextField 详解
  2. 创业者周鸿祎前传(西安交大时期)
  3. 提取网页中的超级链接
  4. 日记 [2008年01月21日]
  5. php 当地天气预报,PHP实现采集中国天气网未来7天天气
  6. python下载不下来_Python不能下载zip文件,而Browser/Selenium可以下载,这是为什么?...
  7. 计算机考试单招考试面试,最新单招考试面试自我介绍范文
  8. jsp员工管理系统mysql_简单的员工管理系统(Mysql+jdbc+Servlet+JSP)
  9. java 之 异常
  10. 计算机网络邮件客户编程,北京理工大学-计算机网络实践-实验4POP3邮件客户程序.docx...