模拟与数字电路实验(卢建良) 2018秋 2017秋 2016秋 2015秋 2014秋  课程号:01115201
2018秋 2017秋 2016秋 2015秋 2014秋  课程号:01115201
5.8(23人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
选课类别:计划 教学类型:实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:学科群 学分:1
课程主页:暂无(如果你知道,劳烦告诉我们!)
点评 写点评
124万岁 2016秋

体现了计科的特点:自学。

老师提供了辅导书和各种参考资料,在实验的过程中基本靠自己看,编写代码,以及在一遍一遍的错误和调试中学习Verilog。这个实验会用去每周2个小时到1天不等的时间。最后的大作业在两周内完成,我用了5天(全部学习时间用来编程),没有用外设,做出了一个用户界面不怎么友好的游戏,目测给分还算不错。所以感觉外设只是一种表达的途径,不是关键所在,设计的系统的核心代码逻辑复杂清晰,完整可用的话使用外设可以锦上添花,但如果做一个比较无聊的东西或者简单的小游戏,加个蜂鸣器也起不到雪中送炭的作用。

希望这门课在之后能提供更明确的要求,有几次实验总是在纠结老师的要求到底是什么。。。。

最后的大作业的话,建议使用做一些有新意的东西,外设能用最好,用不了(或者懒得学。。。)就用心完善设计,提升逻辑复杂性,也可以拿到不错的分数。

另外感谢前几届的学长,没有你们的经历和反馈这门课可能会比现在坑很多。现在有了教材和助教,完善多了。

2016-12-06 15:21 5 0
taoky 2018秋

看到同学来点评这门课了,所以我也来写点东西……评分在分数出来之后可能会修改。已修改

这门课大概就是使用 Verilog 语言在 Vivado 中写“代码”,刷 FPGA 开发板,实现功能。今年的实验手册应该和之前不一样,是直接用的 Xilinx 的大学教学手册。不得不说,这个手册的编排极不上心,一堆 typo 和一些奇怪的小问题。助教会在实验前发中文翻译版本,但是实话讲,这个“中文翻译”不仅原样继承了英文版的错误,还添加了一些新的 typo……

FPGA 开发板本身其实还不错,但是 Vivado 坑还不少。我用的 Mac,Vivado 没有 Mac 版本,所以我开了一个 Linux 虚拟机装 Vivado,在这一个学期中,感觉自己发现了不少 bug,比如说——Vivado 的项目文件不能放在 VMWare 的共享文件夹中,不然不能仿真,之类的。

另外 Vivado 的行为级建模疑似有坑:一个控制七段数码管分时复用的代码,用行为级写的时候发现时钟频率高 && 两个数码管靠得近的时候不正常,但是用数据流写就没问题了。但是之后没有遇到类似的问题。

每次实验的时候对不少同学(估计还包括助教)来讲都是不眠之夜,其实非常建议提前做完,可以省下不少事情,毕竟你不知道写代码,合成,实现,生成比特流和烧板子的时候到底会出什么幺蛾子——而且这一套流程还很

给以后学这门课的同学一些学习建议:

  1. 牢记你用 Verilog 写的东西是电路,不是顺序执行的代码。
  2. 重视 Vivado 在合成、实现、生成比特流的时候给你的警告和严重警告。把所有的严重警告解决,并且弄清楚每个警告是什么意思非常重要——比如,有的时候,Vivado 在合成的时候会给你做一点“优化”,但你不一定会想要这样的优化(其实很多时候这代表你的代码有点问题)
  3. 对了,仿真很重要。能通过仿真的代码不一定是正确的,但是通不过仿真的代码一定是错误的。遇到问题的时候手写一下 tb,可以省不少事。

我最后大作业做的是 2048,加上了四首 BGM。感觉还行。

PS:心疼助教,每次实验都会碰到各种 expected 和 unexpected 的问题。

---

(2019/2/21 更新) 成绩竟然还能撤回,然后今天惊闻自己降了一档。

(╯‵□′)╯︵┻━┻

2018-12-19 22:38 4 0
TheLitFire 2018秋

院必修课,给一分是因为:

原来给了六分,我写了总共得有好几万字的实验报告好好搞,一开始98总评,忽然还说要改总评!??98给我改到91??我去你马勒戈壁的吧!

正态分布个锤子,说的不好听点,凭什么要让我被正态分布?我写的多还是我的错了?

一学分的实验,可以直接占掉你前一天的准备+一个下午课上+一个晚上报告的时间。如果你选择不提前做一下该周的实验,那么你极大可能会做不完。

其次,实验有英文原版指导书和助教翻译的中文版。建议是有能力就直接看英文版,因为中文翻译偶尔会XXX(比如会把GreyCode格雷码翻译成灰码QwQ)。即使是英文原版,有一个状态机实验的要求也是前后矛盾,套波形图画的“序列检测器”跟模数电路课上讲的分析方法根本划不到一起去。

最重要的一点是,你可以说是刚学会1+1=2就要算本科大多变量微积分期末考了。用verilog在vivado编程的时候疯狂报错、出奇怪的warning、FPGA就是不出你这个功能。。。。。。。最可怕的时候你根本不知道为什么这么写代码就会出bug、换成这样看起来没什么变化的语句就没有bug了(甚至连老师和助教大多时候都帮不了你),根本上讲就是模数电路课上讲的那点verilog语法根本就不够体系,你要是有本和c primer plus那样的verilog的书,再给你一门课来从底向上教给你这句verilog语句在底层是拥有什么样的行为,会生成什么样的电路。。。。保你一遍写完直接跑板子0 error。

tip0:给分是随机的,放松心态,不必紧张

tip1:提前看实验!提前看实验!提前看实验!最好的是提前把几个实验先做做试试!

tip1.1:实验报告请千万要认认真真写,表示你的认真态度(某助教跟我讲的,这个占分应该比较重)

tip2:不要忽视任何一个systhesis和implementation的warnings!任何一个!哪个warning都要找到出处,确定这个是有问题的还是没有问题的,百度看看,改一改。一个建议是多用数据选择器,少写always(玄学警告)。(某一次写计时器的,我从中午一点写到下午六点半,七点助教验收完,就开始给别人debug,直到九点从实验室才出来,饭都没吃)

tip3:大作业,涉及稍微复杂的逻辑,多用时序,少用组合,多用摩尔,少用米利。做之前基本通篇看一下参考手册之类的内容。参阅diginilentinic(是这么拼么我忘了板子上有这个公司的网址自己找就行)

tip4:卢老师给的“参考代码(bug)”,直接无视,看都不要看。

tip5:下面贴一下我的本学期实验代码和报告,vivado2018.2版本。(

(想了想还是不贴链接了,认识我的学弟学妹来找我要好了,给不给就看我心情了嘿嘿嘿

2018-12-17 21:02 4 4
silence 2017秋

上面基本把该说的都说了。我在这补充一点:

给大家提一个醒,实验报告要认真写,占20%。

我有个同学大作业和我做的基本一样(VGA做的一个八数码拼图游戏),实现方法、代码什么的互相都有交流,大作业得分大概都在18分+,前面的实验也都是按时完成的,但是我们的总评差距很大。唯一的解释就是实验报告的问题了。

另外,我室友ls大佬期末做的比较水,是一个用数码管显示的小游戏,貌似只有15分。但是实验报告写的很认真,总评上了90。

如此看来,实验报告改的应该很严,而且分差拉的很大。

而且据说大实验不同助教的评分尺度不同。有的助教表示到他那检查的几乎个个都有VGA,没有VGA分就很低。而且,外设可以用来吓唬人。比如,如果你是信院转来的而且学过电设的话,把一个单片机连到板子上就可以起很大的震慑作用(但是可能你的单片机实际上没起什么重要的作用)。键盘鼠标什么的就更不用说了。要让助教觉得你的结构足够复杂,而且实现起来颇有难度。

 

这门课让我体会到一个道理:板子是永远不会出问题的,Vivado是永远不会出问题的(虽然综合、生成速度极慢),只有自己,永远都会出问题!

 

Tips:ISE和Vivado其实都是有调试功能的。不要觉得仿真太麻烦就不做,实际上仿真可以解决大部分的bug。波形图可以反映出绝大多数的问题。另外,每一个Warning都不要放过。有可能哪个地方你少连一条线,warning里就会以“某个端口连接数不正确”的形式告诉你。

2018-06-20 22:08 3 0
NIcecream 2018秋

给分厚道。期末成绩不对,跟老师说了一声,提了 47 分。

2019-02-12 23:50 2 0
mbinary 2017秋

这门课几乎是自己学的, 而且好的资料也很难找

硬件编程最差的体验就是debug了,体验极差,速度太慢

很遗憾,这门课没有激发我对硬件编程的兴趣

前几次实验很简单,后两次就比较难,

可以说是教了加减法,就要做微积分了

2017-12-06 21:40 2 1
leaves 2018秋

专门为这门课注册账号来点评一下。

课程相关的其他同学说得很全面了,我就来吐槽吐槽给分。

其他课程开学就说清楚总评怎么评,哪些方面占百分之多少,这门课呢,没有,到期末都不知道如何评分。

没有就没有吧,我按着你说的做,期末总不会差吧?课程群里上传一个实验报告模板,只有“目的”、“截图”和“总结”三大块,每次实验要求也只要求检查代码截图,这要做什么还不明显嘛。结果期末被这平时实验报告拖后腿了,看来要写出“自己的东西”是常识吧。

最后期末给分85,过完年撤回二次给分89,我觉得是下调了平时实验报告占比,其一,我平时检查满分,大作业18,分数提高多半是低分占比减少了;其二,毕竟平时实验和大作业大家相差不大,只有认没认真对待平时实验报告这方面会造成70+和90+两极分化,这一调整都往80+靠拢了。

所以,平时扣一两分,大作业水点没问题,平时实验报告必须好好写。(怨念)

 

2019-02-13 19:30 1 0

继大雾实验之后成为可以日常吐槽的实验课!给分真的很差……建议学弟学妹从第一次实验课开始就每次按时交……我就说为什么那么多学长学姐重修一门一学分实验课的

2019-02-01 13:43 1 0
Lotdhh 2017秋

快要开始上课的时候才说板子不够,早先几个月都不知到去干嘛,最后两个人共用板子,最后大作业两个人都要用板子挺麻烦的。不过我们这一届开始有新的板子用,据说是老师他们自己焊的,只有二十多个试用名额,试用这个板子可以自己独享这个板子,当时怕有坑就没申请。

老师上课时给的指导很少,第一第二次课会介绍ise怎么用,但是讲得好快,我跟我的合作者都没听懂就过了,第二次课讲怎么通过画电路图设计电路,结果张俊霞老师搞半天没搞懂怎么弄总线。

ise问题比较多,偶尔会随机出现一些无法理解的bug,重新运行可能解决,到了写组成原理实验的时候,不知到是项目变大了还是什么,每次仿真都会出问题,基本都是通过在测试文件加几个空格然后保存再重新仿真来解决的。有同学用iverilog+GTK代替ise,我用过一次就没用过了。

verilog语法基本都是自己学,在模拟和数字电路这门课上会简单介绍一些语言的概念,后面抽一晚上的时间把老师发的一本入门教程看完后才算写得比较顺手。

最后大作业写了像素风格的Flippy Bird游戏,写主要逻辑的时候写得特别顺手,一两个晚上就基本完成了,但是后面还是花了好几天想用fpga里面的flash存进一些图像,但是死活没弄成。彻底放弃这个想法后想使用鼠标控制游戏,但是我拿的板子是nexys 2,没有USB接口,得要弄转接头,听说这玩意兼容性不是很好就放弃了。

最后总评92.

2018-06-19 16:31 1 0
peining 2016秋

计院必修课没啥可说的。

其实难度还是比较大的,主要是Verilog 对debug 很不友好,有时候一点点小错误几个小时就是发现不了。

课程时间教务系统上写一个下午,其实晚上也可以做,不过主要还是要提前完成,很多部分还是要靠自学或者问同学,实验指南不太靠谱,不过已经不错了。

助教有4个,都很负责,但是其实还是太少了,我印象中很少能在debug的时候得到助教的帮助。如果这课要效率高的话,助教大概要配到像大雾实验那样(不太可能)。

最后的大作业是自由发挥,实际上对于不加外设或者加的少的同学不太友好,助教给分大概也是按照实现难度来判断的。

张老师比较和蔼,卢老师比较凶,嗯就这样。

2016-12-26 21:18 1 0

@runday 的评价有些片面。老师和助教对问题解释确实有些不到位,但是直接问数字电路老师就比较好。数字电路的教材里讲Verilog讲的很明白,而且Verilog本身语法也不是很复杂,我们的要求就是会用,也不需要探究语法的细节。不理解什么叫“他给的完全不能用”,那个软件用起来还好,win8以上系统也有解决办法。第一次接触七段数码管的时候,难度跨度确实有点大,时间少弄不完,但是其他实验代码都不过十行二十行。怕迟交为什么不提前做?况且大部分实验上课时间足够弄完。板子坏了又是什么情况?完全不能理解。我和我认识的同学板子没一个有问题的。板子不够用我也不能理解,这个板子下学期都是用来做CPU的,你有什么复杂的程序能用尽板子里的逻辑门?最后成绩95。

2016-02-02 17:44 1 1
runday 2014秋

这一年态度不好,对问题的解释不到位,还经常让同学去百度,要求又严格。这门课设计得非常不科学,没有任何的参考书,网上也很难找到代码参考,实验开始后才让我们配置quartusII,而且他给的完全不能用!网上很难找到破解。实验做到一半换成xilinx时都要期末了,而且xilinx不兼容win8,要么完全用不了,要么经常出问题坑你。实验花的时间很多,只靠上课时间绝对弄不完,每迟交一周扣一次分。quartusII用的板子也是经常坏了修的,完全正常的板子可能一台都没有,做复杂一点的实验板子就不够用了。最后成绩67

2015-07-07 17:27 1 2
rafaelirving 2018秋

给分不是杀手是玄学手 一同学一开始70被提到82,另一同学95被拉到84,这调分技术就和ljl老师的参考代码一样让人捉摸不透 建议学习的同学一定要从网上去多搜一下verilog的相关语法,懂了之后就会发现课程也不是很难,要是完全跟着ljl老师走,那怕是要凉透了 另外debug的时候心态要平和,否则可能气死在机房了

2019-02-13 11:56 0 0
Self-Exile 2018秋

什么煞笔课程 煞笔给分

总评先给了95 又撤回降到89??  原来85的还有提到89的??   玄学给分 玄学调比例

分数是不是老师说怎么给就怎么给??这就是妮可对学生负责?分数全靠运气??

还学个毛线,我不如直接退学

2019-02-12 12:46 0 7
icepear 2018秋

感觉好好写实验报告,水水地做实验比水水地写实验报告,好好做实验给分高,这种课没法按照实力给分的,玄学。

2019-02-07 10:30 0 0
Kelley 2018秋

反正也没得选,给一些建议吧:

1.最好找张俊霞老师debug,姿势水平高且态度非常友好。

2.实验报告一定要认真写,心得体会之类的多凑字数,凑一两次以后按自己套路写起来就快了。出分以后普遍反映是给分差吧,我实验报告每次600字+,其他方面大家也都差不多,最后91,感觉给分还OK。

3.写代码建议先自己思考或者跟别人讨论交流,直接抄卢建良老师给的参考代码是不可取的(很可能死都不知道怎么死的)。

4.工欲善其事,必先利其器。vivado里写verilog建议先配置好舒服的编辑器(方法自行google,Notepad++和Sublime text都挺好),高效又美观。

2019-02-04 11:51 0 0
daiaqswde 2017秋

课程很麻烦,每周都是噩梦。 期末的大作业可能是占比很大的,实验报告估计会有意想不到的占比。

2019-02-01 12:53 0 0
printk 2018秋

拔苗助长的FPGA体验,懵逼的不行的综合实现

综合时会出现各种玄学,大抵是因为Verilog本来是一门用于仿真的语言最后却拿来做综合,导致诸多边角情况,生成奇怪的电路……

(也许应该自己看看开源的Verilog实现吧,比如yosys?)

最后肝了一星期,看了一遍AXI总线的手册,调了EthernetLite模块,做了个用Phy发送以太网帧的Demo,受益匪浅。

2019-01-11 18:14 0 0
ihtaqua 2017秋

这门课最大的特点就是自学,事先不做准备,只在实验开始前听老师讲两句,基本上一下午是做不完的,遇到奇怪的问题也别指望助教一下能帮你解决。一般是周三晚上才有下一个实验的ppt,而周四下午就做实验了。我都选择晚上尽量直接做好,然后下午检查完了就走。 前几个实验基本就是小学生编程的水准,后面几个稍有些难度。很多时候只是因为对硬件语言不熟悉,才觉得错误很玄学,不要总甩锅给编译器(虽然编译器确实很迷)。似乎最后总评基本看大作业完成情况。 大作业我写了一个类似东方project的一个弹幕射击游戏,素材取自TH14,画风算是少有的非像素风格游戏。 总计花费时间大约是一整周的课余时间,由于老师出借显示屏的时候还在做大雾实验,我就只能到各种机房去用显示屏(主要是少院机房)。虽然不知道给分怎么样,但完成了这样一个相对比较完整的游戏,其实还是很有成就感的ヾ(Ő∀Ő๑)ノ(顺便写verilog锻炼了我的心性) 完成大作业要么花时间精力去学习课外知识,要么想办法在设计上有出彩之处。如果是赶ddl赶出来的大作业就会很水,而且估计一学期啥也没学到(感觉至少有一半的东西是我在做大作业过程中学到的)

2017-12-14 20:48 0 0
随风流年 2016秋

这门课其实就是Verilog写代码,可能最开始接触有点方,但是Verilog学起来并不难(虽然有时候极其玄学。。。。)。前几次作业很简单,一个晚上绝对能弄完,甚至能空出来很久。

不过等到做状态机那一次,建议提前准备,我一般是周五下午检查,然后一般是周四晚上写,那次状态机由于难度陡增,周四晚上在小伙伴帮助下弄到一点多,第二题天上午起来继续仿真,好在下午上课前弄好了。但是还是累得半死。(不过总体来说也就两三次比较难,大部分还是很简单的。。。)

最后的实验大作业是重点,拉差距的地方,大佬就是各种外设,比如贪吃蛇,闹钟,真人CS,弹球游戏,连连看(如果是大佬,可以尝试这些,一般加外设,界面做得好一些就能拿18+)。不过不加外设也不意味得分低,我同学做的电梯比较有新意,也拿了17(无外设)。一般如果是简单的游戏,比如烂大街的打地鼠,一般是12—13。

PS:我做的就是烂大街的打地鼠。。。。不过多加了个存储系统,可以显示每次游戏结束的得分,排名以及历史记录,其实也就是多用了寄存器,排序之类的小知识,最后给了15,希望老师能比较看好我的实验报告,最后给个优秀23333

2017-01-14 23:02 0 0
浮云兔斯基 2016秋

Verilog靠自学。大作业好多用外设的,然而最后助教评分还是看复杂度…如果设计没有新意,外设也没有特别占优势。倒不如做好自己会的那点东西,或者比较有趣的东西,不要为了外设而外设

2016-12-20 10:26 0 0
santa 2016秋

verilog就是门玄学,莫名其妙就报错了,不知道改了哪就又能成功运行。。虽然每次作业都能完成,但还是对verilog半懂不懂。。

吐槽: ①开发板反面是交大校徽,怀疑是交大淘汰了nexy2和3之后低价转让给蜗壳的

2016-12-11 13:15 0 0
eipi10 2015秋

前面的实验平时花时间做就基本没什么问题,最后自己设计的大作业目测只有加外设才能拿高分,本人没加外设,只拿开发板完成,最后一次实验给分也不怎么地。幸好不是做时钟秒表,否则据说时钟秒表做的再好也没有高分。

2016-01-29 22:47 0 0

卢建良

教师主页: 暂无

其他老师的「模拟与数字电路实验」课

徐照林 5.0 (1) 2012秋 2011春...
未知 2016秋

卢建良老师的其他课

模拟与数字电路 8.0 (1) 2014秋
计算机组成原理 2018秋 2017秋
计算机组成原理 2016秋 2015秋