已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
通信与信息工程学院2013 /2014 学年 第 2 学期软件设计 实验报告模 块 名 称 VHDL 专 业 通信工程 学 生 班 级 学 生 学 号 学 生 姓 名 指 导 教 师 梅中辉 设计题目基本课题:04. 2对4译码器综合课题:18. 奇偶校验器任务要求1.基本课题:设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图2。A B Y3 Y2 Y1 Y0 0 00 11 00 11 1 1 01 1 0 11 0 1 10 1 1 12. 奇偶校验器系统的功能是对八位二进制数据及其奇偶校验位的输入进行校验,输出正确的奇、偶校验位。ODD_IN与EVEN_IN是控制奇校验和偶校验功能输入,IN0到IN7是七位数据及一位校验位数据输入,IN_READY表示输入数据已经准备好,可以处理,当OUT_REQ输入表示要求输出数据,CLK端口用于接收时钟信号,支持系统的时钟上升沿同步。当输出端口OUT_READY输出信号有效时,表示输出数据已经准备好,可以为下级电路使用,ODD_OUT与EVEN_OUT用来输出正确的奇偶校验位。上述控制端口均为高电平有效。实验设备及软件1 微型计算机2 EDA-VHDL开发软件同组人员学号及姓名11001803 胡雪琪参考文献1. 张顺兴 数字电路与系统设计东南大学出版社2004.82. 苗丽华VHDL数字电路设计教程人民邮电出版社2012.11 VHDL课程设计题目及要求(自编资料)3. VHDL课程设计题目及要求(自编资料)4. 杨晓慧 杨永健 基于FPGA的EDA/SOPC技术与VHDL 国防工业出版社 2007.75. Peter J. Ashenden The VHDL CookbookDept. Computer Science University of Adelaide South Australia July, 1990报告内容一 实验目的 1.掌握组合逻辑中译码器电路的设计原理。 2.能利用VHDL语言设计一个2-4译码器。二 实验器件1.微型计算机2.EDA-VHDL开发软件三 实验名称2-4译码器四 题目要求概述设计一个2对4译码器(输入:A B 输出:Y3 Y2 Y1 Y0),真值表如图A B Y3 Y2 Y1 Y0 1 00 11 00 11 1 1 01 1 0 11 0 1 10 1 1 1五 系统分析.原理图:分析:EN=1,Z0=Z1=Z2=Z3=1; EN=0,Z0=!(!A!B),Z1=!(!AB),Z2=!(A!B),Z3=!AB.设计算法:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY XiaoLi IS -定义实体名称为XiaoLiPORT( EN:IN STD_LOGIC; -定义输入/输出端口a:IN STD_LOGIC_VECTOR(1 DOWNTO 0); y:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END XiaoLi; ARCHITECTURE dataxl OF XiaoLi IS BEGIN PROCESS(EN,a) BEGIN IF(EN=0)THENCASE a IS -用CASE语句进行译码WHEN 00=yyyyy=0000; END CASE;ELSE y=1111;END IF; END PROCESS;END dataxl;设计要点:1. 2-4译码器有一个使能端EN,低电平有效,所以要用到IF语句分情况处理,当EN=1时,输出全为逻辑1;当EN=0时,在使能下对输入进行译码输出。2. 在2-4译码器中,要求根据相应的输入译码得到相应的输出,这需要用到CASE语句,根据满足的条件直接选择相应的顺序语句执行。然后根据题目要求进行设置。六 逻辑仿真图及功能分析逻辑仿真图:功能分析:EN=1时,y0.3=1111 EN=0时,a0.1=00,y0.3=1110 a0.1=01,y0.3=1101 a0.1=10,y0.3=1011 a0.1=11,y0.3=0111七 时序仿真及分析时序仿真:EN=0EN=1分析:EN=1时,y3y2y1y0=111 EN=0时,a1a0=00,y3y2y1y0=1110; a1a0=01, y3y2y1y0=1101; a1a0=10,y3y2y1y0=1011; a1a0=11,y3y2y1y0=0111.五调试过程与问题1.创建工程: 在File/NewProjectWizard里输入工程路径作为当前的工作目录,工程名和顶层文件实体名为必须相同设为XiaoLi。其中目标器件选取Altera公司Cyclone2的EP2C8T144C8。2 建立文本/编辑文件:在File/New里选取VHDL File文件类型,输入相应代码后保存文件,要保存在已建立的文件夹里,存盘文件名要与实体名保持一致,即XiaoLi.vhd。若不一致,在编译过程中会出现错误,在顶层文件中找不到要编译的文件。3 编译综合:执行Processing/Compiler Tool,启动编译器,编译成功后显示编译报告。选择Tool/Netlist Viewer/Technology Map Viewer观察生成后的门级电路原理图。对于不同的目标器件,尽管逻辑功能一样,但是其门级电路的结构是不一样。2-4译码器综合后的门级电路原理图:4 仿真实验:在File/New里选择适量波形文件“Vector Waveform File”,弹出波形编辑窗口。在Edit/End time中选择仿真结束时间和时间单位,设置为1s。在波形编辑窗口选择要加入的波形节点。设置相应的输入信号,将a0时钟信号周期设置为200ns,a1时钟信号周期设置为100ns。设置完后保存波形文件,文件名为XiaoLi.vwf。在Assignments/Settings里设置仿真器,这里只要进行功能仿真,所以选择的仿真模式为Functional。在仿真之前,先产生功能仿真网表文件,设置完成后启动仿真器,直到出现simulation was successful仿真结束。打开仿真波形报告窗口查看波形。EN=0时:EN=1时:结果分析:1. EN=0时,当a1a0=00时,y3y2y1y0=1110;当a1a0=01时,y3y2y1y0=1101; 当a1a0=10时,y3y2y1y0=1011;当a1a0=11时,y3y2y1y0=0111。2. EN=1时,不论a1a0输入为何,y3y2y1y0=1111。输出结果与理论值相同,仿真正确。问题:1. 起初在编写好代码后在编译过程中老是出现文件未定义,找不到等问题,后来通过查找资料发现:工程目录可以随意设置,但必须是英文的目录,工程名和顶层实体名必须也是英文开头,不要将文件夹设在计算机已有的安装目录中,更不要将工程文件直接放在安装目录中。文件夹所在的路径名和文件夹名不能用中文,不能用空格,不能用括号,也不能用数字开头。后来规范了书写就可以正确编译了。2. 起初在最后仿真过程中,输入时序信号不能正确产生“00”,“01”,“10”,“11”,后通过设置两输入信号周期相差一倍得出了理想的结果。一实验目的1.掌握组合逻辑中奇偶校验器电路的设计原理。2.利用VHDL语言设计一个八位奇偶校验器。二实验器件1.微型计算机2.EDA-VHDL开发软件三实验名称 奇偶校验器四题目要求概述奇偶校验器系统的功能是对八位二进制数据及其奇偶校验位的输入进行校验,输出正确的奇、偶校验位。ODD_IN与EVEN_IN是控制奇校验和偶校验功能输入,IN0到IN7是七位数据及一位校验位数据输入,IN_READY表示输入数据已经准备好,可以处理,当OUT_REQ输入表示要求输出数据,CLK端口用于接收时钟信号,支持系统的时钟上升沿同步。当输出端口OUT_READY输出信号有效时,表示输出数据已经准备好,可以为下级电路使用,ODD_OUT与EVEN_OUT用来输出正确的奇偶校验位。上述控制端口均为高电平有效。CLKODD_INEVEN_ININ_READYOUT_REQIN7IN0EVEN_OUTOUT_READYODD_OUT功能:用来校验某一组传输数据有否错误的组合逻辑电路。方法:在被传输的数据后面加一位奇偶校验位,使这一组数据中含1的位数成为奇数或是使这一组数据中含1的位数为偶数。通过检测1的个数是奇数还是偶数来判断数据传输是否有误。奇校验时,加了校验位后1的位数成为奇数;偶校验时,加了校验位后1的位数成为偶数。IN0IN7为8位代码输入,ODD_OUT,EVEN_OUT为校验后的结果输出,ODD_IN,EVEN_IN为是奇校验还是偶校验控制。五系统分析.原理图:分析:P=B7B6B5B4B3B2B1B0由异或运算可知:B7B0中有奇数个1时,P=1;偶数个1时,P=0。当奇校验时,SOD=1,SE=0;YOD=!P,YE=P,B7B0中有奇数个1时,YOD=0,YE=1,传输正确;出现偶数个1时,YOD=1,YE=0,传输有误;当偶校验时,SOD=0,SE=1;TOD=P,YE=!P,B7B0中有偶数个1时,YOD=0,YE=1,传输正确;出现奇数个1时,YOD=1,YE=0,说明传输有误。YOD是加上的校验位,YE位用来判断传输是否正确。设计算法:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY XL11001802 IS -定义实体名为XL11001802 PORT(iready,CLK,oreq:IN STD_LOGIC; -定义输入/输出 a:IN STD_LOGIC_VECTOR(7 DOWNTO 0); sod,se:IN STD_LOGIC; oready:OUT STD_LOGIC; yod,ye:OUT STD_LOGIC); END XL11001802; ARCHITECTURE dataxl OF XL11001802 IS BEGIN PROCESS(iready,clk,oreq,a,sod,se) VARIABLE temp:STD_LOGIC;BEGIN IF(iready=0) THEN -判断是否准备输入数据 yod=0; -时钟上升沿同步 ye=0; ELSIF (clkevent and clk=1) THEN IF(sod=1and se=0) THEN -此处为奇校验 temp:=1; FOR i IN 0 TO 7 LOOP -LOOP语句开始奇校错 temp:=temp XOR a(i); END LOOP; IF(oreq=0)THEN -判断是否要输出数据 yod=0; ye=0; ELSE oready=1; -准备输出数据 yod=temp; ye=NOT temp; END IF; ELSIF(sod=0AND se=1) THEN -此处为偶校验 temp:=0; FOR i IN 0 TO 7 LOOP -LOOP语句开始偶校错 temp:=temp XOR a(i); END LOOP; IF(oreq=0)THEN yod=0; ye=0; ELSE oready=1; yod=temp; ye=NOT temp; END IF; END IF;END IF;END PROCESS; END dataxl;.设计要点及特色点:1. 8位输入信号经异或门输出P,当IN0IN7中有奇数个1时,P=1;偶数个1时,P=0。奇校验时,ODD_IN=1,EVEN_IN=0,ODD_OUT=!P,EVEN_OUT=P,ODD_OUT=0时,传输正确;EVEN_OUT=1时,传输错误。此处需要引入一个变量temp,使temp为ODD_IN和P的异或值,将temp输出得到的ODD_OUT即为校验位的值;偶校验时,ODD_IN=0,EVEN_IN=1,ODD_OUT=P,EVEN_OUT=!P,思路与奇校验处相同。2. 在奇偶校验器的校验检测过程中,需要对8位输入信号进行逐次异或,此处运用LOOP语句,循环异或,最后得出引入的变量temp值。3. 在IN_READY=1时表示输入数据准备好,可进行奇偶校验检测,OUT_REQ=1时表示要输出正确的校验位,在OUT_READY=1准备好后则输出ODD_OUT和EVEN_OUT的值,这里有多个需要根据条件执行,所以需要用到多个IF语句。4. 在本设计中,将时钟控制奇偶校验的执行,实现上升沿同步。六逻辑仿真图和功能分析逻辑仿真图:功能分析:iready=0时,yod=ye=0;iready=1,CLK=1时,sod=1,se=0时,奇校验得temp值 oreq=1时,oready=1,yod=temp,ye=not temp; oreq=0时,yod=ye=0; sod=0,se=1时,偶校验得temp值 oreq=1时,oready=1,yod=temp,ye=not temp; oreq=0时,yod=ye=0.七时序仿真和分析时序仿真:sod=1,se=0(奇校验)sod=0,se=1(偶校验)分析:当iready=0时,yod=ye=0;当iready=1,clk=1时,开始奇校验,奇校验完成后根据oreq的值判断是否要输出,oreq=1时,表示要求输出校验值,则oready=1表示输出数据准备好,输出校验值yod和ye八调试过程和问题1.创建工程: 在File/NewProjectWizard里输入工程路径作为当前的工作目录,工程名和顶层文件实体名为必须相同设为XL11001802。要求与在2-4译码器中相同,其中目标器件选取Altera公司FLEX10K系列。2.建立文本/编辑文件:在File/New里选取VHDL File文件类型,输入相应代码后保存文件,要保存在已建立的文件夹里,存盘文件名要与实体名保持一致,即XL11001802.vhd。若不一致,在编译过程中会出现错误,在顶层文件中找不到要编译的文件。3.编译综合:执行Processing/Compiler Tool,启动编译器,编译成功后显示编译报告。选择Tool/Netlist Viewer/Technology Map Viewer观察生成后的门级电路原理图。对于不同的目标器件,尽管逻辑功能一样,但是其门级电路的结构是不一样。 奇偶校验器综合后的门级电路原理图:4.仿真实验:在File/New里选择适量波形文件“Vector Waveform File”,弹出波形编辑窗口。在Edit/End time中选择仿真结束时间和时间单位,设置为1s。在波形编辑窗口选择要加入的波形节点。设置相应的输入信号,将iready,oreq设置为高电平1,在Assignment/Settings里设置时钟信号CLK周期为10ns,根据奇/偶校验来设置sod和se的值,把a7a0都设置为间隔10ns输出的随机波形,最后将a的输出方式设为“binary”设置完后保存波形文件,文件名为XL11001802.vwf。在Assignments/Settings里设置仿真器,这里只要进行功能仿真,所以选择的仿真模式为Functional。在仿真之前,先产生功能仿真网表文件,设置完成后启动仿真器,直到出现simulation was successful仿真结束。打开仿真波形报告窗口查看波形。Sod=1,se=0(奇校验):sod=0,se=1(偶校验):结果分析:1.sod=1,se=0iready=0时,yod=ye=0;iready=1,clk=1, a7a6a5a4a3a2a1a0=01110011,oreq=0时,yod=ye=0a7a6a5a4a3a2a1a0=10011011,oreq=1时,yod=0,ye=1;a7a6a5a4a3a2a1a0=00101011,oreq=1时, yod=1,ye=0.2. sod=0,se=1iready=0时,yod=ye=0;iready=1,clk=1, a7a6a5a4a3a2a1a0=01110011,oreq=0时,yod=ye=0a7a6a5a4a3a2a1a0=10011011,oreq=1时,yod=1,ye=0;a7a6a5a4a3a2a1a0=00101011,oreq=1时,yod=0,ye=1.仿真结果与理论分析符合,仿真正确。问题:1. 在编译代码的过程中,老是会出现temp的输出格式不正确,要改为“:=”,且temp定义的位置不正确,后来我通过看老师给的PPT发现,VARIABLE定义的是局部变量,只能在进程语句,函数语句和过程语句结构中使用。变量在赋值时不能产生附加延时,其说明格式如下:VARIABLE变量名:数据类型约束条件:= 表达式样。我将temp的输出全部改为“:=”,并将temp定义在BEGIN后解决了这个问题。2. 在最后仿真的过程中,我发现根据a7a0的输入值得到的校验结果有时正确有时错误,起初我以为是我在定义输入信号时出现问题,后发现时在代码的“LOOP语句”编写上出现了错误,将temp:=sod XOR a(i);使yod输出结果错误,后将temp:=相应sod的值;temp:=temp XOR a(i);修改后输出结果正确。3. 为让仿真结果看的更清楚方便,将a的输出模式改为binary,结果一目了然。九体会和建议 这是我第一次接触VHDL语言,在做实验的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南昌应用技术师范学院单招综合素质考试题库带答案详解(精练)
- 2026年内蒙古乌兰察布盟单招职业倾向性考试题库含答案详解(精练)
- 2026年南充文化旅游职业学院单招职业倾向性考试题库及答案详解(夺冠系列)
- 2026年内蒙古民族幼儿师范高等专科学校单招职业倾向性考试题库附答案详解(基础题)
- 2026年兰州资源环境职业技术大学单招职业倾向性测试题库附答案详解ab卷
- 2026年南昌工学院单招职业技能测试题库附答案详解(能力提升)
- 2026年内蒙古能源职业学院单招综合素质考试题库附答案详解(基础题)
- 2026年南开大学滨海学院单招职业适应性测试题库附参考答案详解(巩固)
- 2026年信阳涉外职业技术学院单招职业适应性测试题库带答案详解(达标题)
- 2026年南昌影视传播职业学院单招职业技能考试题库附参考答案详解(基础题)
- 2026年广东省事业单位集中公开招聘高校毕业生11066名笔试模拟试题及答案解析
- 冷链工程施工安全监管规范
- 丝路基金招聘笔试题库2026
- 2022年7月23日广东省事业单位高校毕业生招聘考试《基本能力测试》真题试卷解析
- 中职生理学考试真题及解析
- 院感三管监测课件
- 2025年江西省从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解(5套)
- 2025年数据分析个人工作总结范文
- 新疆湿地公园管理办法
- 新能源有限公司商业计划书
- c2考驾照科目一试题及答案
评论
0/150
提交评论