EDA实验报告(全).pdf_第1页
EDA实验报告(全).pdf_第2页
EDA实验报告(全).pdf_第3页
EDA实验报告(全).pdf_第4页
EDA实验报告(全).pdf_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录目录 实验一 全加器的设计 1 一 实验目的 1 二 实验要求 1 三 实验步骤 1 四 实验结果 2 五 实验注意 2 六 实验心得 2 实验二 模可变计数器的设计 3 一 实验要求 3 二 实验步骤 3 三 实验心得 6 实验三 序列信号发生器与检测器设计 7 一 实验目的 7 二 设计要求 7 三 主要仪器设备 7 四 实验原理 7 五 实验步骤 8 六 实验心得 13 实验四 交通灯控制器设计 14 一 实验目的 14 二 设计要求 14 三 主要仪器设备 14 四 实验思路 14 五 实验步骤 15 六 实验现象及验证 22 七 实验心得 23 实验五 多功能数字钟设计 24 一 实验目的 24 二 设计要求 24 三 主要仪器设备 24 四 实验思路 24 五 实验步骤 25 六 实验现象及验证 31 七 实验心得 31 实验六 出租车计价器设计 32 一 实验目的 32 二 实验任务及要求 32 三 主要仪器设备 32 四 实验思路 32 五 实验步骤 33 六 实验现象及验证 39 七 实验心得 39 1 南昌大学实验报告南昌大学实验报告 学生姓名 xx 学 号 61004100 xx 专业班级 通信 101 实验类型 验证 综合 设计 创新 实验日期 2012 9 17 实验成绩 实验一实验一 全加器的设计全加器的设计 一一 实验目的实验目的 以一位二进制全加器为例熟悉利用 QuartusII 的原理图输入方法和文本输入法设 计简单组合电路 学习多层次工程的设计方法 二二 实验要求实验要求 用文本方法实现半加器 再采用层次设计法用原理图输入完成全加器的设计 给出此项设计的仿真波形 用发光 LED 指示显示结果 三三 实验步骤 实验步骤 1 1 建立工作库文件夹 建立半加器工程 h adder 输入半加器 VHDL 代码并存盘 library ieee use ieee std logic 1164 all entity h adder is port a b in std logic co so out std logic end entity h adder architecture fh1 of h adder is begin so not a xor not b co a and b end architecture fh1 编译后转换得到半加器的元件符号 h adder 2 在同一工作库文件夹下 建立全加器工程 fa 采用层次设计法调用元件半加 器 h adder 和或门 or2 完成全加器的原理图文件 2 2 选目标器件为 CycloneII 中的 EP2C35F672C8 并编译 3 建立全加器仿真波形文件 进行波形仿真 由仿真波形不难看出 波形正确 满足真值表 只是有少许毛刺 但不影响结果 4 引脚锁定 包装元件 a H8 key1 b J8 key2 c J9 key3 co G13 LED1 sum G15 LED2 四四 实验结果 实验结果 按下电平检测结果观察是否正确 依照真值表依次推上 key1 key2 key3 可得到 8 种情况 在用户 LED1 和 LED2 上可以看到实验结果与仿真波形和真值表相一致 故实验正确无误 五五 实验实验注意注意 试验应注意 下载芯片 引脚的绑定要和实验箱相匹配 波形仿真时信号的周期或 间隔时间要大于 50ns 因为仿真延时大约几十纳秒 end time 大约 10 次信号周期 六六 实验心得实验心得 3 南昌大学实验报告南昌大学实验报告 学生姓名 xx 学 号 61004100 xx 专业班级 通信 101 实验类型 验证 综合 设计 创新 实验日期 2012 10 8 实验成绩 实验二实验二 模可变计数器的设计模可变计数器的设计 一一 实验要求实验要求 利用控制位 M 来改变模长要求 M 1 时模为 114 计数 M 0 时模为 16 计数 二二 实验步骤实验步骤 1 建立工作库文件夹 输入计数器的 VHDL 代码并存盘 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY count IS PORT CLK M EN RST IN STD LOGIC sel0 sel1 sel2 buffer STD LOGIC SG OUT STD LOGIC VECTOR 7 DOWNTO 0 CLK1 buffer STD LOGIC GW SW BW buffer STD LOGIC VECTOR 3 DOWNTO 0 COUT OUT STD LOGIC SEL OUT STD LOGIC VECTOR 7 DOWNTO 0 END count ARCHITECTURE behav OF count IS SIGNAL CNT STD LOGIC VECTOR 7 DOWNTO 0 SIGNAL J STD LOGIC VECTOR 11 DOWNTO 0 SIGNAL CNT8 STD LOGIC VECTOR 2 DOWNTO 0 SIGNAL A STD LOGIC VECTOR 3 DOWNTO 0 SIGNAL MODEL STD LOGIC VECTOR 11 DOWNTO 0 BEGIN P1 PROCESS CLK BEGIN IF CLK EVENT AND CLK 1 THEN CNT CNT 1 IF CNT 130 THEN CLK1 1 ELSE CLK1MODELMODEL 000100010011 END CASE GW J 3 downto 0 SW J 7 downto 4 BW J 11 downto 8 IF RST 1 THEN J 0 ELSIF CLK1 EVENT AND CLK1 1 THEN IF EN 1 THEN IF J MODEL THEN IF GW 9 THEN J J 7 IF SW 9 THEN J J 103 END IF ELSE J J 1 END IF ELSE J 0 END IF END IF END IF END PROCESS P3 PROCESS CLK BEGIN IF CLK EVENT AND CLK 1 THEN IF CNT8 010 THEN CNT8 CNT8 1 ELSE CNT8 0 END IF END IF SEL 0 sel0 SEL 1 sel1 5 SEL 2 sel2 0 sel1 1 sel0 0 A sel2 0 sel1 0 sel0 1 A sel2 0 sel1 0 sel0 0 ANULL END CASE END PROCESS P4 PROCESS A BEGIN CASE A IS WHEN 0000 SGSGSGSGSGSGSGSGSGSGNULL END CASE END PROCESS COUT LEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLEDLED NULL END CASE END PROCESS PROCESS CLK CLRN BEGIN IF CLRN 0 THEN CNT 0000 ELSE IF CLK EVENT AND CLK 1 THEN CNTZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREGZREG 0 END CASE END PROCESS ZOUT ZREG LEDOUT LED end one 2 对其进行波形仿真 如下图 11 3 将其转换成可调用元件如图 2 2 信号检测器 信号检测器 1 建立工作库文件夹 输入设计项目 VHDL 代码 如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL ENTITY SCHK IS PORT DIN CLK CLR IN STD LOGIC ss OUT STD LOGIC VECTOR END SCHK ARCHITECTURE behav OF SCHK IS SIGNAL Q INTEGER RANGE 0 TO 5 SIGNAL D STD LOGIC VECTOR 5 DOWNTO 0 BEGIN D 11010 PROCESS CLK CLR BEGIN IF CLR 1 THEN Q IF DIN D 4 THEN Q 1 ELSE Q IF DIN D 3 THEN Q 2 ELSE Q IF DIN D 2 THEN Q 3 ELSE Q IF DIN D 1 THEN Q 4 ELSE Q IF DIN D 0 THEN Q 5 ELSE Q Q 0 END CASE END IF END PROCESS PROCESS Q BEGIN IF Q 5 THEN ss 1 ELSE ss 0 END IF END PROCESS END behav 12 3 将其转换成可调用元件如图 3 3 序列信号检测器顶层文件序列信号检测器顶层文件 1 调用序列信号发生器和序列信号检测器元件 建立工作库文件夹 输入设计项目原 理图如下图 2 对总体进行波形仿真 如下图 4 4 管脚邦定 管脚邦定 13 六 实验心得六 实验心得 14 南昌大学实验报告南昌大学实验报告 学生姓名 xx 学 号 61004100 xx 专业班级 通信 101 实验类型 验证 综合 设计 创新 实验日期 2012 10 22 实验成绩 实验四实验四 交交通灯控制器设计通灯控制器设计 一 实验目的一 实验目的 学习与日常生活相关且较复杂数字系统设计 2 进一步熟悉 EDA 实验装置和 Quartus 软件的使用方法 3 学习二进制码到 BCD 码的转换 4 学习有限状态机的设计应用 二 设计要求二 设计要求 完成设计 仿真 调试 下载 硬件测试等环节 在型 EDA 实验装置上实现一个由一条主干道和 一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能 具体要求如下 有 MR 主红 MY 主黄 MG 主绿 CR 乡红 CY 乡黄 CG 乡绿 六盏交通灯需 要控制 交通灯由绿转红前有 4 秒亮黄灯的间隔时间 由红转绿没有间隔时间 乡间公路右侧各埋有一个串连传感器 当有车辆准备通过乡间公路时 发出请求信号 S 1 其余时 间 S 0 平时系统停留在主干道通行 MGCR 状态 一旦 S 信号有效 经主道黄灯 4 秒 MYCR 状态后 转入乡间公路通行 MRCG 状态 但要保证主干道通行大于一分钟后才能转换 一旦 S 信号消失 系统脱离 MRCG 状态 即经乡道黄灯 4 秒 MRCY 状态进入 MGCR 状态 即 使 S 信号一直有效 MRCG 状态也不得长于 20 秒钟 控制对象除红绿灯之外 还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示 三 三 主要仪器设备主要仪器设备 微机 1 台 QuartusII 集成开发软件 1 套 EDA 实验装置 1 套 四 实验思路四 实验思路 1 设计一个状态寄存器 控制六盏灯的亮与灭 2 设计一个计时器 控制各状态的持续时间 计时器应满足以下要求 1 当 S 1 且计数器已完成 60 计数时 计数器进入模 4 计数 随后进入模 20 计数 再进入模 4 计数 再回到模 60 计数 2 当计数器进行摸 20 计数时 一旦 S 变为 0 计数器立马进入模 4 计数 再进入模 60 计数 15 3 完成模 20 计数后 不论 S 为 0 或 1 计数器进入模 4 计数 再进入模 60 计数 4 若计数器未完成模 60 计数 不论 S 如何变话 计数器将继续进行模 60 计数 3 设计一个译码显示电路 将计时器的八位 BCD 码转化为数码管可以显示的段位码 通过动态扫 描电路实现 4 设计一个分频器 将扫描频率分频为基准频率 提供计时器 状态器 译码显示的钟控 5 使用文本设计 4 个底层文件 并生成相应元器件 再使用原理图设计顶层文件 五 实五 实验步骤验步骤 1 建立工作库文件夹和编辑设计文件 1 建立一个文件夹保存工程文件 2 打开 QuartusII 建立新的 VHDL 文件 再打开的页面下输入以下程序 控制 6 盏灯的模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY jtd IS PORT clk RESET S IN STD LOGIC COUNT IN STD LOGIC VECTOR 7 DOWNTO 0 MG MY MR CG CY CR OUT STD LOGIC END jtd ARCHITECTURE behav OF jtd IS TYPE jtdSTA TE IS mgcr mycr mrcg mrcy SIGNAL STA TE jtdSTA TE BEGIN PROCESS RESET STA TE clk S BEGIN IF RESET 1 THEN STA TE mgcr MG 1 CR 1 MY 0 MR 0 CG 0 CYIF COUNT 00000001 AND S 1 THEN STA TE mycr MY 1 CR 1 MG 0 MR 0 CG 0 CY 0 ELSE STA TE mgcr MG 1 CR 1 MY 0 MR 0 CG 0 CYIF COUNT 00000001 THEN STA TE mrcg MR 1 CG 1 MG 0 MY 0 CR 0 CY 0 ELSE STA TE mycr MY 1 CR 1 MG 0 MR 0 CG 0 CYIF COUNT 00000001 OR S 0 THEN STA TE mrcy MR 1 CY 1 MY 0 MG 0 CR 0 CG 0 ELSE STA TE mrcg MR 1 CG 1 MG 0 MY 0 CR 0 CYIF COUNT 00000001 THEN STA TE mgcr MG 1 CR 1 MR 0 MY 0 CY 0 CG 0 ELSE STA TE mrcy MR 1 CY 1 MY 0 MG 0 CR 0 CG 0 END IF END CASE END IF END PROCESS END behav 控制数码管显示倒计时数并且输出 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY JISHU IS PORT clk S IN STD LOGIC tim OUT STD LOGIC VECTOR 7 DOWNTO 0 END JISHU ARCHITECTURE behav OF JISHU IS TYPE RGY IS mgcr mycr mrcg mrcy SIGNAL STA TE RGY BEGIN PROCESS clk V ARIABLE b STD LOGIC 0 V ARIABLE a STD LOGIC 0 V ARIABLE th tl STD LOGIC VECTOR 3 DOWNTO 0 BEGIN IF RESET 1 THEN STA TE IF S 1 AND b 1 THEN STA TE mycr a 0 th 0000 tl 0100 b 0 ELSIF S 0 AND b 1 THEN STA TE IF a 0 THEN 17 th 0000 tl 0100 a 1 else IF NOT th 0000 AND tl 0010 then tl tl 1 ELSE th 0000 tl 0001 a 0 STA TEIF S 1 THEN IF a 0 THEN th 0010 tl 0000 a 1 else IF NOT th 0000 AND tl 0010 then IF tl 0000 then tl 1001 th th 1 else tl tl 1 END IF ELSE th 0000 tl 0001 a 0 STA TE mrcy END IF END IF ELSE a 0 STA TEIF a 0 THEN th 0000 tl 0100 a 1 else IF NOT th 0000 AND tl 0010 then tl tl 1 ELSE th 0000 tl 0001 a 0 STA TE mgcr END IF END IF END CASE tim th END IF end process END behav 动态译码显示电路 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY disp IS PORT CLK IN STD LOGIC INPO IN STD LOGIC VECTOR 7 DOWNTO 0 sl0 sl1 sl2 buffer STD LOGIC SEL OUT STD LOGIC VECTOR 7 DOWNTO 0 SG OUT STD LOGIC VECTOR 7 DOWNTO 0 18 GW SW buffer STD LOGIC VECTOR 3 DOWNTO 0 END DISP ARCHITECTURE behav OF DISP IS SIGNAL CNT8 STD LOGIC VECTOR 2 DOWNTO 0 SIGNAL A STD LOGIC VECTOR 3 DOWNTO 0 BEGIN GW INPO 3 downto 0 SW INPO 7 downto 4 P3 PROCESS CLK BEGIN IF CLK EVENT AND CLK 1 THEN IF CNT8 001 THEN CNT8 CNT8 1 ELSE CNT8 0 END IF END IF SEL 0 sl0 SEL 1 sl1 SEL 2 sl2 0 sl1 1 sl0 0 A sl2 0 sl1 0 sl0 1 ANULL END CASE END PROCESS P4 PROCESS A BEGIN CASE A IS WHEN 0000 SGSGSGSGSGSGSGSGSGSGNULL END CASE END PROCESS END behav 分频器电路 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY FEN IS PORT CLK IN STD LOGIC FOUT OUT STD LOGIC 19 END ARCHITECTURE one OF FEN IS SIGNAL FULL STD LOGIC BEGIN P REG PROCESS CLK V ARIABLE CNT8 STD LOGIC VECTOR 4 DOWNTO 0 INPORTANT BEGIN IF CLK EVENT AND CLK 1 THEN 512fen IF CNT8 11111 THEN CNT8 00000 当 CNT8 计数计满时 输入数据 D 被同步预置给计数器 CNT8 FULL 1 同时使溢出标志信号 FULL 输出为高电平 ELSE CNT8 CNT8 1 否则继续作加 1 计数 FULL 0 且输出溢出标志信号 FULL 为低电平 END IF END IF END PROCESS P REG P DIV PROCESS FULL V ARIABLE CNT2 STD LOGIC BEGIN IF FULL EVENT AND FULL 1 THEN CNT2 NOT CNT2 如果溢出标志信号 FULL 为高电平 D 触发器输出取反 IF CNT2 1 THEN FOUT 1 ELSE FOUT End Time 来设定仿真结束时间 4 在 CLOCK 窗口中设置 clk 的时钟周期为 10ns 5 点击 save 保存 6 通过 Tools 下的 Simulator Tools 项进行仿真 然后观察输出波形 仿真波形如下 21 当没有完成模 60 计数 即使 S 1 状态 也不发生改变 60 秒过后 若 S 1 主道进入黄 灯状态并保持 4 秒 20 秒过后 不论 S 1 或 0 乡道进 入黄灯状态并保 持 4 秒 当 S 一旦为 0 乡道立刻进入黄灯状态 并持续四秒 22 6 引脚设定 六 实验现象及验证六 实验现象及验证 1 当 电平 1 不按时 S 为 0 数码管一直保持 60 秒倒计时 计数结束后数码管保持 000001 状态 LED 灯保持 001100 2 当按下 电平 1 S 为 1 数码管倒计时 4 秒 LED 灯 011100 随后倒计时 20 秒 LED 灯 100001 此后倒计时 4 秒 LED 灯 001011 最后进入倒计时 60 秒 3 当倒计时 20 秒时 若灭掉 电平 1 S 变为 0 数码管倒计时 4 秒 LED 灯 001011 最后进 入倒计时 60 秒 6 个 led 分别对应主红黄绿 乡红黄绿 23 七 实验心得七 实验心得 24 南昌大学实验报告南昌大学实验报告 学生姓名 xx 学 号 61004100 xx 专业班级 通信 101 实验类型 验证 综合 设计 创新 实验日期 2012 10 29 实验成绩 实验实验五五 多功能数字钟设计多功能数字钟设计 一 实验目的一 实验目的 1 学习综合且较复杂数字系统设计 2 学习多层次 多模块数字系统设计 3 学习数码管扫描显示电路设计 二 设计要求二 设计要求 完成设计 仿真 调试 下载 硬件测试等环节 在型 EDA 实验装置上由简单到复杂实现多 功能数字钟功能 具体要求如下 1 数码管扫描显示时 分 秒 2 具有正常计时和调时 调分 调秒等校时功能 3 经设置应具有整点报时功能 4 经设置应具有闹钟功能 三三 主要仪器设备主要仪器设备 1 微机 1 台 2 QuartusII 集成开发软件 1 套 3 EDA 实验装置 1 套 四 实验思路四 实验思路 1 设计一个分频器 将扫描频率分为基准频率 2 设计三个分频单元 分别实现 60 60 24 分频 代表秒位 分位 十位 同时输出任 意时刻的值 3 设计一个译码显示电路 将分频单元的六个输出转化为数码管可以显示的段位码 通过动态扫描电路实现 4 设计一个报时器 通过设定起始和终止时间 完成报时功能 5 使用文本设计底层文件 并生成相应元器件 再使用原理图设计顶层文件 25 五 实验步骤五 实验步骤 1 建立工作库文件夹和编辑设计文件 1 建立一个文件夹保存工程文件 2 打开 QuartusII 建立新的 VHDL 文件 再打开的页面下输入以下程序 1 分频器模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY FEN IS PORT CLK IN STD LOGIC FOUT OUT STD LOGIC END ARCHITECTURE one OF FEN IS SIGNAL FULL STD LOGIC BEGIN P REG PROCESS CLK VARIABLE CNT8 STD LOGIC VECTOR 8 DOWNTO 0 INPORTANT BEGIN IF CLK EVENT AND CLK 1 THEN 64 2 2 2 2 1000 IF CNT8 111110011 THEN CNT8 000000000 当 CNT8 计数计满时 输入数据 D 被同步预置给计数器 CNT8 FULL 1 同时使溢出标志信号 FULL 输出为高电平 ELSE CNT8 CNT8 1 否则继续作加 1 计数 FULL 0 且输出溢出标志信号 FULL 为低电平 END IF END IF END PROCESS P REG P DIV PROCESS FULL VARIABLE CNT2 STD LOGIC BEGIN IF FULL EVENT AND FULL 1 THEN CNT2 NOT CNT2 如果溢出标志信号 FULL 为高电平 D 触发器输出取反 IF CNT2 1 THEN FOUT 1 ELSE FOUT 0 END IF END IF END PROCESS P DIV END 2 秒分频模块代码 26 library ieee use ieee std logic 1164 all use ieee std logic unsigned all USE IEEE STD LOGIC ARITH ALL entity second IS port clk1 rst1 in std logic cout1 out std logic cq0 out std logic vector 3 downto 0 cq1 out std logic vector 3 downto 0 END second ARCHITECTURE behave of second is SIGNAL d std logic vector 3 downto 0 SIGNAL g std logic vector 3 downto 0 BEGIN process clk1 rst1 d g BEGIN if rst1 1 then d 0000 g 0000 elsif clk1 EVENT and clk1 1 then if d 9 and g 5 then cout1 1 else cout1 0 end if if d 9 then d 0000 if g 5 then g 0000 else g g 1 end if else d d 1 end if end if end process cq0 d cq1 g end behave 3 译码显示模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL 27 USE IEEE STD LOGIC ARITH ALL ENTITY yima IS PORT CLK IN STD LOGIC RESET IN STD LOGIC SEC1 IN STD LOGIC VECTOR 3 DOWNTO 0 SEC2 IN STD LOGIC VECTOR 3 DOWNTO 0 MIN1 IN STD LOGIC VECTOR 3 DOWNTO 0 MIN2 IN STD LOGIC VECTOR 3 DOWNTO 0 HOUR1 IN STD LOGIC VECTOR 3 DOWNTO 0 HOUR2 IN STD LOGIC VECTOR 3 DOWNTO 0 DAOUT OUT STD LOGIC VECTOR 3 DOWNTO 0 SEL OUT STD LOGIC VECTOR 2 DOWNTO 0 END yima ARCHITECTURE ART OF yima IS SIGNAL COUNT STD LOGIC VECTOR 2 DOWNTO 0 BEGIN PROCESS CLK RESET BEGIN IF RESET 1 THEN COUNT 101 THEN COUNT 000 ELSE COUNT COUNT 1 END IF END IF END PROCESS PROCESS CLK RESET BEGIN IF RESET 1 THEN DAOUT 0000 SELDAOUT SEC1 3 DOWNTO 0 SELDAOUT SEC2 3 DOWNTO 0 SELDAOUT MIN1 3 DOWNTO 0 28 SELDAOUT MIN2 3 DOWNTO 0 SELDAOUT HOUR1 3 DOWNTO 0 SELDAOUT HOUR2 3 DOWNTO 0 SELDAOUT 0000 SEL 111 END CASE END IF END PROCESS END ART 4 报时模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY BAOSHI IS PORT CLK IN STD LOGIC F S IN STD LOGIC VECTOR 3 DOWNTO 0 F G IN STD LOGIC VECTOR 3 DOWNTO 0 M S IN STD LOGIC VECTOR 3 DOWNTO 0 M G IN STD LOGIC VECTOR 3 DOWNTO 0 BOUT OUT STD LOGIC END BAOSHI ARCHITECTURE behav OF BAOSHI IS BEGIN PROCESS M G BEGIN IF F S 0101 AND F G 1001 AND M S 0101 AND M G 0000 THEN BOUT CLK END IF IF F S 0000 AND F G 0000 AND M S 0000 AND M G 0000 THEN BOUTEnd Time 来设定仿真结束时间 4 在 CLOCK 窗口中设置 clk 的时钟周期为 10ns 5 点击 save 保存 6 通过 Tools 下的 Simulator Tools 项进行仿真 然后观察输出波形 仿真波形如下 1 1000 分频模块仿真 2 秒分频模块仿真 6 引脚设定 31 六 六 实验现象及验证实验现象及验证 1 数码管的前六位分别显示小时 分 秒 2 通过用户按键 可以调节小时 分的值 达到调时的功能 3 当时间到达 59 分 50 秒的时候 指示灯亮 到 00 分 00 秒时 指示灯灭 七 实验心得七 实验心得 32 南昌大学实验报告南昌大学实验报告 学生姓名 xx 学 号 61004100 xx 专业班级 通信 101 实验类型 验证 综合 设计 创新 实验日期 2012 11 5 实验成绩 实验实验六六 出租车计价器设计出租车计价器设计 一 实验目的一 实验目的 学习综合且较复杂数字系统设计 学习多层次 多模块数字系统设计 学习数码管扫描显示电路设计 二 实验任务及要求二 实验任务及要求 1 能实现计费功能 计费标准为 按行驶里程收费 起步费为 3 00 元 并在车行 1 公里后再按 1 元 公里 2 设计动态扫描电路 将车费显示出来 有两位小数 3 用 VHDL 语言设计符合上述功能要求的出租车计费器 并用层次化设计方法设计该电路 4 各计数器的计数状态用功能仿真的方法验证 并通过有关波形确认电路设计是否正确 5 完成电路全部设计后 通过系统实验箱下载验证设计课题的正确性 三三 主要仪器设备主要仪器设备 微机 1 台 QuartusII 集成开发软件 1 套 EDA 实验装置 1 套 四 实验思路四 实验思路 1 设计一个分频器 将扫描频率分为基准频率 2 设计一个累加器 累计路程的公里数 3 设计一个运算单元 根据价格与路程的函数关系 计算价格并输出 4 设计两个二进制转 BCD 码单元 将路程和价格分别转化为 BCD 码 并通过译码显 示电路显示 5 使用文本设计底层文件 并生成相应元器件 再使用原理图设计顶层文件 33 五 实验步骤五 实验步骤 1 建立工作库文件夹和编辑设计文件 1 建立一个文件夹保存工程文件 2 打开 QuartusII 建立新的 VHDL 文件 再打开的页面下输入以下程序 分频器模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY FPQ IS PORT CLK IN STD LOGIC FOUT OUT STD LOGIC END ARCHITECTURE one OF FPQ IS SIGNAL FULL STD LOGIC BEGIN P REG PROCESS CLK VARIABLE CNT8 STD LOGIC VECTOR 8 DOWNTO 0 INPORTANT BEGIN IF CLK EVENT AND CLK 1 THEN 50 2 100 IF CNT8 000110001 THEN CNT8 000000000 当 CNT8 计数计满时 输入数据 D 被同步预置给计数器 CNT8 FULL 1 同时使溢出标志信号 FULL 输出为高电平 ELSE CNT8 CNT8 1 否则继续作加 1 计数 FULL 0 且输出溢出标志信号 FULL 为低电平 END IF END IF END PROCESS P REG P DIV PROCESS FULL VARIABLE CNT2 STD LOGIC BEGIN IF FULL EVENT AND FULL 1 THEN CNT2 NOT CNT2 如果溢出标志信号 FULL 为高电平 D 触发器输出取反 IF CNT2 1 THEN FOUT 1 ELSE FOUT 0 END IF END IF END PROCESS P DIV END 累加器模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL 34 ENTITY FEN IS PORT CLK IN STD LOGIC RST IN STD LOGIC COM OUT STD LOGIC VECTOR 13 DOWNTO 0 FOUT OUT STD LOGIC END ARCHITECTURE one OF FEN IS SIGNAL FULL STD LOGIC BEGIN P REG PROCESS CLK VARIABLE CNT STD LOGIC VECTOR 13 DOWNTO 0 INPORTANT BEGIN IF RST 0 THEN CNT 00000000000000 ELSIF CLK EVENT AND CLK 1 THEN IF CNT 10011100001111 THEN 9999 CNT 00000000000000 当 CNT8 计数计满时 输入数据 D 被同步预置给计数器 CNT8 FULL 1 同时使溢出标志信号 FULL 输出为高电平 ELSE CNT CNT 1 否则继续作加 1 计数 FULL 0 且输出溢出标志信号 FULL 为低电平 END IF END IF COM CNT END PROCESS P REG P DIV PROCESS FULL VARIABLE CNT2 STD LOGIC BEGIN IF FULL EVENT AND FULL 1 THEN CNT2 NOT CNT2 如果溢出标志信号 FULL 为高电平 D 触发器输出取反 IF CNT2 1 THEN FOUT 1 ELSE FOUT 0 END IF END IF END PROCESS P DIV END 价格运算模块代码 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY MONEY IS PORT L IN integer range 0 to 9999 M OUT integer range 0 to 9999 END 35 ARCHITECTURE one OF MONEY IS SIGNAL TEM integer range 0 to 9999 BEGIN PROCESS L BEGIN TEM L IF TEM 10 THEN M 30 ELSE M 300 TEM 10 5 END IF END PROCESS END 二进制转 BCD 模块代码 LIBRARY IEEE USE IEEE STD LOGIC ARITH ALL USE IEEE STD LOGIC UNSIGNED ALL USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY HEX2BCD IS PORT HEXIN IN STD LOGIC VECTOR 13 DOWNTO 0 QIAN OUT STD LOGIC VECTOR 3 DOWNTO 0 BAI OUT STD LOGIC VECTOR 3 DOWNTO 0 SHI OUT STD LOGIC VECTOR 3 DOWNTO 0 GE OUT STD LOGIC VECTOR 3 DOWNTO 0 END HEX2BCD ARCHITECTURE RTL OF HEX2BCD IS BEGIN PROCESS HEXIN VARIABLE NUM INTEGER RANGE 0 TO 9999 VARIABLE THUN HUNDERD TEN ONE INTEGER RANGE 0 TO 9 VARIABLE T1 H T2 O STD LOGIC VECTOR 3 DOWNTO 0 BEGIN NUM CONV INTEGER HEXIN THUN NUM 1000 HUNDE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论