- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“可编程ASIC设计”练习四.
实验练习9一个简单的数据处理器Figure 1 显示了一个数字系统,这个数字系统包含了一个16位的数字寄存器,一个多路复用器,一个加减单元,一个计数器和一个控制单元。数据通过一个16位的DIN输入接口输入到这个系统中来。这些数据可以通过16位的多路复用器存储到不同的寄存器中,例如R0……R7和A。这个复用器也允许数据从一个寄存器传输到另一个寄存器中。这个复用器的输出通道在图片中也就是Bus(总线),因为在数据传输期间它允许数据从一个地址传输到另一个地址。加法(或者减法)的执行是通过复用器将第一个地址的16位数字放到总线上,然后将总线上的数据存储到A寄存器中。当上面的步骤完成后,将第二个地址中的数放到总线上,加法/减法单元会执行相应的运算,然后将计算的结果存储到G寄存器总。最后G寄存器中的数据可以传输到其他指定的寄存器中。在控制单元的控制下,这个系统可以在不同的时钟周期执行不同的运算。这个控制单元决定了当特定的数据放到总线上去后,哪一个寄存器可以接受到该数据。例如,如果控制单元接收到指令信号R0out和Ain时,复用器将会把R0寄存器中的内容放置到总线上去,然后在下一个时钟信号将信号存储到A寄存器中。这样的一个系统可以称为是处理器。它将执行不同指令的具体操作。Table 1(表1)列出了该处理器实现的指令。左列显示了指令和操作数。RX[RY]的意思是把RY寄存器中的数据传输到RX寄存器中。mv(move)指令允许数据从一个寄存器复制到另一个寄存器。对于mvi(move immediate)指令RXD意味着将16位的数据D存储到RX寄存器中。每条指令可以通过9位数据IIIXXXYYY编码存储到IR寄存器当中,III代表指令,XXX代表RX寄存器,YYY代表RY寄存器。虽然只需要2位就可以编码4条指令,但是我们这里使用了3位,这是由于后续可能会有其他的指令添加到这个系统中来。IR寄存器使用16位的DIN输入中的9个位来输入指令,在图1(Figure 1)中已有暗示。对于mvi指令来说YYY三位并没有什么含义,而且立即数#D依靠16位的DIN来输入,并且立即数的输入是在指令存储到IR寄存器之后。某些指令,例如加法或者减法,需要超过1个时钟周期才能够完成,因为多个转换步骤需要依靠总线。在图1(Figure 1)中显示了控制单元通过2位的计数器来允许指令一步步的运行。当Run信号输入和指令处理完毕的Done信号输出后,处理器开始执行下一个DIN输入的指令。表2(Table2)表明了在执行表1(Table1)中的指令时不同的步骤后可以取得的控制信号。注意在步骤0(即T0)时取得的控制信号是IRin,所以这个步骤没有在列表中显示出来。第一部分:根据下面的要求,利用Verilog语言设计并完成图1(Figure1)显示的处理器的功能:1、为这个练习生成一个QuartusII工程;2、在你新建的工程文件下,新建要求的Verilog文件,编写整个流程。一个Verilog语言的模板已经在图2a(Figure 2a)中提供了,同时还有一些可以使用的底层的模块在图2b(Figure2b);3、使用仿真功能来检验你的代码是否正确。一个正确的代码的仿真输出例图已经在图3(Figure3)中提供了。它显示了在30ns时将数据(2000)16存储到IR寄存器中。这个范例在50ns时通过指令mviR0,#D把数据D=5存储到寄存器R0中。仿真在90ns时显示输入指令mvR1,R0,110ns时输入指令addR0,R1,和在190ns时输入指令subR0,R0。注意的是在该仿真中DIN输入是4位的十进制数,IR中的数据是八进制数。4、生成一个新的Quartus II工程,将完成的代码烧到Altera DE2代码中。这个工程在包含了一个顶层模块和Altera板子上适当的输入输出接口。例如你的处理器在顶层模块中,可以使用SW15-0作为系统DIN的输入端口和使用SW17来作为Run输入。同时,使用按钮KEY0作为Resetn输入,按钮KEY1作为Clock输入。连接处理器的总线和LEDR15-0,最后连接Done信号输出和LEDR17;5、为你的工程分配DE2板上适当的引脚。编译完代码后下载到FPGA芯片中去;6、通过拨动拨码开关和观察LED灯来测试你定义的功能是否实现了。当处理器的时钟可以通过开关来控制的时候,就很容易一步步操作指令和观察代码的功能实现情况。module proc (DIN, Resetn, Clock, Run, Done, BusWires);input [15:0] DIN;input Resetn, Clock, Run;output Done;output [15:0] BusWires;. . . declare variableswire
您可能关注的文档
- “一通三防”题库..doc
- “七分装码三分焙烧”制砖工艺之码窑..docx
- “万方多难”成就的诗圣..doc
- “三查四定”指导性意见三..doc
- “三例一史”结题报告..doc
- “三大”检索工具系列介绍..doc
- “三违”行为实施办法..doc
- “三违”行为责任追究(处罚)办法..doc
- “三防”防范知识宣传材料..doc
- “三违”认定及罚款标准..doc
- 高低压配电柜安装工艺流程.pptx
- Arduino 系列:Arduino Leonardo 系列 (基于 ATmega32U4)_6.内部时钟与定时器.docx
- 高尔基童年-每章读书笔记格+新学期计划.pptx
- 高二化学人教版(2024)选择性必修3第三章第二节第一课时醇课件.pptx
- 高等数学公式(全).pptx
- Arduino 系列:Arduino Due 系列 (基于 ATSAM3X8E)_(1).Arduino Due 系列概述.docx
- 高等数学导数公式大全(经典).pptx
- 高等数学课程教学设计方案.pptx
- 高等数学上册目录同济第七版.pptx
- Arduino 系列:Arduino Due 系列 (基于 ATSAM3X8E)_(3).硬件特性详解.docx
最近下载
- 智慧农业建设项目投资方案.docx VIP
- 2023数据资产入表及估值实践与操作指南.docx VIP
- 220kV断路器合闸、分闸、防跳回路及本体非全相保护的讲解(课件).ppt VIP
- 数据资产入表及估值实践与操作指南(2023).pdf VIP
- 初一语文七年级上下册古诗词硬笔描红字帖.pdf VIP
- 电热熔盐换热系统设计与性能研究工程热物理专业论文.docx VIP
- JR-T 0174-2019 电子保单业务规范.pdf VIP
- 新产品芯片1_gc6133模组设计指南.pdf VIP
- 人教版(2024)八年级上册物理第4章《光现象》单元测试卷(含答案解析).docx VIP
- 新生儿月子会所感染控制要点-课件.ppt VIP
文档评论(0)