老莫

数字集成电路与系统设计的寒假作业

3
阅读(22222)

现在已经进入寒假阶段了,各位学生朋友们应该都已经回家或者在回家的路上了。也有少量的同学们还可能留在学校准备一些类似于“美国数学建模大赛”之类的竞赛事宜。总的来说放假是好事,辛苦了一个学期,应该抽时间放松放松。

不过对于大学老师来说,放假只是变换了一种新的工作模式。寒假尤其如此。因为开春就有大量的项目申报需要提交,而寒假就是加班加点写申报书的时间。今年由于四川省外办的政策限制,我就不能去开ISSCC了,所以这次就不能及时播报ISSCC2017年的一些成果。今年寒假也就只能窝在家里写申报书之类的了。

搞了一学期的MooC要结束了,此次MooC应该是经验收获很多,教训也不少。算是掌握了MooC的正确玩法:对于一个约束力比课堂还低的网络课程,考核应该尽量简单化。也就是说设计题要少出,选择填空判断对错要多出。以介绍概念、理清思路为主要,而知识传授是不现实的。所以想通过MooC来学习的同学也要注意了。免费的MooC是基本起的作用也就仅限于此了,要想从零起步学到东西还得去收费MooC。一个是交了钱自己肉疼,对自己学习有督促作用。另外就是收了钱一般就会有人在线专人辅导了,除了能及时解惑以外也是督促。

说到MooC,我自己出了那么多优秀的题目居然都没有做,想想还是很可惜的。这些题目很多还是比较巧妙的,相比于很多什么计数器、流水灯之类的有趣多了。这些题的难度也是略高于计数器之类的,完全可以作为一种“过渡练习”来提升刚刚学习完相关课程同学的水平。干脆在此一并放出,就当时给想学习数字集成电路与系统设计的同学们的寒假作业吧。当然,做不做随你,我也不负责改。


问题1:

依次随机输入位宽为8-bit的n个数据,当输入数据为0时表示输入结束。要求输入结束后输出这n个数据中的最大值。要求以尽量少的逻辑资源实现这一电路。


问题2:

依次随机输入A到Z的任意字母,字母以ASII码表示。按顺序保存HELLO这5个字母到5个输出寄存器中。设计1bit信号标识是否已成功保存字母。要求以尽量少的逻辑资源实现这一电路。


问题3

设计一个8计数器,按进3退1->进4退2->进5退3->进6退4的四种模式循环计数,计数序列的例子如下:

1、2、3、2、3、4、5、6、5、4、5、6、7、8、9、8、7、6、7、8、9、10、11、12、11、10、9、8……

要求以尽量少的逻辑资源实现这一电路


问题4:

已知费波那契数列满足:

F0=0

F1=1

Fn=Fn-1+Fn-2

请以最少的逻辑资源设计一个能按顺序循环输出0到1000以内费波那契数的数字电路,并用Verilog HDL描述这一电路。要求给出设计思路、架构框图以及实现代码。代码需要基本的注释。


问题5:

已知某IIR型数字滤波器可以被写成以下的差分方程:

y[n]=d*y[n-1]+p0*x[n]+p1*x[n-1]

1.请画出该滤波器的信号流图

2.请画出改滤波器的实现框图

3.假设输入信号x的数据位宽为8-bit,滤波器系数p0、p1、d的位宽均为6-bit,输出y的位宽为10bit。请用合理的Verilog-HDL代码描述这一滤波器电路。


问题6:

随机串行输入的的码流中包含1101、1011两个4-bit关键字段,当检测到1101字段8个时钟周期内检测到1011字段,则输出y=1,表示输出告警信号。例如输入串行序列01001101010101011……,其中中1101和1011两个字段仅间隔5个时钟周期,满足y=1的条件。若不满足条件则重新开始检测1101字段。

要求设计一个检测电路,实现以上字段检测和告警功能。要求给出设计思路、架构框图以及实现代码。代码需要基本的注释。


问题7:

依次输入N(N小于等于20)个8bit位宽的无符号正整数数据串,当输入为0时表示当前数据输入完毕(最后输入的0不计入这N个数之内),求当前输入的这N个数据的平均值。保留小数点后3位。

要求设计一个电路,实现以上功能。要求给出设计思路、架构框图以及实现代码。代码需要基本的注释。


大概就是这些,大家下去自己做吧。


不过就不要在这来讨论答案了,这些题我还想多用几年呢。O(∩_∩)O哈哈~