




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
姓名学号报告人联系方式电话:Email设计题目要求已知一个16-bit循环移位(右移)电路的功能表如右。信号S是移位数,A是移位前的并行输入,Y是移位后的并行输出。(1)完成该电路的硬件设计。要求估算电路占用的资源大小及电路的速度。(2)以该移位电路为核心,扩展设计一个能完成算术左移、算术右移、逻辑左移、逻辑右移、循环左移、循环右移。设计工具及版本Quartus II 13.0 64-bit 和 Modelsim-Altera 10.1d 设计原理及结构方案本次设计主要使用74157(二输入四路复用器)为基本单元,通过四个74157组成16位数据选择器,然后在选择端口改变输入数据位,形成移动1位,移动2位,移动4位,移动8位的循环右移模块,再将四个模块组合起来形成1到16位的循环右移模块;由于循环左移n位数据,可以看成循环右移8-n位数据,所以循环左移模块可以通过循环右移模块与一个实现8-n的减法器组合来实现。逻辑左移与算术左移的移位方法一样,对于移动n位的数据,可以通过将前n个高位数据转为0然后循环左移,形成最低位补0的循环移位;算术右移n位,可以通过将低n位数据转为最高位数据再循环右移形成;逻辑右移n位数据,可以通过将低n位数据转为1再循环右移形成。具体电路方案:首先设计出循环右移模块,再扩展成循环左右移模块;然后分别设计出逻辑移位数据转换模块,算术移位数据转换模块,通过数据选择器选择相应功能的16位数据,再与循环左右移模块组合形成具有不同功能的通用移位模块。电路设计具体描述据VLSI课程的知识,设计出循环右移电路实现如下:图1 循环右移1位模块图2 循环右移1位原理图根据右移1位模块,原理同上,可以设计出右移1到16位电路:图3 循环右移1到16位模块图根据老师上课讲的知识,可以知道此模块节省器件,延迟稍大。图4 循环右移一位symbol图5 1到16位循环右移电路如上图所示,shift1,shift2,shift3,shift4分别为1位,2位,4位,8位移位电路的symbol,组合起来形成16位循环右移电路。循环左移电路实现:循环左移n位数据可以看做循环右移8-n位数据;首先设计出8-n位减法器电路:图6 8-n减法器图7 8-n减法器symbol将移位数据选择端S0,S1,S2,S3连接到8-n数据口d0,d1,d2,d3,其中减法器中sel端口是用来选择数据8-n和数据n(S3S2S1S0),即可以用来选择循环左移和右移;将减法器输出数据端口连接到循环右移电路的移位数据选择端实现循环左右移电路。逻辑移位电路实现:逻辑移位要求:逻辑左移时,低位移向高位,最低位补“0”;逻辑右移时,高位移向低位,最高位移入“1”。逻辑左移n位时,可以将高n位的数据转为0,再通过循环左移电路实现最低位补0;逻辑右移n位时,可以将低n为的数据转为1,再通过循环右移电路实现最高位移入1;算术移位电路实现:算术移位要求:算术左移时,低位移向高位,最低位补“0”,与逻辑左移相同;算术右移时,高位移向低位,最高位维持原值不变。算术左移n位时,可以采用逻辑移位的方法;算术右移n位时,可以将低n位的数据转为最高位A15的值,这个可以通过两位数据选择器实现,再通过循环右移电路实现最高位保持原值。图8 数据转换电路上图中,输入数据n(IN4 IN3 IN2 IN1),则输出16位数据,其中低n位全为0,高n位数据全为1,例如,输入0010,则输出1111 1111 1111 1100,这个电路可以用来实现逻辑移位和算术移位时的数据转换。图9 数据转换电路symbol图10 逻辑/算术左移数据转换电路图10中,输入数据A15A0和移位数据选择端S3S2S1S0(n位移位),则输出高n位数据为0,其他位保持不变,如输入A15A0,0010(S3S2S1S0),则输出为00 A13A0,将输出位连到循环左移电路端口即实现逻辑左移。同理,可以得到逻辑右移数据转换电路和算术右移数据转换电路。图11 逻辑右移数据转换电路symbol图12 算术右移数据转换电路symbol图13 算术/逻辑左移数据转换电路symbol整体电路原理图:在上图中,首先通过扩展后的16位数据选择器选择转换后的逻辑右移数据和转换后的算术右移数据,sel1控制数据选择,sel1=0时选择逻辑右移数据,sel1=1选择逻辑算术右移数据,输出的16位数据连接到下一个16位数据选择器b端口,a端口接转换后的逻辑/算术左移数据,sel0控制数据选择,sel0=0时选择逻辑/算术左移移数据,sel0=1选择上一级数据选择器输出数据,接着输出后的16位数据再次接到下一级数据选择器的a端口,b端口接原始的16位移位数据A15A0,sel2控制数据选择。下面是功能选择的命令控制:sel0 sel1 sel2循环左移 0 任意 1循环右移 1 任意 1逻辑(算术)左移 0 任意 0逻辑右移 1 0 0算术右移 1 1 0 仿真激励设计方案及电路仿真结构通过改变S0,S1,S2,S3,sel0,sel1,sel2的值来仿真电路,激励的一部分hdl语言描述如下:always : PROCESS (S0,S1,S2,S3,sel0,sel1,sel2) BEGIN S0=not S0 after 10ns;S1=not S1 after 20ns; S2=not S2 after 30ns;S3=not S3 after 40ns;sel0=not sel0 after 50ns;sel1=not sel1 after 60ns;sel2=not sel2 after 70ns; END PROCESS always; END last_arch;功能仿真波形如下:1. 算术/逻辑左移:sel2 sel1 sel0 S3S2S1S0 A15A0 Y15Y00 1 0 0011 1000100101100010 01001011000100002. 算术右移sel2 sel1 sel0 S3S2S1S0 A15A0 Y15Y00 1 1 0100 1000100101100010 11111000100101103. 逻辑右移sel2 sel1 sel0 S3S2S1S0 A15A0 Y15Y00 0 1 1011 1000100101100010 11111111111100014. 循环右移sel2 sel1 sel0 S3S2S1S0 A15A0 Y15Y01 0 1 1001 1000100101100010 10110001010001005. 循环左移sel2 sel1 sel0 S3S2S1S0 A15A0 Y15Y01 0 0 1100 1000100101100010 0010100010010110时序仿真波形如下:通过modelsim中.vho网表文件进行后仿真,器件型号为cycloneiv系列:从上图中可以看出,电路延迟时间大概为1ns左右,速度较快。电路所占资源大概为30左右个74系列器件及少数的逻辑门。设计总结本次设计历时5天左右完成,期间遇到很多问题,比如74器件不能直接转为hdl语言描述,instance名称必须不能重名;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村振兴战略下职业技能培训对乡村经济结构调整的影响报告
- 808激光脱毛培训课件
- 中国卫生监督培训课件
- 员工安全操作课件
- 系文宣部培训大会
- 中国传统节日课件背景
- 幼师教育案例分享
- 浙大中控培训
- 制作商务培训
- 企业法治教育培训
- 2025年中国全棉靛蓝色织布市场调查研究报告
- 2024年四川金融控股集团有限公司招聘笔试真题
- 沃尔玛收货管理制度
- 铁塔施工方案(3篇)
- 2025年高考化学湖北卷试题真题解读及复习备考指导(精校打印)
- 湖南长沙市长郡教育集团2025年七年级英语第二学期期中联考试题含答案
- 安全监理工作方案
- 水位观测水尺设计与施工方法
- 2024初级会计职称考试《经济法基础》真题和答案
- 包装公司日常管理制度
- 2025年辽宁省沈阳市于洪区中考数学二模试卷
评论
0/150
提交评论