数字系统设计技术课程设计报告
数字系统设计实验---32位串行加法器实验综述
深圳大学实验报告课程名称:_________ 数字系统设计________________________ 实验项目名称: 32位串行加法器______________________ 学院_______________________ 专业_______________________ 指导教师: ______________________________________________报告人: ________ 学号:20091000000班级:1班实验时间:__________ 2011-12-4 ________________________实验报告提交时间:______________________教务处制一、实验目的与要求:实验目的:1、掌握串行加法器的原理和设计。
2、熟悉VHDL状态机的设计。
3、学会分析波形图。
实验要求:设计一个用一个1位加法器构建的一个32位串行加法器。
重点是算法状态机的实现还有系统的时序分析;输出和整理VHDL源代码;输出和整理电路结构图;输出和整理仿真波形图二、实验原理1、设计原理图:本图参考课本2、流程图:针对以上流程图,其中,Sh为控制移位寄存器的使能信号,k为工作状态指示信号,load为加载信号,counter为运算计数器,N为系统工作控制信号。
从流程图中可以看出加法器的整个工作流程是怎么样子的,具体工作情况如下面的设计。
三、实验内容与步骤1、VHDL代码的编写:----------- 控制器--------------------------------------------- library IEEE;use IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_ un sig ned.all;en tity con troller isPort ( clk : in STD_LOGIC;N : in STD_LOGIC;K,Sh,load : out STD_LOGIC);end con troller;architecture Behavioral of con troller issig nal state ,n extstate:i nteger range 0 to 2; ---设置状态sig nal coun ter:std_logic_vector(4 dow nto 0);beginprocess(clk)beginif(clk'event and clk='1') thenstate<=n extstate;end if;end process;process(clk,N)beginif(clk'event and clk='1') thencase state is ---设置各状态when 0 =>sh<='0';K<='0';load<='0';cou nter<="00000"; if N='1' the nload<='1';n extstate<=1;elsen extstate<=0;end if;when 1 =>sh<='1';K<='0';load<='0';if cou nter="11110" thencoun ter<=co un ter+1;n extstate<=2;elsecoun ter<=co un ter+1;n extstate<=1;end if;when 2 =>sh<='0';K<='1';load<='0:if N='0' the nn extstate<=0;elsen extstate<=2;end if;end case;end if;end process;end Behavioral;-------------- 加数寄存器 -------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;en tity registers_jiashu isPort ( in put : in STD_LOGIC_vector(31 dow nto 0);Sh,load,clk: in STD_LOGIC; SO : out STD_LOGIC);end registers_jiashu;architecture Behavioral of registers_jiashu is sig nal x:std_logic_vector(31 dow nto 0); begin process(clk) beginif(clk'event and clk='1') thenif (load='1‘)then x<=in put;elsif (sh='1') the n ---:x(30 dow nto 0)<=x(31 dow nto 1);end if;end if;end process;so<=x(0);end Behavioral;-------------- 累加器 ---------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;en tity registers_add isPort ( in put : in STD_LOGIC_vector(31 dow nto 0);clk : in STD_LOGIC;load,Sh,Si: in STD_LOGIC;SO : out STD LOGIC;output:out std_logic_vector(31 dow nto 0));end registers_add;architecture Behavioral of registers_add issig nal x:std_logic_vector(31 dow nto 0);beginprocess(clk)N<='0';wait for 10*clk_period; --延时10个时钟周期,进入下一轮仿真调试in putA<="01010101010101010101010101010101"; -- i nputa= 1431655765,in putB<="00110000000000000000000010101000"; -- i nputb= 805306536,N<='1'; --N=1时开始计时,并开始下载数据wait for 32*clk_period;--32 个时钟周期之后N<='0:--N=0,停止数据下载,得出相加后的结果wait for 10*clk_period; --延时10个时钟周期,进入下一轮仿真调试wait;end process;END;四、实验数据与分析1、综合的电路:设计图外观1 :adder 32l设计图外观2:adder_32oiJtputA(31:0)incl kNadder_321、控制器:2、全加器:情况二:in puta= 1431655765, in putb=805306536,outputa=2236962301Q- /adder _3 2_tE5tbendn /inputa EJ- /adder _32_te5tbenefi /inputb/adder _32_te£tbencfi /dk/adder_32Jbestberdn /n Q-」/adder_32_tEstberidi/outputa/addcr_32_testberidiA 731381211114 J1>55765805^)65363i ・i i17B957306J22369623012、仿真的波形图如下:情况一:in puta二 73,i nputb二 138,outputa=211/adder _32_t)&stlbench/inpLi taD- /adder _3 2_te&tbendi/inp*j thJ/ adder _32_testben 击/die /adder_32_testbendiAi/adder_3Z_testbendi/outputaJ/adder _32_testbench 4cD- /adder _3 2_testbendi^nputa73Q- .. add er 2_test±)endi /inpu tb133/adder _32_tes±>erKh/dk1/adder_32_testbendi /h0C- /adder _32_testberKhAxjtpu ta211/adder_32_testbencti 水1数据处理分析:每次从N=1开始,加法器进行数据下载,32个时钟周期之后,当N=0时, 输出k=1,表示串行累加的过程结束,此时输出的结果即为加法器的最后结果。
《计算机系统综合设计》课程设计
xxxx大学计算机科学与技术学院课程设计说明书题目:实验计算机指令的设计(三)课程:计算机系统综合设计院(部):计算机科学与技术学院专业:网络工程班级:网络101班学生姓名: xxx学号: **********指导教师: xxx完成日期: 2013年1月17日目录一、课程设计题目 (4)二、课程设计目的 (4)三、课程设计方案 (4)四、课程设计内容 (4)(一)、硬件资源 (4)1.运算器模块 (4)2.寄存器堆模块 (5)3.指令部件模块 (5)4.内存模块 (5)5.总线缓冲模块 (5)6.微程序控制模块 (5)7.启停和时序模块 (6)8.整机逻辑框图 (6)(二)、设计指令 (8)1、指令操作数寻址方式及其代码 (8)2、指令执行流程 (8)(三)、确定微操作控制信号及其实现方法 (10)1、设计微指令格式 (10)2、微程序控制方式 (10)3、设计实验接线表 (11)4.PLD方程.................................................................................................. 错误!未定义书签。
(四)、指令编码及微程序 . (15)(五)、程序调试 (17)五、结论 (18)六、参考文献 (22)山东建筑大学计算机科学与技术学院课程设计任务书指导教师(签字):教研室主任(签字):一、课程设计题目实验计算机指令的设计(三)二、课程设计目的在学习了专业基础课《计算机组成原理A》和《系统结构》课程的基础上,通过设计简单实验计算机的部分指令,加深对计算机硬件结构和系统软件的认识,初步掌握计算机指令的设计与使用方法。
巩固对“计算机组成原理与系统结构”概念的理解;加深对计算机组成、结构、工作原理、工作过程的理解和认识;提高综合运用所学知识进行系统分析、设计的能力。
三、课程设计方案基于FD-CES实验箱的硬件模块平台,通过PC机和可编程逻辑(PLD)电路实验板,完成简单实验计算机的部分指令的控制信号线的连接、编码、微程序的设计,在FD-CES实验箱的控制台上运行用所设计的指令编写的程序,验证设计指令的正确性。
现代数字系统设计
微地址产生器产 2.5.3.1 微程序控制器典型结构 生下一条应执行 的微指令。 微控制器产 生局部时钟, 控制各寄存 器的操作, 接收数据子 系统的开启 或终止信号。
2.5.3.3 微程序流的控制
微程序流的执行方法可以有许多种,如顺 序的、条件转移或无条件转移、循环或子 程序调用等,因此控制方法也是多样的, 这些方法集中到一点,即如何设计微程序 控制器中的微地址产生器。 微地址产生器如何根据当前的微指令及一 些相应的条件来确定下一条微指令的地址。
秒脉冲发生器
(3)锁相频率合成技术方案
与DDS类似,采用查表方式,通过改变ROM地址 产生器的时钟CP频率来改变输出信号的频率,而 时钟信号来自锁相环路VCO的输出。
鉴相器 PD 环路滤波器 LF 压控振荡器 VCO fVCO 地址计数器 (模200)
fVCO/N
分频器 ÷N
ROM (/M) fO A D/A
(3)锁相频率合成技术方案
步进1Hz,fr=200Hz。 fVCOmin=20×200=4kHz, fVCOmax=20k×200=4MHz,频率覆盖率为 1000。 若采用单片集成锁相环74HC4046,其 VCO最高工作频率为30MHz,频率覆盖率 为10,因此需将系统分成三个波段。
4.3.1.3 方案论证与框图
方案二:
4.3.1.3 方案论证与框图
方案三:
6.1 实用信号源的设计
信号源是电子系统设计、测试、维修所必 需的仪器。它的性能、指标、使用方法对 于广大电子线路工作者的工作有着重大影 响。因此,本节重点要求大家掌握信号源 的组成并能够自己设计一个高指标的信号 源。
北京理工大学数字系统设计与实验报告
3、仿真结果 功能仿真设置:
功能仿真结果: (1)总体仿真结果
(2)reset 高有效和二分频仿真结果
(3)四分频仿真结果
(4)八分频仿真结果
(5)十六分频仿真结果
四、实验心得
通过本次实验,设计频率可选的模十状态机以及 7 段译码电路,学会了以代码 形式实现频率多路选择器的功能,巩固了模十状态机的实现方式,进一步掌握 VerilogHDL 硬件描述语言。
功能仿真结果:
时序仿真设置:
时序仿真结果:
2、 3—8 译码器 (1)设计思路 随着时钟信号 clk 上升沿的到来,输入 D2D1D0 从 000 加到 111,每个输入 D2D1D0 对应着一个输出 Q7Q6Q5Q4Q3Q2Q1Q0,对应关系如真值表所示:
输入 D2 0 0 0 0 1 1 1 1 D1 0 0 1 1 0 0 1 1 D0 0 1 0 1 0 1 0 1 Q7 0 0 0 0 0 0 0 1 Q6 0 0 0 0 0 0 1 0 Q5 0 0 0 0 0 1 0 0 Q4 0 0 0 0 1 0 0 0
seg <= 7'b0011001; 5: seg <= 7'b0010010; 6: seg <= 7'b0000010; 7: seg <= 7'b1111000; 8: seg <= 7'b0000000; 9: seg <= 7'b0010000; default: seg <= 7'b0001000; endcase end endmodule (2)功能图
三、设计与实现
1、设计思路 (1) 、时钟信号 clk 作为分频器的输入,分频器的设计思路为设计一个模十六计 数器,cp0(Q0)输出即为二分频信号,cp1(Q1)输出即为四分频信号,cp2(Q2) 输出即为八分频信号,cp3(Q3)输出即为十六分频信号。分频器的输出由 4 选 1 多 路选择器的选择输入端 select 选择 2 分频、4 分频、 8 分频和 16 分频其中之一作为状 态机的时钟输入,当 select 为 0 时,输出为二分频信号;为 1 时,输出为四分频信 号;为 2 时,输出为八分频信号;为 3 时,输出为十六分频信号。 (2) 、reset 为高有效,则若 reset 信号为 1 时,qout 置为 0,则 now_state 为 0。 若 reset 信号为 0 时, qout 自加,并作为状态机的输入 驱动,让状态机按照 0->2->5->6->1->9->4->8->7->3->0 的顺序输出。 (3) 、状态机按照 0->2->5->6->1->9->4->8->7->3->0 的顺序输出,并使用此输出 作为驱动输入到 7 段译码器的显示逻辑。
华南理工大学数字系统设计实验3报告资料
实验三基于状态机的交通灯控制地点:31号楼312房;实验台号:12实验日期与时间:2017年12月08日评分:预习检查纪录:批改教师:报告内容:一、实验要求1、开发板上三个led等分别代表公路上红黄绿三种颜色交通灯。
2、交通灯状态机初始状态为红灯,交通灯工作过程依次是红→绿→黄→红。
3、为了方便观察,本次实验要求红灯的显示时间为9s,绿灯显示时间为6s,黄灯显示时间为3s,时间需要倒计时,在数码管上显示。
编程之前要求同学们先画好ASM图。
4、1Hz分频模块请采用第二次实验中的内容,7段码显示模块请参考书本相关内容。
5、第三次实验课用到EP2C8Q208C8通过74HC595驱动数码管,有两种方法写该模块代码:方法1,用VHDL语言写,(自己写VHDL代码有加实验分)。
方法2,可调用verilog数码管驱动模块,该模块在附件“seg.zip”中。
和其它VHDL编写的模块可以混搭在一个电路图中使用。
EP2C8Q208C8的SCTP,SHCP,SER_DATA数码管信号线通过两块74HC595集成块,再驱动数码管。
6、芯片型号:cyclone:EP2C8Q208C8,开发板所有资料都在“新板”附件中,其中管脚配置在实验要求中是不对的,以“新板”附件中为准。
二、实验内容1设计要求开发板上三个led等分别代表公路上红黄绿三种颜色交通灯。
交通灯状态机初始状态为红灯,交通灯工作过程依次是红→绿→黄→红。
本次实验要求红灯的显示时间为9s,绿灯显示时间为6s,黄灯显示时间为3s,时间需要倒计时,在数码管上显示。
2设计思路(1)数码管驱动第三次实验课用到EP2C8Q208C8通过74HC595驱动数码管,有两种方法写该模块代码:方法1,用VHDL语言写,(自己写VHDL代码有加实验分)。
方法2,可调用verilog数码管驱动模块,该模块在附件“seg.zip”中。
和其它VHDL 编写的模块可以混搭在一个电路图中使用。
数字系统设计综合实验报告
数字系统设计综合实验报告实验名称:1、加法器设计2、编码器设计3、译码器设计4、数据选择器设计5、计数器设计6、累加器设计7、交通灯控制器设计班级:姓名:学号:指导老师:实验1 加法器设计1)实验目的(1)复习加法器的分类及工作原理。
(2)掌握用图形法设计半加器的方法。
(3)掌握用元件例化法设计全加器的方法。
(4)掌握用元件例化法设计多位加法器的方法。
(5)掌握用Verilog HDL语言设计多位加法器的方法。
(6)学习运用波形仿真验证程序的正确性。
(7)学习定时分析工具的使用方法。
2)实验原理加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。
目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。
加法器可分为1位加法器和多位加法器两大类。
1位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。
(1)半加器如果不考虑来自低位的进位而将两个1位二进制数相加,称半加。
实现半加运算的电路则称为半加器。
若设A和B是两个1位的加数,S 是两者相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到。
(2)全加器在将两个1位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。
实现全加运算的电路则称为全加器。
若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到:3)实验内容及步骤(1)用图形法设计半加器,仿真设计结果。
(2)用原件例化的方法设计全加器,仿真设计结果(3)用原件例化的方法设计一个4为二进制加法器,仿真设计结果,进行定时分析。
(4)用Verilog HDL语言设计一个4为二进制加法器,仿真设计结果,进行定时分析。
(5)分别下载用上述两种方法设计4为加法器,并进行在线测试。
4)设计1)用图形法设计的半加器,如下图1所示,由其生成的符号如图2所示。
eda课程设计报告
eda课程设计报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用EDA软件进行电路设计与仿真,理解并掌握数字电路的设计原理。
3. 学生了解并掌握基础的硬件描述语言(如VHDL/Verilog),能完成简单的数字系统设计。
技能目标:1. 学生通过EDA软件的操作,培养电子电路设计、仿真与验证的实际操作能力。
2. 学生通过小组合作完成设计项目,提高团队协作与沟通技巧。
3. 学生能够运用所学知识解决实际问题,具备一定的创新意识和动手能力。
情感态度价值观目标:1. 学生在EDA课程学习中,培养对电子科学技术的兴趣和探究精神。
2. 学生通过课程实践,增强自信心和成就感,激发进一步学习的动力。
3. 学生在学习过程中,树立正确的工程伦理观念,认识到技术发展对社会的责任和影响。
课程性质:本课程为电子信息工程及相关专业高年级学生的专业核心课程,旨在通过理论与实践相结合的教学,提高学生的电子设计能力。
学生特点:学生已具备一定的电子技术基础,具有较强的学习能力和实践欲望,对新技术和新工具充满好奇心。
教学要求:结合学生特点,注重培养实际操作能力,鼓励学生创新思维,提高解决实际问题的能力。
通过课程目标分解,确保学生在知识、技能和情感态度价值观方面的全面成长。
后续教学设计和评估将以此为基础,关注学生的学习成果。
二、教学内容根据课程目标,教学内容分为以下三个模块:1. EDA基本概念与工具使用- 教材章节:第一章 EDA技术概述,第二章 EDA工具简介- 内容列举:EDA发展历程,常用EDA软件介绍,软件安装与配置,基本操作流程。
2. 数字电路设计与仿真- 教材章节:第三章 数字电路设计基础,第四章 仿真技术- 内容列举:数字电路设计原理,EDA软件电路设计流程,仿真参数设置,波形分析与验证。
3. 硬件描述语言与数字系统设计- 教材章节:第五章 硬件描述语言,第六章 数字系统设计实例- 内容列举:硬件描述语言基础,VHDL/Verilog语法要点,简单数字系统设计方法,设计实例分析与实操。
数电课程设计报告
数电课程设计报告郑州科技学院《数字电子技术》课程设计题目____________________学生姓名专业班级学号院(系)指导教师完成时间 2013年月日目录1课程设计的目的 (1)2课程设计的任务与要求…………………………………………23设计方案与论证 (3)3.1 (3)3.2 (4)4设计原理及功能说明 (5)5单元电路的设计(计算与说1明) (5)6硬件的制作与调试 (5)7总结 (10)参考文献 (15)附录1:总体电路原理图 (18)附录2:元器件清单 (19)2一、总体概述1.1 设计意义随着社会的不断进步和科学技术,经济的不断发展,人们生活水平得到很大的提高,汽车已经广泛的进入了人们的生活。
而作为汽车电路重要的组成部分---汽车尾灯控制系统,人们对它的认识还存在许多的局限性,还有待我们继续对其进行研究和探讨。
所以设计一套更好更合理的汽车尾灯系统,对汽车业的发展,对经济的发展有着深远的影响。
1.2 设计目的通过本课程的设计,我们应该做到:(1)更好的巩固和加深对基础知识的理解,学会设计中小型数字系统的方法,独立完成调试过程,增强我们理论联系实际的能力,提高学生电路设计和分析能力。
(2)通过实践,在理论指导下有所创新,为后继专业课的学习和日后工程实践奠定基础。
1.2 设计要求汽车尾灯的控制电路由三个按键组成,分别对应左转,右转和刹车。
汽车尾灯左右两侧各有三个指示灯(用发光二极管模拟),汽3车正常远行时指示灯全灭;右转弯时,右侧3个指示灯按右循环顺序点亮;左转弯时左侧三个指示灯按左循环顺序点亮;临时刹车时所有指示灯同时闪烁。
1.3 设计特点(1)增加了新功能有应急显示,减速转弯显示,倒车显示。
(2)将转弯灯,刹车灯,倒车灯分开了,且根据不同的功能选用了不同颜色的LED灯。
这样不仅使电路更加简单,还更加符合实际情况。
(3)还特别增加了尾灯的自检功能,即尾灯不能正常工作会在仪表盘的对应灯上显示出来,及时提醒驾驶员去更换尾灯。
产品数字化设计实训报告
一、引言随着科技的飞速发展,数字化设计已成为产品研发和制造的重要手段。
为了提高我国制造业的竞争力,培养具有创新精神和实践能力的数字化设计人才,我国高校纷纷开设了产品数字化设计实训课程。
本文以某高校产品数字化设计实训为例,从实训目的、实训内容、实训过程和实训成果等方面进行总结和分析。
二、实训目的1. 培养学生掌握数字化设计的基本理论、方法和技能;2. 提高学生运用数字化工具进行产品设计的实践能力;3. 增强学生团队协作和沟通能力;4. 培养学生创新意识和创新能力。
三、实训内容1. 数字化设计软件学习:学习使用AutoCAD、SolidWorks、Pro/E等主流数字化设计软件,掌握基本操作和设计方法;2. 产品设计原理与技法:学习产品设计的基本原理、造型设计、结构设计、材料选择等;3. 产品数字化设计实践:以实际产品为对象,运用数字化设计软件进行产品造型、结构、工艺等方面的设计;4. 产品数字化设计答辩:针对设计成果进行答辩,锻炼学生的表达能力和沟通能力。
四、实训过程1. 实训前期准备:学生分组,明确各组成员分工,确定实训项目,搜集相关资料;2. 数字化设计软件学习:教师讲解软件操作方法和设计技巧,学生进行实践操作;3. 产品设计原理与技法学习:教师讲解产品设计的基本原理和技法,学生进行设计练习;4. 产品数字化设计实践:学生运用所学知识和技能进行产品数字化设计,教师进行指导;5. 产品数字化设计答辩:学生进行设计成果答辩,教师进行点评和指导。
五、实训成果1. 学生掌握了数字化设计的基本理论、方法和技能;2. 学生运用数字化设计软件完成了一系列产品数字化设计项目;3. 学生在设计过程中培养了团队协作和沟通能力;4. 学生在答辩过程中提高了表达能力和沟通能力;5. 学生通过实训,对数字化设计有了更深入的认识,激发了创新意识和创新能力。
六、实训总结1. 产品数字化设计实训课程有助于提高学生的数字化设计能力,为我国制造业培养了一批具有创新精神和实践能力的数字化设计人才;2. 实训课程内容丰富,理论与实践相结合,使学生能够在实际操作中掌握数字化设计技能;3. 实训过程中,教师应注重培养学生的团队协作和沟通能力,提高学生的综合素质;4. 在实训过程中,教师应及时了解学生的需求,调整教学内容和方法,确保实训效果。
fpga数字系统设计课程设计
fpga数字系统设计课程设计一、教学目标本课程的教学目标是使学生掌握FPGA数字系统设计的基本理论、方法和技术,培养学生进行数字系统分析和设计的能力。
具体目标如下:1.知识目标:学生能够理解并掌握FPGA的基本结构、工作原理和编程方法;了解数字系统设计的基本流程,掌握常用的数字电路设计方法。
2.技能目标:学生能够熟练使用FPGA设计工具,进行数字系统的分析和设计;能够独立完成数字电路的仿真、验证和编程。
3.情感态度价值观目标:培养学生对新技术的敏感性和好奇心,增强学生的创新意识和团队协作精神。
二、教学内容教学内容主要包括以下几个部分:1.FPGA的基本原理:介绍FPGA的结构、工作原理和编程方法。
2.数字系统设计方法:讲解数字系统设计的基本流程,包括需求分析、系统设计、电路设计、仿真验证等。
3.常用数字电路设计方法:包括组合逻辑电路、时序逻辑电路、数字信号处理器等的设计方法。
4.FPGA设计工具的使用:介绍常用的FPGA设计工具,如VHDL、Verilog等,以及如何进行数字电路的仿真、验证和编程。
三、教学方法为了提高教学效果,将采用多种教学方法相结合的方式进行教学:1.讲授法:通过讲解FPGA的基本原理、数字系统设计方法和常用数字电路设计方法,使学生掌握基本知识。
2.案例分析法:通过分析具体的数字电路设计案例,使学生了解并掌握数字电路设计的实际过程。
3.实验法:通过实验操作,使学生熟悉FPGA设计工具的使用,提高学生的实际操作能力。
四、教学资源为了支持教学内容和教学方法的实施,将准备以下教学资源:1.教材:《FPGA数字系统设计》。
2.参考书:提供相关的数字电路设计参考书籍,供学生自主学习。
3.多媒体资料:制作课件、实验视频等,以丰富教学手段,提高学生的学习兴趣。
4.实验设备:准备FPGA开发板、示波器等实验设备,供学生进行实验操作。
五、教学评估为了全面、客观地评估学生的学习成果,将采用多种评估方式相结合的方法:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和理解程度。
数字系统课程设计报告-交通灯-实验报告
交通灯控制电路摘要在一个交通繁忙的十字路口,没有交通灯来控制来往车辆和行人的通行,假设也没有交警,那会发生什么事情呢?后果是难以想象的,可能会陷入一片混乱,甚至瘫痪。
当然我们每个人都不希望这样。
我们作为社会的一员,每人都有责任为它的更加先进和快捷做出力所能及的事情。
我设计的这个交通控制系统可以通过交通灯控制东西方向车道和南北方向车道两条主次交叉道路上的车辆交替运行,用以减少交通事故的发生概率。
并且经过这次实验使得我对电子技术课程内容的理解和掌握有了更深一层的认识,也学会使用半导体元件和集成电路,掌握电子电路的基本分析方法和设计方法,进一步提高分析解决实际问题的综合能力,也为将来的就业或继续深造做好准备。
一、任务在城市道路上的交叉路口一般设置有交通灯,用于管理两条道路通行车辆。
现有一条主干道和一条支干道的汇合点形成十字交叉口,为确保车辆安全、迅速的通行,在交叉路口的每条道上设置一组交通灯,交通灯由红、黄、绿3色组成。
红灯亮表示此通道禁止车辆通过路口;黄灯亮表示此通道未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯亮表示该通道车辆可以通行。
要求设计一交通灯控制电路以控制十字路口两组交通灯的状态转换,指挥车辆安全通行。
指挥车辆安全通行。
设计要求1、基本要求(1)设计一个十字路口交通灯控制电路,要求主干道与支干道交替通行。
主干道通行时,主干道绿灯亮,支干道红灯亮,时间为60秒。
支干道通行时,支干道绿灯亮,主干道红灯亮,时间为30秒。
(2)每次绿灯变红灯时,要求黄灯先亮5秒钟。
此时另一路口红灯也不变。
(3)黄灯亮时,要求黄灯闪烁,频率为1Hz。
2、发挥部分要求在绿灯亮(通行时间内)和红灯亮(禁止通行时间内)均有倒计时显示。
二、设计方案选取与论证1、所选方案的理由:本设计的交通灯控制电路是综合运用了74LS192芯片、7474芯片和NE555芯片等的集成电路。
根据任务要求,用单片机或分立组件来实现是比较容易的,但是由于要求不能使用单片机设计,因此使用数字电路课程里学过的知识,运用它们来设计分析电路。
数字系统原理与设计课程设计指导书
数字系统原理与设计课程设计指导书南通大学电子信息学院2017年 2月一、课程设计要求1.完成课程设计,包括设计仿真与验证。
学生根据所选课题的任务、要求和条件进行总体的方案设计,通过论证与选择,确定总体方案。
此后运用EDA软件对方案进行程序设计、仿真分析。
2.通过本次课程设计,提高系统设计能力,增强工程实践能力和创新能力。
3.撰写总结报告。
总结报告是学生对课程设计全过程的系统总结,学生应按规定格式撰写说明书,说明书主要内容有:1)设计技术报告封面封面上应写明设计题目、学生姓名、专业、年级、指导教师姓名。
设计题目明确、简短,能反映设计的实质性内容。
2)摘要及关键词应扼要叙述设计的主要内容和特点,文字简练。
3)目录目录一般不超过3级,章节应编写所在的页码。
4)正文正文应全面、准确的反映设计的指导思想、设计进行的主要工作和所取得的结论和成果,正文应包含一下内容:(1)前言。
应说明设计的目的、意义、市场需求;阐述本设计要解决的技术难题以及解决技术难点的指导思想和要预期达到的技术效果。
(2)设计方案论证。
应说明设计原理并进行方案的选择,说明为什么要选择该设计方案(包括各种方案的分析、比较),还应阐述所采用的方案特点和设计的技术路线。
(3)计算部分。
这部分在设计说明书中占有相当大的比例。
在说明书中要列出各零件的工作条件、给定的参数、计算公式以及各主要参数计算的详细步骤和计算结果,并说明根据此计算应选用什么元器件和零部件。
对需要使用的计算机的设计还应包括各种软件的设计。
(4)结构设计部分。
这也是设计说明书的重要组成部分,应包括机械结构的设计、各种电气控制线路设计以及功能电路设计、计算机控制部件装置的设计等,以及以上各种设计所绘制的图纸。
(5)结论。
概括本设计的情况和价值,分析其特色、优点、有何创新、性能达到何种水平,并应指出其中存在的问题和今后改进的方向,特别是对设计中遇到的重要问题要重点指出并加以研究。
(6)参考文献。
EDA课程设计实验报告
EDA课程设计实验报告课程设计报告课程名称数字系统与逻辑设计课题名称 16*16点阵显示专业通信工程班级1181学号 131 7姓名肖浪指导教师乔汇东吴德建7月 2日湖南工程学院课程设计任务书课程名称数字系统与逻辑设计课题 16*16点阵显示专业班级通信工程1181 学生姓名肖浪学号 131 7指导老师乔汇东吴德建任务书下达日期年 6月 23日任务完成日期年7月2日《数字系统与逻辑设计》课程设计任务书一、设计目的全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常见的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。
二、设计要求1、设计正确,方案合理。
2、程序精炼,结构清晰。
3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
4、上机演示。
5、有详细的文档。
文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。
三、进度安排第十八周星期一:课题讲解,查阅资料星期二:总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。
目录一、课题的主要功能 (3)1.1问题描述 (3)1.2 功能描述 (4)二、课题的功能模块的划分 (4)2.1 系统的总体框图 (4)三、主要功能的实现 (5)3.1 1 8进制加法器设计 (5)3.2 2 16进制计数器设计 (5)3.3 列驱动设计 (5)3.4 字体显示控制器 (5)3.5 顶层文件设计 (5)四、系统调试与仿真 (6)4.1 程序仿真图 (6)4.2 16*16 LED点阵显示引脚分配 (8)4.3 程序运行结果 (9)五、总结与体会 (9)六、附件 (10)七、课程设计评分表 (20)一、课题的主要功能1.1问题描述本实验主要完成汉字字符在LED 上的显示,16*16 扫描LED 点阵的工作原理与8 位扫描数码管类似,只是显示的方式与结果不一样而已。
asic与verilog数字系统设计课程设计
ASIC与Verilog数字系统设计课程设计一、课程设计需求分析数字系统设计是计算机科学与技术专业的重要学科之一,是计算机基本原理和数字电路的重要组成部分。
ASIC和Verilog分别是数字系统设计的硬件语言和软件语言,二者都有其独特的优势。
本次课程设计的目的是让学生通过实际项目的操作,深入了解ASIC和Verilog的原理和使用方法,提高他们的实践能力和创新能力。
二、课程设计方案1. 课程设计内容本课程设计涉及ASIC和Verilog两个方向的实验,具体内容如下:•实验一:ASIC设计实验,根据要求,设计一个具有特定功能的芯片,学习ASIC设计流程和方法;•实验二:Verilog设计实验,使用Verilog语言,设计一个基于FPGA 的数字逻辑电路;2. 课程设计要求•要求学生对ASIC和Verilog软硬件语言有一定了解;•要求学生具备基本的数字电路设计能力;•要求学生能够熟练运用一款模拟器或仿真软件,进行ASIC和Verilog仿真实验;•要求学生负责自己的全部课程设计并撰写实验报告。
3. 课程设计评分要点•设计的芯片和电路功能是否按照要求实现;•ASIC和Verilog仿真实验是否成功、结果是否准确,并对结果进行详细分析和说明;•实验报告的撰写质量、报告的结构是否合理、文字表述是否清晰。
三、课程设计实施方案1. 实验设备和环境•一台具有ASIC设计功能的PC机;•一台FPGA开发板;•ModelSim仿真软件和Quartus软件。
2. 实验操作流程实验一:ASIC设计实验•确定芯片设计的功能和需求,并进行仿真验证;•进行芯片的逻辑设计,然后进行电路布局、布线和出版;•调试芯片并进行仿真试验,检验芯片功能是否正确。
实验二:Verilog设计实验•确定数字逻辑电路的功能和需求,进行仿真验证;•使用Verilog HDL进行电路设计,并进行综合和工艺映射;•在FPGA上实现设计的电路,并进行仿真试验,检验功能是否正确。
rfid系统设计课程设计报告
rfid系统设计课程设计报告一、教学目标本课程旨在通过学习RFID(无线射频识别)系统设计的基础理论、关键技术及应用领域,使学生掌握RFID系统的基本原理、组成结构、工作流程及其在物联网中的重要地位。
通过课程学习,学生应达到以下目标:1.了解RFID技术的基本概念、历史与发展趋势。
2.掌握RFID系统的核心组成部分,包括标签、读写器和应用系统。
3.理解RFID技术在各类应用场景中的工作原理和实施策略。
4.熟悉RFID技术的标准体系和国内外相关政策法规。
5.能够分析并选择合适的RFID解决方案。
6.掌握RFID系统的设计方法和步骤。
7.能够运用RFID技术解决实际问题,如物流管理、资产管理等。
8.具备一定的RFID系统调试、优化和故障排除能力。
情感态度价值观目标:1.培养学生对新兴技术的敏感性和好奇心,增强其学习新技术的积极性。
2.使学生认识到RFID技术在信息化社会中的重要作用,提高其责任感和使命感。
3.培养学生的团队协作精神和实践能力,为其将来的职业发展打下基础。
二、教学内容根据课程目标,本课程的教学内容主要包括以下几个部分:1.RFID技术概述:介绍RFID技术的基本概念、历史、发展趋势及其在物联网中的应用。
2.RFID系统结构:详细讲解RFID系统的核心组件,包括标签、读写器和应用系统,以及它们之间的关系。
3.RFID技术原理:深入解析RFID技术的工作原理,包括信号传输、数据编码和解码等关键技术。
4.RFID应用场景:介绍RFID技术在物流、制造、交通、医疗等领域的典型应用案例。
5.RFID系统设计:讲解RFID系统的设计方法和步骤,包括系统需求分析、方案选型、系统架构设计等。
6.RFID标准与法规:阐述RFID技术的标准体系,以及国内外相关政策法规。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:通过讲解RFID技术的基本概念、原理和应用,使学生掌握相关知识。
数字电路课程设计报告
数字电路课程设计报告一、课程目标知识目标:1. 理解数字电路的基本概念,掌握常用逻辑门的功能及符号表示;2. 学会分析简单的数字电路,并能正确运用逻辑门设计基本的数字逻辑电路;3. 掌握数字电路中时序逻辑的分析与设计方法,理解触发器的工作原理及其应用;4. 了解数字电路中常见的脉冲信号及其特点,为后续学习数字系统设计打下基础。
技能目标:1. 能够运用所学知识,正确绘制并搭建简单的数字电路;2. 能够运用逻辑门进行基本的数字逻辑电路设计,并验证电路的功能;3. 能够对给定的时序逻辑问题进行分析,设计出满足要求的触发器;4. 能够运用所学知识,解决实际数字电路问题,提高实践操作能力。
情感态度价值观目标:1. 培养学生对数字电路的兴趣,激发他们学习电子技术的热情;2. 培养学生严谨的科学态度,注重实验数据的准确性,提高学生的实验素养;3. 培养学生团队协作意识,提高沟通与表达能力,为将来从事电子技术相关领域工作奠定基础;4. 培养学生具备创新意识,敢于挑战困难,勇于探索未知领域。
本课程针对高中年级学生,结合学科特点和教学要求,注重理论联系实际,提高学生的实践操作能力。
通过本课程的学习,使学生掌握数字电路的基本知识和技能,培养他们分析问题、解决问题的能力,为后续学习电子技术打下坚实基础。
同时,注重培养学生的情感态度价值观,激发他们的学习兴趣,提高团队协作能力和创新意识。
课程目标具体、可衡量,便于教师进行教学设计和评估。
二、教学内容1. 数字电路基本概念:包括数字信号与模拟信号的对比,数字电路的特点与分类,常用数制及其转换方法。
2. 逻辑门电路:介绍基本逻辑门(与、或、非、异或门等)的功能、符号及真值表,组合逻辑电路的分析与设计。
教材章节:第2章“逻辑门电路”3. 时序逻辑电路:讲解触发器的工作原理、类型及应用,计数器、寄存器等时序逻辑电路的设计与分析。
教材章节:第3章“时序逻辑电路”4. 脉冲信号与数字电路:介绍脉冲信号的特点,分析555定时器电路及其应用,探讨数字电路中的时钟信号。
数字电子技术课程设计报告
《数字电子技术》课程设计报告结总题目:1、红绿灯控制器2、汽车尾灯控制器设计日期:2011 年5 月21 日目录一.设计任务书二.设计框图及整机概述三.各单元电路的设计方案及原理说明四.调试过程及结果分析五.附录(包括:整机逻辑电路图和元器件清单)六.设计、安装及调试中的体会七、对本次课程设计的意见及建议红绿灯控制器一、设计任务书1、题目:红绿灯控制器2、设计要求设计一个红绿灯控制器设计应具有以下功能基本设计要求:设计一个红绿灯控制器控制器设计应具有以下功能(1)东西方向绿灯亮,南北方向红灯亮。
.(2)东西方向黄灯亮,南北方向红灯亮。
(3)东西方向红灯亮,南北方向绿灯亮。
(4 ) 东西方向红灯亮,南北方向黄灯亮。
要求有时间显示(顺数、逆数皆可),时间自定。
(大于15 秒以上),可添加其他功能。
3、给定条件只能采用实验室提供的中小规模电路进行设计。
(不一定是实验用过的)图十字路口交通示意二、设计框图及整机概述该电路主要由以下五部分组成:1、状态控制器2、状态译码器3、减法计数器4、秒脉冲发生器 55、预置数电路信号灯显示电路整机概述:该电路旨在模拟交通灯基本工作原理。
在预置数电路信号灯显示电路中设定东西方向绿灯(38 秒)、黄灯(10 秒)、红灯(28 秒),电路按照设计要求的状态工作。
设计结构框图:数码管显示减法计数脉冲发生器状态控制器状态译码器信号灯显示明说设电路的计方案及原理三.元各单控制器1 状态所示通灯工作流程如图2 (1)交主道绿灯亮,支道红灯亮秒末38主道黄灯亮,支道红灯亮10 秒末主亮道红灯亮,支道绿灯0 秒末(2)状态控制器主道黄灯亮,支道红灯((主道绿灯亮,支道红灯亮)、SS 信号灯四种不同的状态分别用10主道红灯亮,支道黄灯亮)表示,其状态编码及状态(主道红灯亮,支道绿灯亮亮)、()、S32S所示。
3转换图=0=00=1=10电路如图所示:所以状态控制器2、状态译码器设计主、支道上红、绿、黄(用蓝灯表示)信号灯的状态主要取决状态控制器的输出状态。
数字电子技术课程设计报告
数字电子技术课程设计报告题目:医院病人紧急呼叫系统专业:电子信息工程班级: 08电子(2)班组别:第五组姓名:陶芳丽王晓利李若泽周倩倩陈艳郭伟指导教师:秦忠基设计日期:2010-6-21医院病人紧急呼叫系统设计报告摘要:该电路主要是针对医院病人紧急呼叫来设计的。
通过病人按下按钮来呼叫的,只要病人按下按钮,锁存器来锁存信息,再经过优先编码器来完成信号优先级的判别,并提供相关的显示输出编码,然后通过译码器译出当前最高级别的呼叫,并显示出来,待医护人员处理完后,清除该呼叫的触发器信号,转而对其他呼叫输入进行判别处理。
关键词:呼叫锁存信息优先编码译码清除一、设计目的作用该电路主要是为医院病人紧急呼叫设计的。
通过该电路的设计来实现病人和医护人员的交流,病人按下按钮,再通过锁存器锁存信息,优先编码器的最高级别判别,然后通过译码器译出当前最高级别的呼叫,来通知医护人员对所来信息进行处理,这样就不需要病人直接呼喊来通知医护人员了,既保证了医院的秩序,又解决了病人的紧急呼叫,病人也不会面临危险。
而且医护人员处理完后,对信息进行清除,以防该信息对后来的信息进行干扰,保证其正常运行。
该电路给医院提供了方便,在医院方面得到了广泛的应用。
二、设计要求(1).当病人紧急呼叫时,产生声、光提示,并显示病人编号。
(2).根据病人病情设置优先级别。
当有多人呼叫时,病情严重者优先。
(3).医护人员处理完当前最高级别的呼叫后,系统按优先级别显示其它呼叫病人的编号。
三、设计的具体实现1、系统概述本电路是针对病人紧急呼叫而设计的。
该电路有四个按钮,只要任意一个病人按下按钮,该信息就会被锁存在对应的74LS279中,其中74LS279是非S2非R2端均为高电平时来锁存信息的,病人按下按钮,非R1端立即由高电平变为低电平,锁存器锁存信息,然后将四路锁存器的输出接入74LS148优先编码器其中的四个输入端D1D2D3D4,通过优先编码器来完成信号优先级的判别,同时用74LS04D来驱动译码器工作,并将编码器输出结果在数码管上显示出来,这时医护人员会根据数码管上显示的数字去处理病人的紧急情况,待医护人员处理完后,再按下与触发器相连的清除按钮清除信息。
数字电路与逻辑设计 数字系统设计
原理图的绘制
原理图的层次化
总线 (bus)
时序图
五、数字系统设计实例 例1:七段数码管动态显示
动态显示效果 滚动显示?
一、 概述
1. 何为数字系统
处理数字信息的电子系统。 “电路”强调功能模块(部件)的单元性; “系统”强调功能的完整性。
2. 数字系统的特点
稳定--对元件参数不敏感(工作状态离散、 信号电平离散〕;
精确--可通过增加数据位数提高处理精度;
可靠--信息冗余(检错、纠错〕和硬件冗余 (容错〕;
模块化--复杂的功能易于分解,各模块间的 信号接口简单。
二、 数字系统设计方法
1、自上而下的设计方法 (正向设计) 一般用于全新设计。
TOP-DOWN 设计方法
2、 自下而上的设计(反向设计) 对已有系统或相似系统进行修改、扩充等。
层次化设计方法 混合输入方式
三、数字系统设计相关概念 1. 传输延时(propagation delay)
2. 建立,保持时间(Setup time , hold time)
电路规格说明: 输入输出,功能说lock diagram
原理图:
信号命名与有效电平 signal names & active levels 高有效:Active High ENABLE 低有效:Active Low ENABLE_L
圈到圈逻辑设计 bubble to bubble logic design
3. 数字系统的实现方法 (1) 通用SSI,MSI集成电路
TTL、CMOS等SSI,MSI器件 (2) 可编程逻辑器件
GAL、CPLD、FPGA等 (3) 全定制专用集成电路(ASIC)
华南理工大学数字系统设计实验4报告
//????? 0~F ?????? parameter SEG_NUM0 SEG_NUM1 SEG_NUM2 SEG_NUM3 SEG_NUM4 SEG_NUM5 SEG_NUM6 SEG_NUM7 SEG_NUM8 SEG_NUM9 SEG_NUMA SEG_NUMB SEG_NUMC SEG_NUMD = 8'hc0, = 8'hf9, = 8'ha4, = 8'hb0, = 8'h99, = 8'h92, = 8'h82, = 8'hF8, = 8'h80, = 8'h90, = 8'h88, = 8'h83, = 8'hc6, = 8'ha1, 8
实验日期与时间: 预习检查纪录:
2017 年 12 月 22 日
批改教师:
报告内容:
一、实验要求
运用状态机设计按键控制数码管显示的电路系统 设计要求: 1、 按键控制数码管显示,当按下 S2 时,Q4 数码管显示 1;再次按下 S2,Q4 数码管 显示 2; 2、 第三次按下 S2,Q4 数码管显示 3;第四次按下 S2 时,Q4 数码管显示 4.第五次按 下 S2 时 Q4 又从 1 开始显示,如此反复。 3、 检测按键是否按下需要消抖,消抖程序请同学们参考附录程序,参考程序是利用四 个按键控制四个 LED 灯的亮灭。请同学们在读懂参考程序的基础上将其改编为符合要 求 1 的程序。 4、 参考程序是普通的控制程序,本实验要求同学们利用状态机来编写程序。
SIGNAL key_rst_r: std_logic; SIGNAL key_rst_an:std_logic; SIGNAL low_sw: SIGNAL low_sw_r: std_logic; std_logic;
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
深圳职业技术学院Shenzhen Polytechnic 数字系统设计技术课程设计课题名称:电子售货机学院:电子与通信工程学院班级:组员:学号:指导老师:目录一、设计方案 (1)1、功能简介 (1)2、开发测试环境选择 (1)二、售货机EDA程序设计 (1)1、定义端口与信号说明 (1)1.1输入端口 (1)1.2输出端口 (1)1.3信号 (2)2、状态模块说明 (2)2.1状态转换图 (2)2.2购买1元商品模块 (2)2.2购买5元商品模块 (3)2.3购买7元商品模块 (4)2.4顶层电路结构 (4)三、小结 (5)四、附录 (5)1、使用说明 (5)2、参考文献资料 (5)3、附表 (6)一、设计方案1、功能简介本文采用状态机的方法所设计的简易电子售货机可出售1元、5元、7元的商品,可接受1元、5元、10元的投币,可显示选择商品的价格,可找回购买后的余额。
若投币金额充足则自动给出对应的商品和自动找零,且在投币购买过程中若投币余额不足会发出警告。
在商品购买、找零完毕后,售货机会回到初始状态,顾客可进行下次购买。
另设有初始化按钮,按下之后售货机回到初始状态。
2、开发测试环境选择开发和仿真软件选择了Altera公司的综合性PLD/FPGA开发软件Quartus II 8.0,首先在Quartus II 8.0下进行程序设计,编译通过后用Quartus II 8.0进行功能仿真并检查对应的功能。
二、售货机EDA程序设计1、定义端口与信号说明1.1输入端口reset:异步复位端口,低电平有效;clk:时钟信号端口,控制状态的转换;item1:1元商品选择端口;item5:5元商品选择端口;item7:7元商品选择端口;ok:商品选择确认端口;coin1:1元投币信号端口;coin5:5元投币信号端口;coin10:10元投币信号端口。
1.2输出端口zhaoqian:退钱信号端口;jiage:对应商品价格显示端口;get1:1元商品输出端口:get5:5元商品输出端口;get7:7元商品输出端口;warn:投币金额不足提示窗口。
1.3信号s0:初始状态信号;rmb1:购买1元商品模块信号;rmb5:购买5元商品模块信号;rmb7:购买7元商品模块信号;now_state:当前信号保存变量;next_state:下一时钟上升沿读取信号保存变量。
2、状态模块说明2.1状态转换图本程序状态机设计包含4个状态s0:初始态;rmb1:1元商品购买;rmb5:5元商品购买;rmb7:7元商品购买。
2.2购买1元商品模块本模块处理当顾客选择1元商品后的处理,执行流程如下:首先价格端口显示价格为1元,顾客在按下确认键,ok<=’1’后,若投币1元,则get1<=’1’给出1元商品、zhaoqian<=0退钱0元;若投币5元,则get1<=‘1’给出1元商品、zhaoqian<=4退钱4元;若投币10元,则get1<=‘1’给出1元商品、zhaoqian<=9退钱9元。
仿真结果见图1:2.2购买5元商品模块本模块处理当顾客选择5元商品后的处理,执行流程如下:首先价格端口显示价格为5元,顾客在按下确认键,ok<=’1’后,若投币1元,则warn<=‘1’投币金额不足提示,zhaoqian<=1退钱1元;若投币5元,则get5<=‘1’给出5元商品、zhaoqian<=0退钱0元;若投币10元,则get5<=‘1’给出5元商品、zhaoqian<=5退钱5元;仿真结果见图2:2.3购买7元商品模块本模块处理当顾客选择7元商品后的处理,执行流程如下:首先价格端口显示价格为7元,顾客在按下确认键,ok<=’1’后,若投币1元,则warn<=‘1’投币金额不足提示,zhaoqian<=1退钱1元;若投币5元,则gwarn<=‘1’投币金额不足提示、zhaoqian<=5退钱5元;若投币10元,则get7<=‘1’给出7元商品、zhaoqian<=3退钱7元;仿真结果见图3:2.4顶层电路结构将售货机的VHDL生成IC连接如图4:三、小结在学期期末,我们进行了FPGA的课程设计,按老师的要求我们组选择了电子售货机的项目,并用Quartus II 8.0软件进行了程序的编写和仿真。
在设计的过程中我们小组遇到了很多的问题,在本次自动售货机我们采用状态机的方法进行设计,但我们自身对状态机的理解不够透彻导致在设计的过程中软件编译时的语法逻辑检测无法通过,比如Error (10028): Can't resolve multiple constant drivers for net "next_state.s0" at shjv.vhd(44),在并行进程中对同一信号进行了多次赋值导致了并行信号冲突问题;Error: Zero-time oscillation in node "|shouhuoji|Add0~22" at time 10.0 ns. Check the design or vector source file for combinational loop,在功能仿真时出现了“死锁”问题,最后通过查找资料,改变设计思路的方式基本解决问题。
在设计过程中我们小组经历多次失败,程序也换了很多版本,通过努力最终基本达到任务要求,虽然编写的程序存在情况考虑不足等BUG,但我们也明白了这不仅仅在意的是结果,而更注重的是过程。
四、附录1、使用说明本程序仿真方法如下:例如:在建立好仿真文件后,在开始的信号周期内为复位端reset送低电平,若要购买1元商品则在下一个时钟周期中将item1、ok以及coin1、coin5或coin10置高,则程序会给出对应的jiage、zhaoqian的处理结果。
其他模块仿真方法同理。
2、参考文献资料a.数字电路EDA设计 / 顾斌等编著. 西安电子科技大学出版社,2004.2(2010.2重印)b.FPGA/CPLD应用技术:Verilog语言版 / 王静霞主编. 北京电子工业出版社,2011.1c.百度文库3、附表简易电子售货机源代码library ieee;use ieee.std_logic_1164.all;entity shouhuoji isport(reset,clk,item1,item5,item7,coin1,coin5,coin10,ok:in std_logic;zhaoqian:out integer range 0 to 10;jiage:out integer range 0 to 10;get1,get5,get7,warn:out std_logic);end shouhuoji;architecture data of shouhuoji istype state is(s0,rmb1,rmb5,rmb7);signal next_state,now_state:state;--signal tt:integer range 0 to 50000000;begin--process(tt,clkk) --设定1s周期clk--begin-- if(clkk'event and clkk='1') then tt<=tt+1;-- if(tt=5) then-- tt<=0;clk<=not clk;-- end if;-- end process;process(clk,reset)beginif(reset='0')thennow_state<=s0;elsif(clk'event and clk='1')thennow_state<=next_state;end if;end process;process(now_state,item1,item5,item7,coin1,coin5,coin10,ok,display) begincase now_state iswhen s0=>get1<='0';get5<='0';get7<='0';warn<='0';zhaoqian<=0;if(item1='1')thennext_state<=rmb1;jiage<=1;warn<='0'; --1元购买模块elsif(item5='1')thennext_state<=rmb5;jiage<=5;warn<='0'; --5元购买模块elsif(item7='1')thennext_state<=rmb7;jiage<=7;warn<='0'; --7元购买模块elsenext_state<=s0;jiage<=0;warn<='0';end if;--------------------------------------------------------------rmb1when rmb1=>get1<='0';get5<='0';get7<='0';warn<='0';if(ok='1')thenif(coin1='1')thenget1<='1';get5<='0';get7<='0';warn<='0';zhaoqian<=0;next_state<=s0;elsif(coin5='1')thenget1<='1';get5<='0';get7<='0';warn<='0';zhaoqian<=4;next_state<=s0;elsif(coin10='1')thenget1<='1';get5<='0';get7<='0';warn<='0';zhaoqian<=9;next_state<=s0;end if;else next_state<=rmb1;end if;--------------------------------------------------rmb5when rmb5=>get5<='0';get7<='0';warn<='0';if(ok='1')thenif(coin1='1')thenget1<='0';get5<='0';get7<='0';warn<='1';zhaoqian<=1;next_state<=rmb5;elsif(coin5='1')thenget1<='0';get5<='1';get7<='0';warn<='0';zhaoqian<=0;next_state<=s0;elsif(coin10='1')thenget1<='0';get5<='1';get7<='0';warn<='0';zhaoqian<=5;next_state<=s0;end if;else next_state<=rmb5;end if;---------------------------------------------rmb7 when rmb7=>get1<='0';get5<='0';get7<='0';warn<='0';if(ok='1')thenif(coin1='1')thenget1<='0';get5<='0';get7<='0';warn<='1';zhaoqian<=1;next_state<=rmb7;elsif(coin5='1')thenget1<='0';get5<='0';get7<='0';warn<='1';zhaoqian<=5;next_state<=rmb7;elsif(coin10='1')thenget1<='0';get5<='0';get7<='1';warn<='0';zhaoqian<=3;next_state<=s0;end if;else next_state<=rmb7;end if;end case;end process;end data;。