1、ic 课程设计心得体会经过 2 个多星期的 IC 课程设计,我们在老师的指导下,共同努力,顺利完成该课程设计,收获很大。一、对硬件设计的一般流程有了初步的了解通过该课程设计,我们初步了解了硬件设计的一般流程,课题分析-verilogHDL 编程-调试程序-仿真波形-综合生成器件。二、学会对简单系统进行分析刚拿到题目时,感觉非常盲目,没有思路,无从下手。但我们多方收集资料,力求先对同步 FIFO 有个初步认识,进而去理解同步 FIFO 的工作原理,最后产生自己的设计方案。当所以准备工作搞定后,我们顺利设计了输入端口时钟信号 clk,复位信号 rst,读控制 rq,写信号 wq 以及数据输入端口
2、data,输出端口满状态 full,空状态 empty 以及数据输出端口。但是对同步缓冲器的存储单元的表述方法不是很清晰,开始想到可以直接调用现成的双口 RAM 器件,但是考虑到由于数据缓冲器存储读取并不是随机写入读取,而是按照顺序进行的,所以最后讨论用二维寄存器来组成FIFO 的存储单元。三、自学了 verilogHDL 编程因为 verilogHDL 语言语法和以前学过的 C 语言比较相近,所以在看了些相关书籍和程序范例后,就入手编写verilogHDL 代码,开始时候没有遇到太大问题。但是毕竟verilogHDL 和 C 许多还是有差别的,如 case 的用法等。但是经过我们一起的努力,
3、顺利的完成了 verilogHDL 代码的编写工作。四、学会使用 Modelsim,LeonardoSpectrum 软件学会了常用的 IC 仿真生成器件的软件Modelsim,LeonardoSpectrum 的使用方法。在 Modelsim 环境中,经过简单的修改调试,运行,但是得到的仿真波形始终不能满意。仿真波形显示控制电路,包括读写信号,满空状态都很正常,不过却出现输出波形为高阻态,进一步验证数据未写入存储寄存器。经过答疑老师的帮助,我们编辑推荐:XX/1018/special_发现由于开始地址指针指向不明造成此问题,初始化后即解决了此问题。用LeonardoSpectrum 综合生成
4、器件也遇到很多类似的问题,不过在耐心老师指导,我们共同探讨研究下最终都得以解决。五、加深了对许多课程的理解IC 课程设计联系到很多门课,是对很多理论课的一次理论联系实践的机会。例如在讨论同步 FIFO 的存储单元方案时候,我们通过查资料对微机原理学的存储器原理有了更深刻的理解和认识。另外,整个 verilogHDL 编写过程都是按照 C 语言要求的结构化,模块化,加上注释的详细清晰,所以也使我们的程序可读行强。六、培养了团队合作意识像这种课程设计,由于要自学 verilogHDL,以及Modelsim,LeonardoSpectrum 的使用,对初学者来说是个很大的工程,所以我们坚持团队合作,分工明确,有多种方案共同研究拍板,有了问题大家共同探讨,极大提高了开发效率。总的来说,这次 IC 课程设计确实学到很多,不仅学到以上六点,而且也锻炼了我遇到问题解决问题的勇气和能力,以及遇到挫折不达目的不罢休的韧性,这在以后的工作与学习中将会非常重要。