作者neoneon (红茶を饮む程度の能力)
看板NCTU-Teacher
标题Fw: [心得] 陈 健 - 数位电路实验
时间Tue Jul 12 00:49:02 2016
※ [本文转录自 neoneon 信箱]
作者:
[email protected] ("爱宕有机奈米负离子猫")
标题: [心得] 陈 健 - 数位电路实验
时间: Sun Jul 10 09:27:37 2016
作者: shaform (回不去的旅程) 看板: NCTU-Teacher
标题: [心得] 陈 健 - 数位电路实验
时间: 2011/07/11 Mon 22:49:37
网志好读版:
http://wp.me/sJ4X-dlab
-----------------------------------------------
⊕课名⊕
数位电路实验
▲教授▲
陈健
★修课年度★(请加注开课单位 如:大三通识、XX系选修、XX所)
99下 资工系大二
£教了什麽£(课程大概内容。或是额外学会了什麽东西。)
这门课是教如何利用 Verilog 硬体描述语言来设计数位电路。
感觉前半段很偏向数位电路设计的部份,一直使用 gate level。
接着主要的主题是 Finite State Machine。
後来上机课开始使用 FPGA ,透过 Verilog 来设计并合成许多游戏类的电路。
最後上课的内容则是 coding style,debug 经验谈,
以及一些 Intel 设计 CPU 的小故事等等。
主要教科书是 M. Morris Mano, Digital Design。
大体上除了最後有一个作业以外,几乎是不会用上。
不过感觉里头的 Verilog 练习题应该能提供不错的训练(写完该作业後的心得)。
参考教科书有数本
Samir Palnitkar, Verilog HDL
Donald Thomas, Philip Moorby, The Verilog Hardware Description Language
J. Bhasker, Verilog HDL Synthesis (A Practical Primer)
我看过的有第一和第三本
第一本是相当不错的 Verilog 教材
第三本有些枯燥,不过看完对合成能有更多了解。
基本上每本书内容都不多,Verilog 语言的语法会用到的部份其实是相当的少。
◆上课方式◆(投影片、团体讨论、老师教学风格)
上课是用投影片教学,一部分是《Digital Design》的投影片,
另一部分据称是据称是 MIT 的讲义。
最後还会另一系列的投影片後来才出现。
助教会在上课时先公布下周要 demo 的作业。
而晚上是上机课,要在下课前 demo 上周派的作业。
Lab 0 是熟悉 Xilinx ISE 软体的使用,只要复制助教的 code 即可。
Lab 1 是熟悉 FPGA 板的使用,它看起来很像一般的网路卡等等,上面有
LED 灯、按钮、还有萤幕、滑鼠、键盘接头。
用上面的开关当作输入,LED 当作输出,实做一个 2-bit decoder。
刚拿到板子真的很兴奋,和跑软体模拟感觉大不同。
Lab 2 是要用 gate level (直接用 and, or, not 等 gates) 来设计一个
4-bit comparator。
Lab 3 是做一个 Stack,和另一班的范例很像。
Lab 4 是用板子的 LED 灯显示各种不同的闪灯,还可以切换速度!
这里一直遇到板子的问题,按钮常常没有反应,一直要换板子,怀疑
怎麽有那麽多坏板子。
到後来的 lab 6 助教提供 ucf 设定档後,才不易再遇到同样问题。
Lab 5 是扑克牌游戏机,抽排比大小,用软体模拟的方式检查是否正确。
Lab 6 则是把 lab 5 小小修改使其可以合成到 FPGA 板上,让两个人能抽牌
比大小。用板上的 LED 灯显示排大小和胜负,用板上的按钮决定是否
抽牌。
其实玩比大小也可以玩得很开心 =w=
Lab 7 是利用板子上的旋钮和 VGA 接头,在萤幕上输出一个可被旋钮控制
的圆圈。
旋钮的输入助教都帮我们写好了,只要直接读取它的值就知道是左转
还是右转。萤幕的输出也是,只要读取就能知道目前的座标,再给该
座标应该输出什麽颜色就行了。
有个同学写了射击 QB 的游戏,在助教群间引起不小骚动 \0.0/
(也是我第一次听闻 QB 的名号 >"<)
(传言指出 QB 也在计网管课程中占有重要地位 = =+)
ref.
http://goo.gl/Aoniz
Lab 8 是 OOXX 游戏,也是透过萤幕输出。这次最主要的主题是如何从 ROM 中读取
圈和叉的图像并输出至正确的位置。
Lab 9 是打砖块游戏。
将之前 labs 所有技巧都用上,总分加倍,很多 bonus 的最後专题。
▼考试作业▼
三次上机考,第一次上机是用 gate level 写,
考你如何把复杂的逻辑化简成容易实做的逻辑。
(会这麽说是因为笔者觉得时间非常短,光打字就很赶了)
第二次上机难度降低,是 State Machine。
第三次上机考的比较久,是用 FPGA 板,考 VGA 的使用,也是写游戏。
除此之外还有纸笔测验期中考。
期中考意外的出了很多算的上是「数位电路设计」那堂课的范畴。
像是 State transition table 等等。
本来有期末考,但取消了。
期末时派了几题 Digital Design 课本的 Verilog 习题,老实说不是很好写,
我几乎花了写打砖块一半的时间才完成。
上课曾经小考过一还两次,还有几次是写建议问题算是点名吧。
¥其他¥(是否注重出席率or严禁迟到?需要的基础?)
有时有外籍生问老师问题後老师就会维持用英语授课一段时间,大家都会心一笑。
偶而有小考或写问题心得不会事先通知。
其他关於数位电路实验的议题可参考:数位电路实验
http://wp.me/s1t0PL-dlab
¢最後想说的话¢
感觉修数位电路设计的时候就顺便玩玩 Xilinx ISE 好像也不错。
在网站上就可以下载了
http://www.xilinx.com/support/download/
其实另一个班的讲义相当值得一看,可惜该课程网站用 Firefox 开不起来
http://goo.gl/qBA6e (一时之间看不出是什麽问题)
这门课要读的东西不多但写作业很花时间。
实做类的课程就是多练习就有进步。
&谁适合修这门课&
都可以喔
--
▄▄▄▄▄▄▄ ▄▄▄▄ ▄▄▄▄▄▄ <telnet://bbs.cs.nctu.edu.tw>
█▄▄▄▄█ █ ▄▄▄▄▄█ Player: shaform
▄█▄▄▄▄█ ▄▄▄█ █▄▄▄▄▄ From: linux1.cs.nctu.edu.tw
☆ 次世代BS2 ☆ 可申请个人板 150MB 相簿
http://pic.bs2.to 交大资讯人 250MB
作者从 linux1.cs.nctu.edu.tw 修改文章於 2011/07/11 Mon 22:49:51
汪 PkmX:只能推了 07/11 22:56
推 keishei:推荐这篇文章 07/11 23:04
推 PSP:原PO超宅 07/11 23:05
推 leoturkey:推荐这篇文章 07/11 23:10
推 deepwoody:原po是超神人 <(_ _)> 07/11 23:40
推 dogsbear:推荐这篇文章 07/11 23:46
推 always112358:推荐这篇文章 07/12 10:04
推 PSP:推荐这篇文章 07/12 16:49
推 darkgerm:推荐这篇文章 07/13 23:14
作者从 linux1.cs.nctu.edu.tw 修改文章於 2011/07/16 Sat 21:26:55
推 ree975:助教人很好我觉得。 那次手写习题超难!!= = 08/11 12:00
作者从 linux1.cs.nctu.edu.tw 修改文章於 2013/01/01 Tue 14:20:53
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: neoneon (106.105.175.48), 07/12/2016 00:49:02