




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VLSI设计基础课程设计报告 班 级: 电子10-02班学 号: 1006040208姓 名: 指导教师: 8位移位寄存器设计一、设计要求 1.查阅书籍资料,根据题目要求确定电路结构; 2.明确电路实现的功能;3.明确电路中端口的数目、所联接的信号类型以及工作时序;4.采用Modelsim、Quartus II、Altium designer 中的任一种软件,基于Verilog或VHDL语言设计综合设计题目中电路,实现功能仿真。 二、设计目的 1.培养学生综合运用所学知识独立完成课题的工作能力,为毕业设计打好基础;2.培养学生从文献和调查研究中获取知识的能力,提高学生从别人经验,从其他学科找到解决问题的新途径的悟性;3.培养学生综合运用本专业基本理论、基本知识和基本技能的能力,使学生获得从事本专业工程技术工作的基本训练; 4.培养学生勇于探索,严谨推理,实事求是,用实践来检验理论、全方位地考虑问题等科学技术人员应具有的素质; 5.提高学生对工作认真负责、一丝不苟,对同学友爱团结、协作攻关,对新事物能潜心考察,勇于开拓,勇于实践的基本素质。三、设计的具体实现1.电路概述 此电路由8个4选1数据选择器、8个带异步清零的D触发器组成。所有的数据选择器编码端分别对应地接在一起,同时选择D触发器的信号数据来源。D触发器时钟端CP接一起,清零端也同样接在一起,这样可以保证级联D触发器的同步,和并行输出数据的清零。另,每个D触发器的输出对应一位并行输入。Dsr是右移串行数据输入端,Dsl是左移串行数据输入端,分别接最低有效位对应的数据选择器和最高有效位对应的数据选择器。图3 8位双向移位寄存器表2 8位双向移位寄存器真值表输 入输 出清零控制信号串行输入时钟CP并行输入S1S0DsrDslLLHLLHLHLHLHHHHLLHHLHHHH注:表示CP脉冲上升沿之前瞬间的电平2. 设计综合电路 1) 设计流程a) 编写源代码。打开QuartusII软件平台,点击File中得New建立一个文件。编写的文件名与实体名一致,点击File/Save as以“.vhd”为扩展名存盘文件;b) 按照实验箱上FPGA的芯片名更改编程芯片的设置。操作是点击Assign/Device,选取芯片的类型;c) 编译与调试。确定源代码文件为当前工程文件,点击Complier进行文件编译。编译结果有错误或警告,则将要调试修改直至文件编译成功;d) 波形仿真及验证。在编译成功后,点击Waveform开始设计波形。点击“insert the node”,按照程序所述插入节点。e) 时序仿真。将波形区域分段显示,如每个10.0ns重复一次步骤四,分别设置不同的a,b的输入波形,点击保存按钮保存,从而得出相应的结果,最后形成完整的连续的时序仿真图。2) 程序源代码ENTITY shifter ISPORT ( data_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -输入的数据 n : IN STD_LOGIC_VECTOR(2 DOWNTO 0); -移位的数量 dir : IN STD_LOGIC; -移动的方向 0:左 1:右 kind : IN STD_LOGIC_VECTOR(1 DOWNTO 0); -移动类型 00:算术移 01:逻辑移 10:循环移 clock : IN BIT; -手动时钟PULSE data_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) -移位的结果 );END shifter;ARCHITECTURE behav of shifter ISBEGINPROCESS (data_in, n, dir, kind) VARIABLEx,y : STD_LOGIC_VECTOR(7 DOWNTO 0);VARIABLEctrl0,ctrl1,ctrl2 : STD_LOGIC_VECTOR (3 DOWNTO 0);BEGINIF (clockEVENT AND clock = 1)THEN -产生控制向量ctrlctrl0 := n(0) & dir & kind(1) & kind(0);ctrl1 := n(1) & dir & kind(1) & kind(0);ctrl2 := n(2) & dir & kind(1) & kind(0);CASE ctrl0 ISWHEN 0000 | 0001 | 0010 | 0100 | 0101 | 0110= x := data_in; -n=0时不移动WHEN 1000 = x := data_in(6 DOWNTO 0) & data_in(0); -算术左移1位 WHEN 1001 = x := data_in(6 DOWNTO 0) & 0; -逻辑左移1位 WHEN 1010 = x := data_in(6 DOWNTO 0) & data_in(7); -循环左移1位WHEN 1100 = x := data_in(7) & data_in(7 DOWNTO 1); -算术右移1位 WHEN 1101 = x := 0 & data_in(7 DOWNTO 1); -逻辑右移1位 WHEN 1110 = x := data_in(0) & data_in(7 DOWNTO 1); -循环右移1位WHEN others = null;END CASE;CASE ctrl1 IS WHEN 0000 | 0001 | 0010 | 0100 | 0101 | 0110 = y := x; -n=0时不移动WHEN 1000 = y := x(5 DOWNTO 0) & x(0) & x(0); -算术左移2位 WHEN 1001 = y := x(5 DOWNTO 0) & 00; -逻辑左移2位 WHEN 1010 = y := x(5 DOWNTO 0) & x(7 DOWNTO 6); -循环左移2位WHEN 1100 = y := x(7) & x(7) & x(7 DOWNTO 2); -算术右移2位 WHEN 1101 = y := 00 & x(7 DOWNTO 2); -逻辑右移2位 WHEN 1110 = y := x(1 DOWNTO 0) & x(7 DOWNTO 2); -循环右移2位WHEN others = null;END CASE;CASE ctrl2 ISWHEN 0000 | 0001 | 0010 | 0100 | 0101 | 0110= data_out data_out data_out data_out data_out data_out null;END CASE; END IF;END PROCESS;END behav;3) 编译过程、调试结果3仿真 a) 时序仿真过程及仿真结果多次实验后比以前更熟悉软件,所以运行时序仿真功能的过程也较为顺利。虽然把波段为50ns,但从截图中还是可以看出,输出信号较输入信有时间差,即电路信号通过门电路时还是有延迟的现象。设置为算数移(kind=00),每次都移动一位(n=001),前半部分选定右移(dir=1)后半部分选定左移(dir=0),可以清楚地看到功能的实现。b) 功能仿真过程及仿真结果完成时序仿真之后在Assignment的Settings中选定仿真类型为Function(功能仿真),对波形图进行保存然后运行,即生成功能仿真图。从图中可以看到,延迟现象得到解决,各个波段输入对应输出更加清楚。在时序仿真中弄不太明白的clock的作用也在这里得到解决:clock=1左/右移功能实现,clock=0功能未执行,输出保留为上一个波段的结果。四、结论与展望 通过这次的实验,我移位寄存器无论从功能还是原理方面都有了较为系统的了解和学习。这次实验没有给现成的代码,不过在网上可以找到对应的源代码,而且源代码附着较为详细的注释,方便了我的学习。找到源代码之后的编译、仿真部分因为熟能生巧,都较为顺利。但一开始仿真时候波段的值没有选好,乱七八糟的找不到对比,这对理解分析功能造成了一定的困惑。多次重复试验之后,终于画出来可以帮助我更好理解左/右移意义的仿真图。虽然有点繁琐,但是所幸有所收获。五、心得体会及建议通过此次课程设计,使我更加扎实的掌握了有关8位移位寄存器的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,这也让我们发现了自身的不足。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获龋最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于迎刃而解。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上劈荆斩棘,而不是知难而退,那样永远不可能收获成功,收获喜悦,也永远不可能得到社会及他人对你的认可!课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,给了我莫大的空间。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我掌握了常用元件的识别和测试,熟悉了常用仪器、仪表,了解了电路的连线方法,以及如何提高电路的性能等等,掌握了焊接的方法和技术,通过查询资料,也了解了收音机的构造及原理。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。六、参考文献 1康华光
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年无人机应用基础考试题库附答案详解
- 2025年护士执业资格考试真题及答案
- 慢性膀胱炎合并神经源性膀胱护理查房
- 阿坝藏族羌族自治州2024-2025学年八年级下学期语文月考模拟试卷
- 安徽省安庆市望江县2023-2024学年高二上学期期末考试化学考题及答案
- 2025 年小升初武汉市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 2025 年小升初哈尔滨市初一新生分班考试数学试卷(带答案解析)-(人教版)
- 第一章 三角形的初步知识 过关检测试卷(含答案)2025-2026学年浙教版2024 数学八年级上册
- 资金垫付合同范本
- 源画摄影合同范本
- 中学2025级高一新生军训实施方案
- 简短戒烟干预戒烟成功
- 中职思政试题及答案
- DB3203-T 1080-2025 城市道路路名牌设置规范
- 2025-2030量子科技前沿发展态势与中国市场投资机遇研究报告
- 设备维护方案(3篇)
- 护理操作管理课件
- 肉类加工间管理制度
- 2025年陕西、山西、青海、宁夏高考历史试卷真题(含答案解析)
- 2024-2025学年苏教版四年级下学期期末测试数学试卷(含答案)
- 动脉导管未闭封堵术的医疗护理
评论
0/150
提交评论