广东工业大学eda课程设计报告
- 格式:docx
- 大小:74.21 KB
- 文档页数:18
课程设计课程名称硬件描述语言及EDA技术课程设计题目名称____________ 学生学院______________ 专业班级______学号______________________学生姓名______________________指导教师_____________________2017年6月口日目录设计内容及功能要求 (4)设计思路 (4)(1):要求能控制烹调的开关4(2):要求要显示烹调状态的进行及结束4(3):要求设置固定的烹调时间,并显示烹调所剩时间4Verilog 源程序 (5)程序分析 (6)(1):端口能义6(2):加数器和减数数器的设计7(3):数码管的显示8编译及配置 (9)硬件验证及现象观察 (10)遇到的问题及解决方法............................................. 错误!未定义书签。
(1):..................................................................................................... 错误!未定义书签。
<2):......................................................................................................... 错误!未定义书签。
(3):....................................................................................................... 错误!未定义书签。
总结设计及体会................................................... 错误!未定义书签。
参考文献 .. (13)设计内容及功能要求简易微波炉:设计一个简易微波炉控制器,要求能控制烹调的开关,并显示烹调状态进行结束。
eda课程设计一EDA课程设计实验报告EDA课程设计实验报告学曉宿息工程学阮专业通信工程学号________________農名___________________任镌教师_________________2013 年10 月30 q一、FPGA 简介随着基于FPGA 的EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电 子信息.通信.自动控制及计算机等领域的重要性日益突出。
作为一个学通信 工程专业的学生,我们必须不断地去了解更多的新产品信息,这就更加要求我 们对EDA 有个全面的认识。
信号发生器在我们的日常中有很重要的应用,用VHDL 语言去实现设计将会使我们对本学科知识可以更好地掌握。
本设计是一个基于VHDL 的釆用自顶向下设计方法实现的信号发生器,该设 计方法具有外围电路简单,程序修改灵活和调试容易等特点,并通过计算机仿 真证明了设计的正确性。
要求设计一个函数发生器,该函数发生器能够产生递增斜波.递减斜波、 方波、三角波.正弦波.及阶梯波,并且可以通过选择开关选择相应的波形输 出;系统具有复位的功能;通过按键确定输出的波形及确定是否输出波形。
FPGA 是整个系统的核心,构成系统控制器,波形数据生成器,加法器,运算/译码等 功能。
通过以上分析设计要求完成的功能,确定函数发生器可由递增斜波产生模 块.递减斜波产生模块.三角波产生模块.阶梯波产生模块.正弦波产生模块、 方波产生模块和输出波形选择模块组成,以及按键复位控制和时钟输入。
由此 可确定系统的总体原理框图为:三、方案选择1、波形函数发生方案对比选择时 --- ► 复--- ►波形发生模块目分析波形输出选波形函数发生是本设计的最重要的部分,实现函数发生的途径也有很多,因此必须选择一种易于实现且精度高的方案,以此来提高本设计的实用性。
本信号发生器利用在系统编程技术和FPGA芯片产生。
用VHDL语言编写程序,调试成功后下载至实验装置的芯片上,再利用外接D/A转换电路实现以上设计功能。
实用成绩:EDA课程设计报告课程 EDA课程设计专业学号姓名指导教师日期 2012.06.21机械与电子信息学部一、设计任务与要求1.任务:制作并调试EDA学习板2.了解并能识别学习板上的各种元器件,会读元器件标示;3.会看电路原理图;4.制作EDA学习板;5.编写VHDL程序进行跑马灯控制6.编写VHDL程序进行步进电机的转速控制7.学会使用QuartusⅡ软件下载调试程序;8.用调试程序将学习板调试成功。
9.二.课程设计目的通过编写VHDL程序,结合硬件电路设计,实现跑马灯和步进电机的转速控制。
经过本次课程设计,能够将所学专业理论知识进行综合实际运用,锻炼学生的动手能力以及提高学生的综合专业素质。
三、实验内容1.芯片工作电路,利用晶振提供控制信号。
2.10引脚下载口与芯片相关引脚相连完成下载电路。
3.利用16个开关做成键盘,实现输入号对已编程的芯片的控制并通过数码管显示0--F。
4.用2片74HC573N具有锁存功能芯片与8个数码管相连,通过编程实现位选和段选实现输出信号的显示功能。
5.使用74HC573N锁存功能结合ULN2003AG芯片8非门芯片和74HC04N6非门芯片与4个2N5551三极管实现对步进电机的控制,和控制步进电机6.信号结合LED输出显示的功能。
7.利用1片74HC573N芯片与8个共阴极LED实现跑马灯功能。
四.课程设计器材清单六.程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cc isport(clk: in std_logic;bj:out std_logic_vector(3 downto 0);start:in std_logic;kbcol:in std_logic_vector(3 downto 0);kbrow:out std_logic_vector(3 downto 0);seg1_out:out std_logic_vector(3 downto 0);seg2_out:out std_logic_vector(3 downto 0);qq_out:out std_logic_vector (7 downto 0);qq1_out:buffer std_logic_vector(7 downto 0);sk:in bit);end;architecture one of cc istype btype is(s0,s1,s2,s3);signal current_state,next_state:btype;signal count: std_logic_vector(1 downto 0);signal sta: std_logic_vector(1 downto 0);signal seg1: std_logic_vector(3 downto 0);signal seg2: std_logic_vector(3 downto 0);signal fn: std_logic;signal ks:std_logic_vector(1 downto 0);signal qq: std_logic_vector (7 downto 0);signal qq1:std_logic_vector (7 downto 0);signal sp1,sp2:std_logic_vector(3 downto 0);beginpqq:process (clk)beginif clk'event and clk='1' thenqq<=qq+1;end if;end process;qq_out<=qq;reg:process (qq(7))beginif qq(7)'event and qq(7)='1'thencurrent_state <=next_state;end if;end process reg;com:process (current_state)begincase current_state iswhen s0=> bj<="0011";next_state <=s1; when s1=> bj<="1001";next_state <=s2; when s2=> bj<="1100";next_state <=s3; when s3=> bj<="0110";next_state <=s0; when others=>next_state <=s0;end case;end process com;process(clk)beginif clk'event and clk='1'then count<=count+1; end if;end process;process(clk)beginif clk'event and clk='1'thencase count iswhen "00"=>kbrow<="0001";sta<="00";when "01"=>kbrow<="0010";sta<="01";when "10"=>kbrow<="0100";sta<="10";when "11"=>kbrow<="1000";sta<="11";when others=>kbrow<="1111";end case;end if;end process;process(clk,start)beginif start='0'then seg1<="0000";seg2<="0000"; elsif clk'event and clk='1'thencase sta iswhen "00"=>case kbcol iswhen "0001"=>seg1<="0000";seg2<="0001"; when "0010"=>seg1<="0000";seg2<="0010";when "0100"=>seg1<="0000";seg2<="0011";when "1000"=>seg1<="0000";seg2<="0100";when others=>seg1<="1111";seg2<="1111";end case;when "01"=>case kbcol iswhen "0001"=>seg1<="0000";seg2<="0101";when "0010"=>seg1<="0000";seg2<="0110";when "0100"=>seg1<="0000";seg2<="0111";when "1000"=>seg1<="0000";seg2<="1000";when others=>seg1<="1111";seg2<="1111";end case;when "10"=>case kbcol iswhen "0001"=>seg1<="0000";seg2<="1001";when "0010"=>seg1<="0001";seg2<="0000";when "0100"=>seg1<="0001";seg2<="0001";when "1000"=>seg1<="0001";seg2<="0010";when others=>seg1<="1111";seg2<="1111";end case;when "11"=>case kbcol iswhen "0001"=>seg1<="0001";seg2<="0011";when "0010"=>seg1<="0001";seg2<="0100";when "0100"=>seg1<="0001";seg2<="0101";when "1000"=>seg1<="0001";seg2<="0110";when others=>seg1<="1111";seg2<="1111";end case;when others=>seg1<="1111";seg2<="1111";end case;end if;end process;fn<=not(seg1(0)and seg2(0)and seg2(1)and seg2(2)and seg2(3)); process(fn)beginif fn'event and fn='1'thenseg1_out<=seg1;seg2_out<=seg2;end if;end process;process (qq(7))variable c:integer range 7 downto 0; beginif qq(7)'event and qq(7)='1'thenc:=c+1;if c=7 thenqq1<=qq1+1;end if;end if;end process;process (fn,qq1)beginif fn'event and fn='1' thencase seg1 iswhen "0000"=>case seg2 iswhen "0001"=>qq1_out<="00011001"; when "0010"=>qq1_out<="00110010"; when "0011"=>qq1_out<="01001011"; when "0100"=>qq1_out<="01100100"; when "0101"=>qq1_out<="01111111"; when "0110"=>qq1_out<="10010110"; when "0111"=>qq1_out<="10101111"; when "1000"=>qq1_out<="11001000"; when "1001"=>qq1_out<="11100001"; when others=>qq1_out<=qq1;end case;when "0001"=>case seg2 iswhen "0000"=>qq1_out<="11110000"; when "0001"=>qq1_out<="11111111"; when "0010"=>qq1_out<="00000000"; --when "0011"=>qq1_out<=qq1;when others=>qq1_out<=qq1;end case;when others=>qq1_out<=qq1;end case;end if;end process;process(sk,start,sp1,sp2)beginif start='0' then sp1<="0000";sp2<="0000";elsif sk'event and sk='1' thenif sp2<"1001" then sp2<=sp2+1;else sp2<="0000";end if;end if;if sp2="1001" then sp1<=sp1+1;end if;end process;end;七.元件调试1、否短路用万用表检查P2两端是短路。
课程设计课程名称硬件描述语言与EDA技术题目名称硬件描述语言与EDA技术实践学生学院材料与能源专业班级 09微电子学(1)班学号 68 学生姓名钟万友指导教师陈先朝2011年 12月 9日广东工业大学课程设计任务书题目名称硬件描述语言与EDA技术实践学生学院材料与能源学院专业班级09微电子学(1)班姓名钟万友学号68一、课程设计的内容1.系统功能分析;2.实现系统功能的方案设计;3.编写各功能模块VHDL语言程序;4.对各功能模块进行编译、综合、仿真和验证;5.顶层文件设计;6.整个系统进行编译、综合、仿真和验证;7.在CPLD/FPGA实验开发系统试验箱上进行硬件验证。
二、课程设计的要求与数据1.按所布置的题目要求,每一位学生独立完成全过程;2.分模块层次化设计;3.各功能模块的底层文件必须用VHDL语言设计,顶层文件可用VHDL语言设计,也可以用原理图设计。
三、课程设计应完成的工作1.所要求设计内容的全部工作;2.按设计指导书要求提交一份报告书;3.提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书四、课程设计进程安排五、应收集的资料及主要参考文献1.陈先朝,硬件描述语言与EDA技术实践指导书,2011年11月2.曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5月3.刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,2009年4月4.刘昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双剑合璧,国防工业出版社,2009年5.刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月发出任务书日期: 2011年12月 5日指导教师签名:计划完成日期: 2011年12月 9日基层教学单位责任人签章:主管院长签章:七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。
2.熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。
《EDA技术及应用课程设计》报告系别:专业班级:学生姓名:指导教师:(课程设计时间:年月日——年月日)。
校秒表是人们日常生活中常用的测时仪器,它能够简单的完成计时、清零等功能,从一年一度的校际运动会到NBA、世界杯、奥运会,都能看到秒表的身影。
1.系统设计要求学习使用EDA集成设计软件MaxplusⅡ设计一个计时范围为0.01秒~1小时的数字秒表,能够精确反映计时时间,并完成复位、计时功能。
秒表计时的最大范围为1小时,精度为0.01秒。
秒表可得到计时时间的分、秒、0.1秒等度量,且各度量单位间可正确进位。
当复位清零有效时,秒表清零并做好计时准备。
任何情况下,只要按下复位开关,秒表都要无条件的进行复位操作,即使在计时过程中也要无条件的清零。
了解全过程中VHDL程序的基本结构,掌握使用EDA工具设计数字系统的设计思路和设计方法。
学习VHDL基本逻辑电路的综合设计应用。
根据电路持点,用层次设计概念。
将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口,同时加深层次化设计概念;考虑软件的元件管理深层含义,以及模块元件之间的连接概念,对于不同目录下的同一设计,如何熔合等问题。
2.系统设计方案根据上述设计要求,可以预先设计若干个不同进制的计数器单元模块,然后将其进行例化组合来得到数字秒表系统。
要满足数字秒表的精度,首先要获得精确的计时基准信号,这里的系统精度要求为0.01秒,因此必须设置周期为0.01秒的时钟脉冲。
1/100秒、秒、分等计时单位之间的进位转换可以通过不同进制的计数器实现,我们分别设计十进制计数器和六进制计数器,每位计数器均能输出相应计时单位计数结果,其中,十进制计数器可以实现以0.01秒、0.1秒、1秒和1分为单位的计数,六进制计数器可以实现以10秒、10分为单位的计数,把各级计数器级联,即可同时显示百分秒、秒和分钟。
停止和启动功能可以通过计时使能信号完成。
信号有效时正常计时,否则没有脉冲输入到计数器,从而停止计时。
EDA课程设计报告•相关推荐EDA课程设计报告在我们平凡的日常里,报告的使用成为日常生活的常态,报告中涉及到专业性术语要解释清楚。
那么报告应该怎么写才合适呢?以下是小编为大家整理的EDA课程设计报告,希望对大家有所帮助。
EDA课程设计报告1实训任务:一、实训目的和要求:(1)熟练掌握keil c51集成开发环境的使用方法(2)熟悉keil c51集成开发环境调试功能的使用和dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台的使用。
(3)利用单片机的p1口作io口,学会利用p1口作为输入和输出口。
(4)了解掌握单片机芯片的烧写方法与步骤。
(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。
(6)掌握利用protel 99 se绘制电路原理图及pcb图。
(7)了解pcb板的制作腐蚀过程。
二、实训器材:pc机(一台)pcb板(一块)520ω电阻(八只)10k电阻(一只)led发光二极管(八只)25v 10μf电容(一只)单片机ic座(一块)at89c51单片机芯片(一块)热转印机(一台)dp?51pro。
net单片机仿真器、编程器、实验仪三合一综合开发平台(一台)三、实训步骤:(2)将流水灯程序编写完整并使用tkstudy ice调试运行。
(4)打开电源,将编写好的程序运用tkstudy ice进行全速运行,看能否实现任务要求。
(6)制板。
首先利用protel 99 se画好原理图,根据原理图绘制pcb图,然后将绘制好的pcb布线图打印出来,经热转印机转印,将整个布线图印至pcb板上,最后将印有布线图的pcb板投入装有三氯化铁溶液的容器内进行腐蚀,待pcb板上布线图外的铜全部后,将其取出,清洗干净。
(7)焊接。
将所给元器件根据原理图一一焊至pcb板相应位置。
(8)调试。
先把at89c51芯片插入ic座,再将+5v电源加到制作好的功能板电源接口上,观察功能演示的整个过程(看能否实现任务功能)。
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语法要点,简单数字系统设计方法,设计实例分析与实操。
课程设计课程名称电子技术综合设计题目名称 8位数字抢答器学生学院专业班级学号学生姓名指导教师2015年9月5日目录1 设计任务目的及要求 (2)1.1设计任务 (2)1.2设计要求 (2)1.3工作原理及设计方案 (2)2.1抢答电路 (3)2.2时钟电路 (5)2.2.1时钟分频器 (6)2.2.2超时红灯亮 (7)2.2.3绿灯闪烁 (7)3 设计方案 (8)3.1设计的系统框图 (8)3.2电路工作过程 (8)3.3设计思路。
(9)4 实验结果与数据处理 (10)4.1测试步骤 (10)4.2实验结果 (10)5 结论与问题讨论 (10)5.1完成程度 (10)5.2收获及心得体会 (10)参考文献 (11)附录PC机串口收发的数据 (12)1 设计任务目的及要求1.1设计任务(1)利用各种器件设计一个多路智力竞赛抢答器。
(2)利用DE2教学开发板对所设计的电路进行验证。
(3)总结电路设计结果。
1.2设计要求(1)抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。
(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。
(3)抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。
(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如,30秒)。
当主持人启动"开始"键后,定时器进行减计时,同时指示灯(绿色灯)开始短暂的闪烁,持续时间位0.5s左右。
(5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人讲系统清除为止,此时指示灯应停止闪烁。
(6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00,指示灯应亮起(建议采用红色灯)。
1.3工作原理及设计方案抢答器是为竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,竞赛者可以分为若干组,抢答时各组对主持人提出的问题要在最短的时间内做出判断,并按下抢答按键回答问题。
目录课程设计任务书 (1)1.课程设计任务 (2)1.1设计要求 (2)1.2任务要求 (3)2.方案设计、原理分析 (3)3.密码译码电路设计与仿真 (6)4.报警电路设计与仿真 (8)5.顶层设计、总体调试及结果 (13)6.体会 (16)课程设计任务书1.1设计要求1)输入按键开关设计为7个,密码位数要14位。
14位数字密码分成高7位(DH6….D H0)和低7位(DL6….D L0)两次输入,用数字逻辑按键开关预置,1)开锁输出信号out为1表示开锁,否则不开锁。
2)输出报警信号均为1有效,分为声报警Sound thealarm (扬声器)和light alarm(发光管),3) 4.14位数字密码分时操作,先预置高7位,然后再置入低7位,(顶层电路可参考图1)。
4)要求电路工作可靠,保密性强,开锁出错立即报警,(用声光两种形式同时报警)。
5)利用QuartusⅡ软件,混合设计方法进行设计、编译、并在FPGA芯片上实现。
6)7.14位密码自己设定。
比如:“10010010011100”。
本次设计采用本人学号后三位分别用BCD码+两位班号,其中一班是01,二班是10,三班是11四班是00作为设计密码。
1.2任务要求1)设计简易14位数字密码模块ic9a模块,框图见图2,模块ic9ad的设计采用VHDL实现。
2)设计一个报警信号电路(输入频率:100khz,输出频率1HZ,占空比为0.5方波)连接到CP端为报警,设计方法不限。
3)在ic9a模块基础上设计14位数字密码锁的顶层电路。
4)提高部分:(1)增加修改密码功能。
(2)将14位密码转换成BCD码在数码管上显示。
2.方案设计、原理分析清零置高七位将高七位锁存译码锁存信号是否为1输入低七位开锁YN密码是否正确开锁指示灯亮声音报警 灯报警YN图1 原理图 图2 原理框图本次设计是设计14位密码锁,但是如果设计14个输入端口的,试验箱上的输入端口会出现不够用的情况。
广工EDA电子技术实训报告在当今电子科技快速发展的时代,电子设计自动化(EDA)软件的使用变得越来越普遍,成为电路设计的一种重要的工具。
为了提高理论知识与实际应用能力,提高电子工程专业学生的实践能力,广东工业大学电子与信息工程学院设置了EDA电子技术实训课程。
本文将从实训课程的目的、内容和效果,以及对学生的帮助和建议等方面进行介绍。
一、实训课程目的EDA电子技术实训课程的主要目的是让学生学习EDA电子设计工具的使用,增强学生的电路实际设计能力。
其次还包括以下几个方面:1. 培养学生的实践能力。
学生通过实践设计电路并用软件进行仿真,掌握电路实际操作和设计方法。
2. 提高学生的动手实验能力。
学生完成实验后,需要对实验结果进行分析和解释,从而提高对电路现象的理解和认识。
3. 培养学生的协作能力。
实训课程中学生需要组成小组,通过协同合作完成实验,锻炼学生的团队协作和沟通能力。
二、实训课程内容实训课程主要包括以下几个方面:1. EDA基础知识。
学生需要了解EDA的基本概念、各种电路元器件的基本参数、PCB设计基本流程等。
2. EDA软件的使用。
学生需要学习主流的EDA软件,如Altium Designer、PADS、OrCAD等,掌握软件的基本操作方法。
3. 电路设计及仿真。
学生需要根据老师的教导以及自己的知识储备进行电路设计。
并且对于电路进行仿真,观察仿真结果是否符合预期。
4. PCB设计。
学生需要根据电路设计完成PCB设计,将其进行印制,锻炼学生设计电路板的实际能力。
三、实训效果通过实践操作,在完成EDA电子技术实训课程后,不仅能帮助学生掌握了EDA工具的使用和电路设计方法,并且能够更好的将所学到的理论知识运用于实践当中,提高学生对电子学的理解深度。
同时,这门课程还能锻炼出学生的动手能力、实验能力、创新能力以及协同合作能力。
职业技能能力是广大电子专业人才所需不可或缺的能力。
四、对学生的帮助与建议在实训过程中,小组之间可以进行合理的分工,互相帮助,提高实现实验目标的效率以确保设计良好。
***********大学课程设计报告设计名称:3位数字频率设计姓名:学号:专业班级:08级电子信息工程专业二班院(系):计算机与信息工程学院设计时间:2011年1月4日至10日设计地点:电子信息楼4楼目录题目:3位数字频率计1页一、数字频率计的功能……………………………………………………1页二、数字频率计的设计思路………………………………………………1页三、硬件资源概述…………………………………………………………1~5页四、各模块的VHDL语言描述与实现……………………………………5~13页五、仿真模拟图……………………………………………………………13~15页六、软件硬件结合实现………………………………………………15~17页六、仿真及调试心得…………………………………………………………17页七、总结……………………………………………………………………17页3位数字频率计设计一、数字频率计的功能我设计的是3位数字频率计,用3个十进制数字显示式频率,其频率范围为1MHz。
有五个档位,并能自动换档。
五个档的具体功能是:1、计数溢出档,当频率计数超过量程时,自动显示溢出标--"-1.-1.-1";2、1MHz档,显示000到999,默认单位为1KHz;3、100KHz档,显示00.0到99.9,默认单位为1KHz;4、10KHz档,显示0.00到9.99,默认单位为1KHz;5、测周档,当所测频率小于0.99KHz时,显示数值变为周期,以毫秒为默认单位。
二、数字频率计的设计思路1、时基的设计在测频时,输入信号的频率大于频率计提供的基准频率,所以这时以频率计提供的基准频率信号为时基,输入信号为时钟信号,在频率计提供的基准信号周期里,计算输入信号的周期数,再乘以频率计的基准频率,就是输入信号的频率值。
测周时,输入信号的频率小于频率计提供的基准频率信号,所以要以频率计提供的基准频率信号为时钟信号,以输入信号为时基信号,在输入信号周期内,计算频率计提供的基准信号的周期数,再乘以基准频率的周期值,就是输入信号的周期值。
eda课程设计实训报告一、教学目标本课程的教学目标分为知识目标、技能目标和情感态度价值观目标。
知识目标:学生通过本课程的学习,能够掌握eda的基本概念、原理和应用。
技能目标:学生能够熟练使用eda工具,进行电子系统设计和仿真。
情感态度价值观目标:培养学生对科技创新的兴趣和热情,提高学生解决实际问题的能力。
二、教学内容根据课程目标,本课程的教学内容主要包括eda基本概念、eda工具的使用和电子系统设计实例。
教学大纲如下:1.第一章:eda概述学习eda的基本概念、发展历程和应用领域。
2.第二章:eda工具介绍学习主流eda工具的使用方法和技巧。
3.第三章:电子系统设计实例通过具体实例,学习如何使用eda工具进行电子系统设计和仿真。
三、教学方法本课程采用讲授法、讨论法、案例分析法和实验法等多种教学方法。
1.讲授法:用于讲解eda的基本概念和原理。
2.讨论法:用于引导学生探讨和解决问题。
3.案例分析法:通过分析具体案例,让学生掌握eda工具的使用方法和技巧。
4.实验法:让学生动手实践,提高实际操作能力。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
1.教材:选用权威、实用的eda教材作为主要学习资料。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
3.多媒体资料:制作精美的PPT、视频等多媒体资料,提高学生的学习兴趣。
4.实验设备:保障实验课程的顺利进行,让学生充分实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试。
1.平时表现:通过课堂参与、提问和讨论等方式评估学生的学习态度和理解程度。
2.作业:布置适量的作业,评估学生的掌握情况和应用能力。
3.考试:进行期中和期末考试,全面评估学生的知识掌握和运用能力。
评估方式要求客观、公正,能够全面反映学生的学习成果。
六、教学安排教学进度安排如下:1.第一章:eda概述(2课时)2.第二章:eda工具介绍(4课时)3.第三章:电子系统设计实例(6课时)教学时间安排为每周2课时,共计12课时。
实验报告1、基本门电路一、实验目的1、了解基于Verilog的基本门电路的设计及其验证。
2、熟悉利用EDA工具进行设计及仿真的流程。
3、学习针对实际门电路芯片74HC00、74HC02、74HC04、74HC08、74HC32、7 4HC86进行VerilogHDL设计的方法。
4、掌握Libero软件的使用方法。
二、实验环境Libero仿真软件。
三、实验内容1、在自己的工程文件中,新建一个设计代码文件(Verilog Source File),文件命名规则:学号+下划线+BasGate例:3115000001_BasGate.v在自己的工程文件中,新建一个测试平台文件(HDL Stimulus File),文件命名规则:test_BasGate.v2、进行针对74系列基本门电路的设计,并完成相应的仿真实验。
3、参考教材P192页的设计代码、测试平台代码(可自行编程,所有门电路放在一个模块里面),完成2输入与非门、2输入或非门、2输入与门、2输入或门、2输入异或门、非门的设计、综合及仿真。
4、提交针对基本门电路的综合结果,以及相应的仿真结果。
四、实验结果和数据处理1、门电路...模块清单及测试平台代码清单(1)所有硬件功能模块的代码清单(关键代码应有注释)// 3117005278_Bas Gate.v (综合设计与、或、异或、与非、或非在一个模块)module gates(a,b,y1,y2,y3,y4,y5);input a,b;output y1,y2,y3,y4,y5;assign y1=a&b;assign y2=a|b;assign y3=a^b;assign y4=~(a&b);assign y5=~(a|b);endmodule// test_BasGate.v(综合设计测试平台)`timescale 1ns/1nsmodule testbench();reg a,b;wire y1,y2,y3,y4,y5;gates test_gates(a,b,y1,y2,y3,y4,y5);initialbegina=0;b=0;#10 b=1;#10 a=1;#10 b=0;#10;endendmodule2、第一次仿真结果(截图..)。
《EDA课程设计》报告学号:姓名:班级:指导教师:2013年6 月24日- 2013年7 月5日目录1.引言 ............................................................................................................... 错误!未定义书签。
2.原理图的设计................................................................................................ 错误!未定义书签。
文件的新建............................................................................................... 错误!未定义书签。
原理图文件XX .Sch的建立 ..................................................................... 错误!未定义书签。
元件库的导入........................................................................................... 错误!未定义书签。
原理图中各元件的布局和连线 (3)3.原理图新元件的设计 (4)元件库XX .Lib文件的建立 (4)原理图元件的画法................................................................................... 错误!未定义书签。
注意事项................................................................................................... 错误!未定义书签。
实训报告课程名称EDA电子技术实训学院自动化学院专业年级班别学号学生姓名指导教师2015年10月5日目录第一阶段:SOPC技术运用 (1)Task 1:Task 1 Nios_II_Exercises (1)Task 2:驱动1602液晶显示 (4)Task 3:DE2VGA (5)Task 4:基于DE2 的uClinux 移植及应用开发 (6)第二阶段:Synopsys IC设计软件入门 (7)Lab 1-1:Basic Synthesis Design Flow (7)Lab 2-1:Block Level Design (UMC90) (10)Lab 2-2:Leakage Power .Opt.by Multi-V t (UMC90) (16)Lab 2-3:DC-Topographical(UMC90) (18)Lab 3-1:Top-level Synthesis (19)Lab 3-2:CHIP-level Synthesis (21)第三阶段:Multisim工具的使用与实验 (23)Multisim Lab1:单级放大电路 (23)Multisim Lab2:射极跟随器 (27)Multisim Lab3:负反馈放大电路 (29)Multisim Lab4:MultiSIM电路仿真实验 (32)Multisim Lab5:串联型晶体管稳压电路 (36)Multisim Lab6:OTL功率放大器 (39)Multisim Lab7:集成运算放大器运用的测量 (42)Multisim Lab8:波形发生器应用的测量 (45)Multisim Lab9:二阶低通滤波器 (51)两周实训总结: (54)第一阶段:SOPC技术运用Task 1:Task 1 Nios_II_Exercises基本流程:(一). 创建Nios II 系统步骤:1.打开工程文件;2.器件族的选择和管脚分配;3.新建嵌入式系统:Tools => SOPC Builder;4.系统设置:①语言设置②系统命名③器件选择④时钟设置;5.根据系统需求,逐一添加组件:一般一个完整的系统,组件包括处理器、存储器、总线、系统时钟、I/O口等;6.设置基地址;7.设置主从关系;至此,例图如下:8.建立CPU的复位和异常地址:点击Nios II More “cpu”Settings方格;9.核对Simulation的检验盒;10.生成参数化处理器系统:点击Generate;11.回到quartus II工程文件添加新建系统组件(注意管脚要整齐排列布置);12.编译工程(编译前保存原理图);(二). 软件设计步骤:1.下载工程(下载之前要为.sof文件标记Program/Configure检测盒);2.从SOPC Builder中启动Nios II IDE;3.在Nios II IDE工作平台上,新建C/C++ Application工程;4.选择工程模板;5.为C/C++应用工程添加源代码;6.设置系统库格式‘7.编译C/C++应用工程;8.调试代码:Debug As-> Nios II Hardware;9.设置适当的断点;10.查看变量内容和变量的值;11.改变外部硬件变量值,再次编译调试程序;12.验证程序功能;13.终止进程,保存文件;Task 2:驱动1602液晶显示(一).1602驱动原理LCD1602控制芯片HD44780内部嵌入了字符液晶模块YM1602C,通过LCD的引脚,以高低电平组合构成HD44780指令,实现对LCD字符液晶显示的控制。
课程设计课程名称硬件描述语言与EDA技术题目名称数字密码锁学生学院材料与能源专业班级学号学生姓名指导教师陈先朝2017年6月11日目录1 引言 (3)1.1 课程设计背景 (3)1.2 课程设计目的 (3)2 数字密码锁设计 (4)2.1系统设计 (4)2.2程序代码 (4)2.3仿真结果 (10)3 总结 ........................................................................ 错误!未定义书签。
3.1设计总结......................................................... 错误!未定义书签。
3.2心得体会......................................................... 错误!未定义书签。
4 应收集的资料及主要参考文献 (10)摘要:随着数字集成技术和电子设计自动化(EDA)技术的迅速发展,数字密码锁应运而生。
本文采用先进的EDA技术,利用QUARTUS Ⅱ工作平台和Verilog HDL语言,设计了一种新型的数字密码锁,它不但可以完成锁具的基本功能,还能附加一些其他的智能,例如:报警、识别功能,数字密码锁具功能齐全,安全系数高,有机械锁无可比拟的优越性,它的造价成本低,易于操作,越来越受到众多客户的青睐,可以优先占领市场有利份额。
关键词:EDA技术;QUARTUS Ⅱ工作平台;Verilog HDL语言;数字密码锁1 引言1.1 课程设计背景数字密码锁随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,而且各种各样的电子产品也正在日新月异地向着高精尖技术发展。
由于电子产品的功能不断增加,使用也越来越方便,有些产品已经成为了人们日常生活中不可缺少的必备物品。
发展历史悠久的机械式门锁,因其功能单一,安全性能较差等缺点,必将被新一代的电子门锁所代替。
eda课程设计实验报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。
2. 学生能运用所学知识,设计并实现基本的数字电路。
3. 学生了解数字电路的设计流程,掌握设计规范,具备初步的电路分析能力。
技能目标:1. 学生能独立操作EDA软件,完成电路的原理图绘制、仿真和布局布线。
2. 学生通过实验报告的撰写,提高实验数据分析、总结归纳的能力。
3. 学生在小组合作中,提高沟通协调能力和团队协作能力。
情感态度价值观目标:1. 学生培养对电子科学的兴趣,激发创新意识,增强实践能力。
2. 学生在实验过程中,形成严谨的科学态度,提高问题解决能力。
3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,增强社会责任感。
课程性质:本课程为实践性较强的电子设计课程,旨在培养学生的实际操作能力、创新意识和团队合作精神。
学生特点:六年级学生具有一定的电子知识基础,好奇心强,喜欢动手实践,但需加强对理论知识的理解和应用。
教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具介绍- 电子设计自动化原理简介- 常用EDA软件功能与操作方法2. 数字电路设计基础- 数字电路基本元件及功能- 原理图绘制与仿真分析3. 布局布线与PCB设计- PCB设计流程与方法- 布局布线技巧与规范4. 实验报告撰写- 实验数据整理与分析- 实验总结与反思教学大纲安排如下:第一周:- EDA基本概念与工具介绍- 数字电路基本元件及功能第二周:- 原理图绘制与仿真分析第三周:- 布局布线与PCB设计第四周:- 实验报告撰写教学内容与教材关联性:本教学内容与教材《电子技术基础与实践》第六章“电子设计自动化”相关章节紧密相连,确保了教学内容的科学性和系统性。
广东工业大学课程设计任务书一、课程设计的内容1. 系统功能分析;2. 实现系统功能的方案设计;3. 编写各功能模块VHDL语言程序;4. 对各功能模块进行编译、综合、仿真和验证;5. 顶层文件设计;6. 整个系统进行编译、综合、仿真和验证;二、课程设计的要求与数据1. 按所布置的题目要求,每一位学生独立完成全过程;2. 分模块层次化设计;3. 各功能模块的底层文件必须用VHDL语言设计,顶层文件可用VHDL语言设计,也可以用原理图设计。
三、课程设计应完成的工作1. 所要求设计内容的全部工作;2. 按设计指导书要求提交一份报告书;3. 提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书四、课程设计进程安排五、应收集的资料及主要参考文献1. 陈先朝,硬件描述语言与EDA技术实践指导书,2011年11月2. 曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5月3. 刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社,2009年4月4. 刘昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双剑合璧,国防工业出版社,2009年5. 刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月发出任务书日期: 2011年12月 5日指导教师签名:计划完成日期: 2011年12月 9日基层教学单位责任人签章:主管院长签章:七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。
2.熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。
二、设计要求表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。
实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。
课程设计报告课程名称 EDA课程设计学院信息工程学院年级班别学号学生姓名指导老师罗思杰2017年12月09日目录一、设计目的和要求: (3)二、EDA设计: (3)三、硬件测试: (15)四、设计和调试过程中遇到的问题及解决方法.. 15五、完成课程设计后的收获或体会: (15)六、设计参考文献: (15)一、设计目的和要求:1、设计目的:通过对FPGA(现场可编程门阵列)芯片的设计实践,使学生掌握一般的PLD (可编程逻辑器件)的设计过程、设计要求、设计内容、设计方法,能根据要求及工艺需要进行电子芯片设计并制定有关技术文件。
培养学生综合运用已学知识解决实际工程技术问题的能力、查阅图书资料和各种工具书的能力、撰写技术报告和编制技术资料的能力,接受一次电子设计自动化方面的基本训练。
培养学生利用EDA技术知识,解决电子设计自动化中常见实际问题的能力,使学生积累实际EDA编程经验。
通过本课程设计的学习,学生将复习所学的专业知识,使课堂学习的理论知识应用于实践,通过本课程设计的实践使学生具有一定的实践操作能力。
2、设计要求:(1)以EDA技术的基本理论为指导,将设计实验分为基本功能电路和较复杂的电子系统两个层次,要求利用数字电路或者EDA方法去设计并完成特定功能的电子电路的仿真、软硬件调试;(2)熟悉掌握常用仿真开发软件,比如: Quartus II或Xilinx ISE的使用方法。
(3)能熟练运用上述开发软件设计并仿真电路并下载到FPGA中进行调试;(4)学会用EDA技术实现数字电子器件组成复杂系统的方法;学习电子系统电路的安装调试技术。
二、EDA设计:(1)方案比较:1、数字电子钟设计设计一个时钟电路,包括时钟、分钟、秒钟的显示。
要求可对时钟、分钟进行预置和修改操作;可设置3组闹铃时间,时间到时给出10秒的报警声或音乐并给出灯光提示。
具体输入/输出要求如下:① 4位LED数码显示器,分别显示“小时:分钟”或“分钟:秒”时钟;根据需要选择几个LED发光二极管。
②3个按键,具体功能描述如下:[MODE]键——模式转换键,具有“正常——小时(校准)——分钟(校准)——小时(闹铃)——分钟(闹铃)”等5种模式,每按一次,转换一种模式。
假设当前处于正常模式,按一下此键,“小时”闪烁,表示进入“小时”调校模式,再按一次,转入分钟模式,如此类推,正常模式下不闪烁。
还可以配合LED 灯来显示不同的模式。
//状态机[+]键——加“1”键,按下此键,被选中的项目加“1”[-]键——减“1”键,按下此键,被选中的项目减“1”③1路蜂鸣器,用于报警或按键声。
在设计时,学生可充分发挥自己的特长和想象力,自行扩充功能,如“秒表”功能,通信功能,整点报时功能等。
并可进一步将其设计为万年历。
2、简易电子琴设计用实验装置提供的7个按键对应中音的7个音符,设计一个简易电子琴。
用数码管显示当前的音符,用LED灯显示节拍,并能演奏一段或多段预存的音乐。
3、简易十字路口的交通灯控制系统设计用EDA技术设计一个十字路口的交通信号灯控制器,控制A、B两条交叉道路上的车辆通行,具体要求如下:①每条道路设一组信号灯,每组信号灯由红黄绿3个灯组成,绿灯表示允许通行,红灯表示禁止通行,黄灯表示该车道上已过停车线的车辆继续通行,未过停车线的车辆停止通行。
②每条道路上每次通行的时间为25s。
③每次变换通行车道之前,要求黄灯先亮5s,才能变换通行车道。
④黄灯亮时,要求每秒钟闪烁一次。
4、其他。
经过本人查阅资料以及根据本人实际能力,最后本人选择了难度相对较小的第二个方案,利用Verilog语言实现简易电子琴的制作。
(2)Verilog代码编写:Moduletop(LED_AN,key,clk,rst_n,Led,auto,speaker,tone_7s,high_7s,mid_7s,low_ 7s);input clk,auto,rst_n; //时钟输入,自动演奏,键盘输入input [7:0] key;wire [7:0] key; //键盘输入信号output [6:0] tone_7s; //数码管显示音调output reg speaker;output [6:0] high_7s; //显示乐曲高音音符output [6:0] mid_7s; //显示乐曲中音音符output [6:0] low_7s; //显示乐曲低音音符output [7:0] Led; //led灯显示wire [7:0] Led;output [3:0] LED_AN; //选择所要显示的数码reg [3:0] LED_AN = 4'b1000; //初始化,并选择其中一个数码管reg [20:0] i; //控制分频比参数reg clk4;reg[3:0] high,mid,low,tone; //高中低音信号和键盘音调信号reg[13:0] divider,origin; //自动演奏分频系数和初始值reg carry;reg musicout; //乐谱输出信号reg [19:0] count20;reg[7:0] counter;reg [23:0] clk_cnt;assign Led[0]=(~key[0]); //led高电平有效,assign Led[1]=(~key[1]);assign Led[2]=(~key[2]);assign Led[3]=(~key[3]);assign Led[4]=(~key[4]);assign Led[5]=(~key[5]);assign Led[6]=(~key[6]);assign Led[7]=(~key[7]);parameter zero=~8'b10000000,one=~8'b01000000,two=~8'b00100000,three=~8'b00010000,four=~8'b00001000,five=~8'b00000100,six=~8'b00000010,seven=~8'b00000001;always @( posedge clk or negedge rst_n)if (!rst_n)clk_cnt <= 24'd0;elseclk_cnt <= clk_cnt + 1'b1;wire clk6m = (clk_cnt[2]||(clk_cnt[1]&&clk_cnt[0]));// 50M降为6M,用于方便控制音调always @(posedge clk6m) //通过置数,改变分频比。
6M降频到3M beginif(divider==16383 ) // 16383begincarry<=1; //carry的周期根据origin的值到16383的距离而改变divider<=origin; //初始值控制endelsebegindivider<=divider+1'd1;carry<=0;endendalways @(posedge carry) //3Mbeginmusicout<=~musicout; //2分频产生方波信号 //因为carry 周期是随时改变,musicout的周期也随时改变endalways @(posedge clk6m)beginif(auto)speaker<=musicout; //如果automusic为真,输出乐谱elsebegin //否则判断键盘key的输入case(key)zero: beginspeaker<=0;tone=4'b0000;i<=0;endone: beginif(i>=5736)beginspeaker=!speaker;tone=4'b0001; //sperker翻转就会出声,i是用于控制音调i<=0;endelsei<=i+1'd1;endtwo: beginif(i>=5111)beginspeaker=!speaker;tone=4'b0010;i<=0;endelsei<=i+1'd1;endthree: beginif(i>=4552)beginspeaker=!speaker;tone=4'b0011;i<=0;endelsei<=i+1'd1;endfour: beginif(i>=4298)beginspeaker=!speaker;tone=4'b0100;i<=0;endelsei<=i+1'd1;endfive: beginif(i>=3827)beginspeaker=!speaker;tone=4'b0101;i<=0;endelsei<=i+1'd1;endsix: beginif(i>=3409)beginspeaker=!speaker;tone=4'b0110;i<=0;endelsei<=i+1'd1;endseven: beginif(i>=3036)beginspeaker=!speaker;tone=4'b0111;i<=0;endelsei<=i+1'd1;enddefault: beginspeaker<=0;tone=4'b0000;i<=0;endendcaseendendalways @(posedge clk6m) //从6Mhz得到4hz,6M除以2除以4.控制音乐拍子beginif(!auto)begincount20<=20'd0;clk4<=0;endelse if(count20==20'd750000) //3000000%4begincount20<=20'd0;clk4<=~clk4;endelse count20<=count20+20'd1;end//reg[3:0] high,mid,low,tone; //高中低音信号和键盘音调信号always @(posedge clk4) //分频比预置begincase({high,mid,low})'h001:origin<=4933;'h002:origin<=6179;'h003:origin<=7294;'h004:origin<=7787;'h005:origin<=8730;'h006:origin<=9565;'h007:origin<=10310;//低音'h010:origin<=10647;'h020:origin<=11272;'h030:origin<=11831;'h040:origin<=12085;'h050:origin<=12556;'h060:origin<=12974;'h070:origin<=13347;//中音'h100:origin<=13515;'h200:origin<=13830;'h300:origin<=14107;'h400:origin<=14236;'h500:origin<=14470;'h600:origin<=14678;'h700:origin<=14865;//高音endcaseendalways @(posedge clk4)beginif(counter==49)counter<=0; //计时,以实现循环演奏elsecounter<=counter+1'd1;case(counter) //记谱0: {high,mid,low}<='h050;1: {high,mid,low}<='h050;2: {high,mid,low}<='h100;3: {high,mid,low}<='h060;4: {high,mid,low}<='h060;5: {high,mid,low}<='h050;6: {high,mid,low}<='h050;7: {high,mid,low}<='h050;8: {high,mid,low}<='h050;9: {high,mid,low}<='h030;10: {high,mid,low}<='h050;11: {high,mid,low}<='h060;12: {high,mid,low}<='h100;13: {high,mid,low}<='h050;14: {high,mid,low}<='h050;15: {high,mid,low}<='h050;16: {high,mid,low}<='h050;17: {high,mid,low}<='h060;18: {high,mid,low}<='h060;19: {high,mid,low}<='h050;20: {high,mid,low}<='h030;21: {high,mid,low}<='h020;22: {high,mid,low}<='h020;23: {high,mid,low}<='h020;24: {high,mid,low}<='h020;25: {high,mid,low}<='h030;26: {high,mid,low}<='h030;27: {high,mid,low}<='h050;28: {high,mid,low}<='h030;29: {high,mid,low}<='h020;30: {high,mid,low}<='h030;31: {high,mid,low}<='h010;32: {high,mid,low}<='h010;33: {high,mid,low}<='h060;34: {high,mid,low}<='h060;35: {high,mid,low}<='h050;36: {high,mid,low}<='h050;37: {high,mid,low}<='h060;38: {high,mid,low}<='h060;39: {high,mid,low}<='h050;40: {high,mid,low}<='h030;41: {high,mid,low}<='h030;42: {high,mid,low}<='h060;43: {high,mid,low}<='h060;44: {high,mid,low}<='h050;45: {high,mid,low}<='h050;46: {high,mid,low}<='h030;47: {high,mid,low}<='h020;48: {high,mid,low}<='h010;49: {high,mid,low}<='h010; endcaseendled_7s u1(high,high_7s); //高音音符显示led_7s u2(mid,mid_7s); //中音音符显示led_7s u3(low,low_7s); //低音音符显示led_7s u4(tone,tone_7s); //键盘输入音调显示endmodulemodule led_7s(datain,ledout); //7段数码管译码显示模块input [3:0] datain;output reg[6:0] ledout;alwaysbegincase(datain)0:ledout<=~(7'b1000000);1:ledout<=~(7'b1111001);2:ledout<=~(7'b0100100);3:ledout<=~(7'b0110000);4:ledout<=~(7'b0011001);5:ledout<=~(7'b0010010);6:ledout<=~(7'b0000010);7:ledout<=~(7'b1111000);8:ledout<=~(7'b0000000);9:ledout<=~(7'b0010000);default:ledout<=~(7'b1000000);endcaseendendmoduleUcf文件代码:NET "clk" LOC = K19;NET "speaker" LOC = F16; //in yonghushouce page 39NET "rst_n" LOC = K20;NET "tone_7s<0>" LOC = A16;NET "tone_7s<1>" LOC = C17; //the board have 4 shumaguan,zhe shi shu ma guan de 8 ge duanNET "tone_7s<2>" LOC = A17;NET "tone_7s<3>" LOC = V11;NET "tone_7s<4>" LOC = W11;NET "tone_7s<5>" LOC = D7;NET "tone_7s<6>" LOC = D8;NET "key<0>" LOC = C6;NET "key<1>" LOC = D6;NET "key<2>" LOC = A5;NET "key<3>" LOC = B6;NET "key<4>" LOC = A6;NET "key<5>" LOC = C7;NET "key<6>" LOC = A7;NET "key<7>" LOC = B8;NET "Led<0>" LOC = A8;NET "Led<1>" LOC = C9;NET "Led<2>" LOC = A9;NET "Led<3>" LOC = C11;NET "Led<4>" LOC = A11;NET "Led<5>" LOC = B12;NET "Led<6>" LOC = A12;NET "Led<7>" LOC = C13;NET "auto" LOC = A15;NET "LED_AN<0>" LOC = D11;NET "LED_AN<1>" LOC = C10;NET "LED_AN<2>" LOC = D10;NET "LED_AN<3>" LOC = C8;三、硬件测试:红色飓风开发板上电,并把verilog程序载入开发板上,通过人为按顺序按下按键,可以听到较为准确的do,re,mi,fa,sol,la,si七个音,此时数码管按顺序显示1~7。