EDA实验七波形图

合集下载

EDA实验三-七段译码显示

EDA实验三-七段译码显示

河北科技大学实验报告2013级电信专业132 班学号130701213 2016年6月7日姓名田继辉同组人指导教师于国庆实验名称实验三七段译码显示成绩实验类型设计型批阅教师一、实验目的(1)掌握VHDL语言的行为描述设计时序电路。

(2)掌握FPGA动态扫描显示电路设计方法。

(3)熟悉进程(process)和顺序语句的应用。

二、实验原理:用4个开关作为加法器的一组输入变量,共4组输入变量;对每组变量进行译码,变换成0~F标准段码,段码中“1”表示段亮,“0”表示段灭。

一位时钟输入作为扫描显示位扫时钟,四位位扫输出,依次输出高电平。

8位段码输出,根据位选状态选择输出四组输入变量的相应译码结果。

四组输入采用试验箱K1~K16,时钟输入选择试验箱CP1或CP2;试验箱LED显示选择动态显示方式(CZ1开关ST选择OFF),段码、位码分别扫描输出,某个管的位码有效期间,将其对应的段码输出,各位码依次有效,实现循环扫描显示,将输入的16位二进制数,每4位一组,分别显示到4个数码管上(0~F)。

三、实验内容及步骤1.打开MUXPLUS II VHDL编辑器,完成七段译码显示的设计。

包括VHDL程序输入、编译、综合。

实验程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY alpher ISPORT(1 / 6clk : IN STD_LOGIC;choice : OUT STD_LOGIC_VECTOR(7 downto 0);data : OUT STD_LOGIC_VECTOR(7 downto 0)); END alpher;ARCHITECTURE a OF alpher ISSIGNAL count : STD_LOGIC_VECTOR(3 downto 0); SIGNAL temp : STD_LOGIC_VECTOR(3 downto 0);BEGINchoice<="10000000";clk1_label:PROCESS (clk)BEGINIF clk'event and clk='1' THENcount<=count+1;END IF;END PROCESS clk1_label;WITH count selectdata <= "11111100" WHEN "0000","01100000" WHEN "0001","11011010" WHEN "0010","11110010" WHEN "0011","01100110" WHEN "0100","10110110" WHEN "0101","10111110" WHEN "0110","11100000" WHEN "0111","11111110" WHEN "1000","11110110" WHEN "1001","11101110" WHEN "1010","00111110" WHEN "1011","10011100" WHEN "1100","01111010" WHEN "1101","10011110" WHEN "1110","10001110" WHEN OTHERS;END a;2、建立仿真波形文件,使用MAXPLUS II Simulator功能进行功能仿真。

EDA实验报告

EDA实验报告

EDA实验报告班级:姓名:目录实验一:七段数码显示译码器设计 (1)摘要 (1)实验原理 (1)实验方案及仿真 (1)引脚下载 (2)实验结果与分析 (3)附录 (3)实验二:序列检测器设计 (6)摘要 (6)实验原理 (6)实现方案及仿真 (6)引脚下载 (7)实验结果与分析 (8)实验三:数控分频器的设计 (11)摘要 (11)实验原理 (11)方案的实现与仿真 (11)引脚下载 (12)实验结果及总结 (12)附录 (12)实验四:正弦信号发生器 (14)摘要 (14)实验原理 (14)实现方案与仿真 (14)嵌入式逻辑分析及管脚下载 (16)实验结果与分析 (17)附录 (18)实验一:七段数码显示译码器设计摘要:七段译码器是一种简单的组合电路,利用QuartusII的VHDL语言十分方便的设计出七段数码显示译码器。

将其生成原理图,再与四位二进制计数器组合而成的一个用数码管显示的十六位计数器。

整个设计过程完整的学习了QuartusII的整个设计流程。

实验原理:七段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA\CPLD中来实现。

本实验作为7段译码器,输出信号LED7S的7位分别是g、f、e、d、c、b、a,高位在左,低位在右。

例如当LED7S 输出为“1101101”时,数码管的7个段g、f、e、d、c、b、a分别为1、1、0、1、1、1、0、1。

接有高电平段发亮,于是数码管显示“5”。

实验方案及仿真:I、七段数码显示管的设计实现利用VHDL描述语言进行FPGA上的编译实现七段数码显示译码器的设计。

运行QuartusII在G:\QuartusII\LED7S\下新建一个工程文件。

新建一个vhdl语言编译文件,编写七段数码显示管的程序见附录1-1。

eda-信号发生器三角波正弦波方波

eda-信号发生器三角波正弦波方波

1引言简易多功能信号发生器是信号发生器的一种,在生产实践和科研领域中有着广泛的应用。

信号源主要给被测电路提供所需要的已知信号(各种波形),然后用其它仪表测量感兴趣的参数。

可见信号源在电子实验和测试处理中,并不测量任何参数,而是根据使用者的要求,仿真各种测试信号,提供给被测电路,以达到测试的需要。

信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。

它可以产生多种波形信号 , 如正弦波 ,三角波和方波等 , 因而广泛用于通信、雷达、导航、宇航等领域。

在本设计中它能够产生多种波形,如正弦波 , 三角波和方波等,并能实现对各种波频率和幅度的改变。

正因为其在生活中应用的重要性,人们它做了大量的研究,总结出了许多实现方式。

可以基于 FPGA 、 VHDL、单片机、 DOS技能、数字电路等多种方法实现。

本设计是采用 VHDL来实现的简易多功能信号发生器。

它能产生正弦波, 三角波和方波。

且对各种波形的要求如下:(1)设计任意信号发生器,使之能够生成正弦波、三角波和方波;( 2)电路的外部频率为 40MHz,要求信号发生器可产生 0-1KHz、 1KHz~10KHz、10KHz~1MHz三档频率的信号;(3)要求具有波形选择和频率选择的功能;(4)在同一频率档内,可实现频率的加减;(5)要求显示波形的同时能够进行频率的调节;( 6)要求能够显示波形: A——正弦波; B——三角波; C——方波;(7)要求能够显示频率值;(8)可用示波器进行波形的观测。

2设计流程2.1设计思想及流程图本次课程设计按模块式实现,据任务书要求,设计总共分三大步骤完成:(1)产生波形(三种波形:方波、三角波、正弦波)信号;(2)频率控制;(3)显示频率值。

利用 VHDL编程,依据基本数字电路模块原理进行整合。

系统各部分所需工作时钟信号由输入系统时钟信号经分频得到,系统时钟输入端应满足输入脉冲信号的要求。

频率控制模块有多个可选频率,最终送至脉冲发生模块输出脉冲信号,同时将信号的频率输出至数码管显示当前信号的频率值,达到设计课题所要求的输出波形频率可调功能。

EDA实验报告-实验2-数码管扫描显示电路

EDA实验报告-实验2-数码管扫描显示电路

EDA实验报告-实验2-数码管扫描显⽰电路暨南⼤学本科实验报告专⽤纸课程名称 EDA 实验成绩评定实验项⽬名称数码管扫描显⽰电路指导教师郭江陵实验项⽬编号 02 实验项⽬类型验证实验地点 B305 学院电⽓信息学院系专业物联⽹⼯程组号: A6⼀、实验前准备本实验例⼦使⽤独⽴扩展下载板EP1K10_30_50_100QC208(芯⽚为EP1K100QC208)。

EDAPRO/240H 实验仪主板的VCCINT 跳线器右跳设定为3.3V ;EDAPRO/240H 实验仪主板的VCCIO 跳线器组中“VCCIO3.3V ”应短接,其余VCCIO 均断开;独⽴扩展下载板“EP1K10_30_50_100QC208”的VCCINT 跳线器组设定为 2.5V ;独⽴扩展下载板“EP1K10_30_50_100QC208”的VCCIO 跳线器组设定为3.3V 。

请参考前⾯第⼆章中关于“电源模块”的说明。

⼆、实验⽬的1、了解时序电路设计。

2、制作⼀个数码管显⽰的7段译码电路,以备以后调⽤。

三、实验原理在电⼦电路显⽰部分⾥,发光⼆极管(LED )、七段显⽰数码管、液晶显⽰(LCD )均是⼗分常见的⼈机接⼝电路。

通常点亮⼀个LED 所需的电流在5~20mA 之间,电流愈⼤,LED 的亮度也⾼,相对的使⽤寿命也愈短。

若以10mA 导通电流来估算⼀个接5V 的串接电阻值计算应为:(5-1.6)/10mA ≈0.34K Ω。

七段显⽰数码管分为共阳、共阴⼆种极性。

它们等效成⼋个LED 相连电路。

共阴极七段显⽰器的LED 位置定义和等效电路共阴极七段显⽰码⼗六进制转换表四、实验内容⽤拨码开关产⽣8421BCD 码,CPLD 器件产⽣译码及扫描电路,把BCD 码显⽰在LED 数码管上,通过改变扫描频率观察数码管刷新效果。

五、实验要求学习在MAX+PLUS II 中使⽤VHDL 设计功能模块,并将所⽣成的功能模块转换成MAX+PLUS II 原理图的符号库,以便在使⽤原理图时调⽤该库。

EDA存储器实验实验报告及波形

EDA存储器实验实验报告及波形

计科二班 03号樊艳波实验三:存储器实验实验设备1、PC机一台2、数字系统实验箱3、QuartusII配套软件实验预习:计算机的存储器是存储各种二进制信息的记忆装置,计算机的内存是计算机不可缺少的部件,用来存放计算机正在执行或将要执行的程序和数据等信息;本次实验主要是学习存储器的组成、分类、容量扩展等内容,学习了Lpm_ram_io定制方法,并设计了存储器的数据通路和附加显示电路,对存储器的数据传送、存储和读取进行验证,预习中主要遇到了一下问题1、存储器实验原理框图的理解及各个部分芯片的选择2、画图法设计时地址计数器PC的设计3、如何修改电路使其能连续读取连续地址单元中的内容实验的结构框图以及各部分的芯片选择(可以实现连读功能)实验中几个主要部件的设计如下:程序计数器PC的设计:通过两片74161级联而成,其电路图如下设计这部分时的主要问题在于级联信号的生成;一开始误以为装载时需要使能EN有效,所以在装载和清零上卡了很长时间,后来通过对时钟信号的控制虽然解决了这个问题,但是电路比较麻烦;通过与同学讨论才发觉装载时不需要EN 信号有效,只需要将第四位的进位输出rco当做高四位的使能输入即可实现级联Lpm_ram_io的定制及相关参数如下附加电路的设计:这里将K值,PC中的地址,以及总线上的数据都显示到数码管上,K的生成有两片16进制的计数器级联而成,这部分只需要根据实验2的附加电路坐一些改动即可,没有遇到什么问题,其顶层图如下波形仿真:波形仿真参数设置仿真参数设置:Grid size:100.0ns End time:10.0us验证功能:PC的装载、清零、+1功能;存储器的读写功能,(从.mif文件中读数据);以及连续读数据Initial_file.mif中的部分数据如下波形仿真结果及分析思考题1、如何将两片512*4bit的RAM构成容量为512*8bit的存储体?2、如何将两片512*4bit的RAM构成容量为1024*4bit的存储体?3、如何修改电路使其能读出存入连续地址单元中的数据?答:只需要将图中的存储地址显示由AR输出端移到PC输出端,同时PC输出端不连接到总线上即可,见结构框图4、如何将原理图输入的逻辑电路转换成HDL语言描述的器件?答:通过File->Create/Update->Create HDL Design File For Current File实验日志:1、本次试验主要学习了有关存储器的一些知识,设计了一个八位存储器和相关的数据通路,模拟了存储器的读写操作;实验的难点在于数据通路的设计,本实验我采用VHDL和画图法两种方法设计了数据通路;2、实验中主要在画图的过程中出现了一些问题,一开始对实验原理图不是很理解,对芯片的选择弄不对,进过自己的仔细分析弄清楚了各部分的功能;在程序计数器PC的设计方面遇到了困难,本实验是通过两片74161芯片级联而成,在高四位的时钟信号的生成上遇到了困难,经过好长时间的实验才解决(解决方法见上)3、波形模拟过程中在PC的装载上出现了问题,经检查原来是SW_bus打开的同时存储器进行了读得操作,结果存储器里的数据和K值被同时放到了总线上导致PC装载时出错,在这里耽误了我许多时间;以后实验还是需要更加仔细一些,本次试验花费了我很多时间,但也暴露出了我的一些个问题。

EDA实验报告

EDA实验报告

姓名:郭灵芝学号:0704240115班级:通信一班07042200实验一0704240115 郭灵芝通信一班一.实验内容1.调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。

2.加入信号源频率5kHz(幅度1mV) ,调节电路使输出不失真,测试此时的静态工作点值。

测电路的输入电阻、输出电阻和电压增益;3.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(幅度1mV) ,负载电阻5.1kΩ,电压增益大于50。

4.测电路的频率响应曲线和f L、f H值。

二.放大电路的原理图(1-1)放大电路的原理图R为滑动变阻器,该电路用的是三极管来实现放大,采用的是电压偏置,接法是共射极,1R的大小从而改变三极管的静态工作点,使三极管处于正常放通过它改变接入电路中的1大状态。

为了确定好的静态工作点,进行如下静态分析:上面图1-1的静态电路如下(1-2)放大电路所对应的静态电路可以用两个交流电压表分别测量输入电压和输出电压,输出电压除以输入电压即为放大倍数。

为了保证放大电路工作在放大区(可用示波器监测,保证波形不失真),将交流输入电压调为1mv,2mv,3mv 。

电压表均用交流模式。

当交流信号源取下表所示不同值时,读出电压表的读数,即i V 和0V ,并计算电压的放大倍数。

(表一)结论:当三极管工作在放大区时,其电压放大倍数近似为常数。

即输入电压随输入电压线性变化。

且放大倍数符合大于50的要求。

(表二)结论1R 调到10%到80%之间时三极管都正常放大,这可以通过C I 与B I 的比值即β来确定,在这个区间里β基本保持不变,当然1R 处于0%到10%之间的确定不了,这个还要通过实际测量的β来确定。

三.失真研究1. 电位器调到0%,交流信号保持20mv ,5 KHz ,输出信号如下(1-3)饱和失真的波形图此时负半周出现了失真,即削底,对于NPN 管说明出现了饱和失真。

EDA课程报告-正弦波信号发生器的设计

EDA课程报告-正弦波信号发生器的设计

《EDA》课程设计报告——正弦波信号发生器的设计一、设计目的:进一步熟悉QuartusII及其LPM_ROM与FPGA 硬件资源的使用方法。

培养动手能力以及合作能力。

二、设计要求:1、clk为12MHz。

2、通过DAC0832输出正弦波电压信号,电压范围0~-5V。

3、通过示波器观察波形。

三、设计内容:在QUARTUSII上完成正弦波信号发生器的设计,包括仿真和资源利用情况了解(假设利用Cyclone器件)。

最后在实验系统上实测,包括FPGA中ROM的在系统数据读写测试和利用示波器测试。

信号输出的D/A使用实验系统上的ADC0832。

四、设计原理:图1所示的正弦波信号发生器的结构由四部分组成:1、计数器或地址发生器(这里选择10位)。

2、正弦信号数据ROM(10位地址线,8位数据线),含有1024个8位数据(一个周期)。

3、VHDL顶层设计。

4、8位D/A(实验中可用ADC0832代替)。

图1所示的信号发生器结构图中,顶层文件singt.vhd在FPGA中实现,包含两个部分:ROM的地址信号发生器,由10位计数器担任;一个正弦数据ROM,由LPM_ROM模块构成。

LPM_ROM底层是FPGA 中的EAB、ESB或M4K等模块。

地址发生器的时钟clk的输入频率fo与每周期的波形数据点数(在此选择1024点),以及D/A输出的频率f的关系是:f=fo/1024图1 正弦信号发生器结构框图图2 正弦波信号发生器的设计图五、设计步骤:1、建立.mif格式文件首先,mif文件可用C语言程序生成,产生正弦波数值的C程序如下:#include<stdio.h>#include<math.h>main(){int i;float s;for(i=0;i<1024;i++){s=sin(atan(1)*8*i/256);printf("%d :%d;\n",i,(int)((s+1)*255/2)) }}其次,把上述程序编译后,在DOS命令行下执行命令:romgen > sdata.mif;将生成的sdata.mif 文件,再加上.mif文件的头部说明即可。

(完整版)EDALED动态扫描控制器的设计

(完整版)EDALED动态扫描控制器的设计

《EDA技术》课程实验报告学生姓名:所在班级:指导教师:记分及评价:一、实验名称实验7:LED动态扫描控制器的设计二、任务及要求【基本部分】1、新建原理图文件,调用以前的电子钟模块、LED显示译码器模块及其他计数器模块、译码器模块等,实现电子钟时、分、秒的结果在实验箱数码管上以动态扫描的方式显示出来。

2、设计完成后生成一个元件,以供更高层次的设计调用。

3、实验箱上进行验证。

【提示】数码管为共阴极,低电平选中,电子钟等模块的使能、清零信号等直接接电源或地(正常工作)。

位选信位段数据,接个数码管公组4位二进制数据三、实验程序PIN_T4VCCclk2INPUT PIN_U1VCCclk1INPUT P IN_U14VCCrco1INPUT P IN_U15VCCrco2INPUT P IN_T19VCCenINPUT P IN_T20VCCclrINPUT P IN_M21P IN_M22P IN_M19P IN_M20P IN_M16P IN_N21P IN_N22out[6..0]OUTPUT P IN_J19P IN_J18P IN_J20P IN_K21P IN_K22P IN_K19P IN_K18P IN_L21y y [7..0]OUTPUTs[2..0]a[3..0]b[3..0]c[3..0]d[3..0]e[3..0]f [3..0]y [3..0]sixselectoneinst5s[2..0]y [7..0]seqsinst4clken clr coqh[2..0]sixinst8X[3..0]Y[6..0]sel[7..0]ledinst1rco1rco2e cr ckmg[3..0]tg[3..0]xg[3..0]ms[3..0]ts[3..0]xs[3..0]clockinst6mg[3..0]y [3..0]y [3..0]xs[3..0]xg[3..0]ts[3..0]tg[3..0]ms[3..0]sel[7..0]qh[2..0]mg[3..0]tg[3..0]xg[3..0]ms[3..0]ts[3..0]xs[3..0]coqh[2..0]qh[2..0]图7-1 LED 动态扫描控制器原理图四、仿真及结果分析图7-2 LED 动态扫描控制器仿真图结果分析:从波形图中可看出程序和结果都是正确的,运行正常。

EDA实验报告_7段数码显示译码器设计

EDA实验报告_7段数码显示译码器设计

EDA实验报告课程名称:EDA技术实验实验名称:7段数码显示译码器设计班级:姓名:指导老师评定:签名:一、实验目的设计一个7段数码显示译码器设计。

二、实验仪器计算机一台,U盘一个,QuartusⅡ软件三、实验步骤1. 新建一个文件夹YHY,打开QuartusⅡ软件,选择菜单File→New,在弹出的New 对话框中选择Device Design File页的原理图文件编辑器输入项VHDL File(如图一),按OK按钮打开VHDL编辑器窗口。

2. 在VHDL编辑器窗口输入7段数码显示译码器的VHDL描述:IBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0) );END;ARCHITECTURE ONE OF DECL7S ISBEGINPROCESS(A)BEGINCASE A ISWHEN "0000"=>LED7S<="0111111";WHEN "0001"=>LED7S<="0000110";WHEN "0010"=>LED7S<="1011011";WHEN "0011"=>LED7S<="1001111";WHEN "0100"=>LED7S<="1100110";WHEN "0101"=>LED7S<="1101101";WHEN "0110"=>LED7S<="1111101";WHEN "0111"=>LED7S<="0000111";WHEN "1000"=>LED7S<="1111111";WHEN "1001"=>LED7S<="1101111";WHEN "1010"=>LED7S<="1110111";WHEN "1011"=>LED7S<="1111100";WHEN "1100"=>LED7S<="0111001"; WHEN "1101"=>LED7S<="1011110";WHEN "1110"=>LED7S<="1111001"; WHEN "1111"=>LED7S<="1110001";WHEN OTHERS=>NULL;END CASE;END PROCESS;END;3. 编译并运行,观察其波形输出(如下图)。

(整理)可编程逻辑器件及EDA技术实验报告.

(整理)可编程逻辑器件及EDA技术实验报告.

可编程逻辑器件及EDA技术实验报告一、组合逻辑电路设计数字逻辑电路按照逻辑功能的特点分为两类,一类是组合逻辑电路,简称为组合电路;另一类是时序逻辑电路,简称为时序电路。

组合电路的特点是电路任意时刻输出状态只取决该时刻的输入状态,而与该时刻钱的电路状态无关。

1、逻辑门电路设计实验原理:逻辑门电路包括基本逻辑门电路和符合逻辑门电路。

VHDL语言可以直接支持的逻辑运算符共有七种逻辑运算,它们是:NOT 逻辑非AND 逻辑与NAND 逻辑与非OR 逻辑或NOR 或非XOR 异或XNOR 异或非实验内容:例3-2的参考程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee. std_logic_unsigned.all;entity example3_2 isport(a,b,c,d:in std_logic;f:out std_logic_vector(3 downto 0));end example3_2;architecture behavioral of example3_2 isbeginf(0)<=(a and b)or(b and c)or(not b and not c);f(1)<=(a and b and c)or not(not a or not b or not c);f(2)<=(a xor b xor c)or(not(d)and(a or c));f(3)<=not ((a and b)xor (c and d))or((a and b and d)xor(b and c and d));end behavioral;实验分析:用逻辑运算符是实现了相对较为复杂的逻辑运算。

参考程序中使用括号来强制控制逻辑运算的优先级,对于用VHDL设计,这种写法是必修的。

eda数字钟程序及波形仿真图

eda数字钟程序及波形仿真图

部件一:60进制程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLOCK60 ISPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END CLOCK60;ARCHITECTURE ARTCLOCK60 OF CLOCK60 ISBEGINCO<='1'WHEN(QH="0101" AND QL="1001" AND CI='1')ELSE'0';----进位输出PROCESS(CLK,NRESET)BEGINIF(NRESET='0')THEN -----异步复位QH<="0000";QL<="0000";ELSIF(CLK'EVENT AND CLK='1')THEN------同步置数IF(LOAD='1')THENQH<=D(7 DOWNTO 4);QL<=D(3 DOWNTO 0);ELSIF(CI='1')THENIF(QL=9)THENQL<="0000";IF(QH=5)THENQH<="0000";ELSEQH<=QH+1;END IF;ELSEQL<=QL+1;END IF;END IF;END IF;END PROCESS;END ARTCLOCK60;60进制波形图如下:部件二:24进制程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLOCK24 ISPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END CLOCK24;ARCHITECTURE ARTCLOCK24 OF CLOCK24 ISBEGINCO<='1'WHEN(QH="0101" AND QL="1001" AND CI='1')ELSE'0';----进位输出PROCESS(CLK,NRESET)BEGINIF(NRESET='0')THEN -----异步复位QH<="0000";QL<="0000";ELSIF(CLK'EVENT AND CLK='1')THEN------同步置数IF(LOAD='1')THENQH<=D(7 DOWNTO 4);QL<=D(3 DOWNTO 0);ELSIF(CI='1')THENIF(QL=9 or (QH=2 AND QL=3))THENQL<="0000";IF(QH=2)THENQH<="0000";ELSEQH<=QH+1;END IF;ELSEQL<=QL+1;END IF;END IF;END IF;END PROCESS;END ARTCLOCK24;24进制的波形图如下:数字钟的全部程序如下:LIBRARY IEEE; ---秒信号USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLOCK60s ISPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END CLOCK60s;ARCHITECTURE ARTCLOCK60s OF CLOCK60s ISBEGINCO<='1'WHEN(QH="0101" AND QL="1001" AND CI='1')ELSE'0'; --进位输出PROCESS(CLK,NRESET)BEGINIF(NRESET='0')THEN ---异步复位QH<="0000";QL<="0000";ELSIF(CLK'EVENT AND CLK='1')THEN --同步置数IF(LOAD='1')THENQH<=D(7 DOWNTO 4);QL<=D(3 DOWNTO 0);ELSIF(CI='1')THENIF(QL=9)THENQL<="0000";IF(QH=5)THENQH<="0000";ELSEQH<=QH+1;END IF;ELSEQL<=QL+1;END IF;END IF;END IF;END PROCESS;END ARTCLOCK60s;LIBRARY IEEE; ---分信号USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLOCK60m ISPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END CLOCK60m;ARCHITECTURE ARTCLOCK60m OF CLOCK60m ISBEGINCO<='1'WHEN(QH="0101" AND QL="1001" AND CI='1')ELSE'0'; --进位输出PROCESS(CLK,NRESET)BEGINIF(NRESET='0')THEN --异步复位QH<="0000";QL<="0000";ELSIF(CLK'EVENT AND CLK='1')THEN ---同步置数IF(LOAD='1')THENQH<=D(7 DOWNTO 4);QL<=D(3 DOWNTO 0);ELSIF(CI='1')THENIF(QL=9)THENQL<="0000";IF(QH=5)THENQH<="0000";ELSEEND IF;ELSEQL<=QL+1;END IF;END IF;END IF;END PROCESS;END ARTCLOCK60m;LIBRARY IEEE; ---时信号USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CLOCK24 ISPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; --进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END CLOCK24;ARCHITECTURE ARTCLOCK24 OF CLOCK24 ISBEGINCO<='1'WHEN(QH="0101" AND QL="1001" AND CI='1')ELSE'0'; ---进位输出PROCESS(CLK,NRESET)BEGINIF(NRESET='0')THEN ---异步复位QH<="0000";QL<="0000";ELSIF(CLK'EVENT AND CLK='1')THEN ---同步置数IF(LOAD='1')THENQH<=D(7 DOWNTO 4);QL<=D(3 DOWNTO 0);ELSIF(CI='1')THENIF(QL=9 or (QH=2 AND QL=3))THENQL<="0000";IF(QH=2)THENQH<="0000";ELSEQH<=QH+1;END IF;ELSEEND IF;END IF;END IF;END PROCESS;END ARTCLOCK24;LIBRARY IEEE; ---时信号USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY hour ISPORT( CLK: IN STD_LOGIC; ---时钟信号NRESETS: IN STD_LOGIC; ---复位端LOADS: IN STD_LOGIC; ---置数端NRESETM: IN STD_LOGIC; ---复位端LOADM: IN STD_LOGIC; ---置数端NRESETH: IN STD_LOGIC; ---复位端LOADH: IN STD_LOGIC; ---置数端DS: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端DM: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端DH: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH1: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL1: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QH2: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL2: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QH3: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL3: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END hour;ARCHITECTURE ART OF hour ISCOMPONENT CLOCK60SPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT CLOCK60MPORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; ---始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;COMPONENT CLOCK24PORT( CLK: IN STD_LOGIC; ---时钟信号NRESET: IN STD_LOGIC; ---复位端LOAD: IN STD_LOGIC; ---置数端D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); ---输入端CI:IN STD_LOGIC; --始能端CO: OUT STD_LOGIC; ---进位脉冲QH: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0);QL: BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0));END COMPONENT;SIGNAL Z1,Z2:STD_LOGIC;BEGINU1: CLOCK60S PORT MAP(CLK,NRESETS,LOADS,DS,CI,Z1,QH1,QL1);U2: CLOCK60M PORT MAP(CLK,NRESETM,LOADM,DM,Z1,Z2,QH2,QL2);U3: CLOCK24 PORT MAP(CLK,NRESETH,LOADH,DH,Z2,CO,QH3,QL3);END ARCHITECTURE ART;电子钟全部引脚显示波形:00:00:59波形显示如下:00:59:59波形图如下,进位后为01:00:00 23:59:59波形图如下:调时间波形如下:用置位端进行调时,调到02:51:15波形如下:经验证,以上设计完全符合题目要求!。

《EDA》实验指导书--精讲

《EDA》实验指导书--精讲

辽东学院自编教材《可编程逻辑器件原理及应用实验》指导书李海成编(计算机科学与技术、电子信息工程专业用)姓名:学号:班级:信息技术学院2013年6月目录目录 (1)实验一MAX+PLUS-II设计三八译码器......... 错误!未定义书签。

实验二半加器 . (2)实验三带进位输入的8位加法器 (4)实验四数据比较器 (6)实验五编码器 (9)实验六组合逻辑电路的设计 (12)实验七计数器 (14)实验八触发器功能的模拟实现 (17)(被加数)Ai(被加数)Bi(半加和)Hi(本位进位)Ci实验二 半加器实验类型: 验证性实验课时: 2指导教师: 李海成 时 间:201 年 月 日 课 次:第 节教学周次:第 周实验分室: 实验台号: 实 验 员:一、 实验目的1.设计并实验一个一位半加器2.掌握CPLD/FPGA 组合逻辑设计基本方法。

二、 实验原理计算机中数的操作都是以二进制进位的,最基本的运算就是加法运算。

按照进位是否加入,加法器分为半加器和全加器电路两种。

计算机中的异或指令的功能就是求两个操作数各位的半加和。

一位半加器有两个输入、输出,如图2-1。

图2-1 一位半加器示意图表2-1一个半加大路的真值表如表2-1所示,根据真值表可得到半加器的函数表达式:Bi Ai Bi Ai Hi ∙+∙= Bi Ai Ci ∙=三、 实验连线半加器的两个输入所对应的管脚同两位拨码开关相连,两个输入管脚名为a 、b ;两个输出所对应的管脚同两位发光二极管相连,两个输出管脚名为 c0和s,其中c0表示进位, s 表示相加结果。

四、 实验记录五、实验注意事项1.提前编辑实验程序。

2.根据教师要求正确操作,并检验逻辑的正确性六、思考题1.EDA半加器实现与数字电路设计方法的根本区别。

2.简述EDA设计半加器的不同方法,并比较其优缺点。

3.心得体会及其他。

实验三 带进位输入的8位加法器实验类型: 验证性实验课时: 2 指导教师:时 间:200 年 月 日 课 次:第 节教学周次:第 周实验分室: 实验台号: 实 验 员:一、 实验目的1. 设计并实现一个8位全加器2. 掌握EDA 中模块调用方法 二、 实验原理利用实验二构建的半加器构建一位的全加器,然后设计一个8 位的全加器,其框图如图4-1所示。

EDA实验报告波形发生

EDA实验报告波形发生

2009-2010第一学期北京工业大学实验学院EDA实验报告题目波形发生与嵌入式逻辑分析仪专业电子信息工程学号 07521203姓名马艳成绩指导教师2009年12 月 6 日一实验目的学习内嵌式逻辑分析工具Signal TabII测试波形功能。

达到检验设计效果和提高分析设计过程的能力。

二实验内容与要求利用内嵌式逻辑分析工具完成信号发生器设计及编译、综合、适配、仿真和硬件测试,能够产生正弦波,方波,三角波,锯齿波。

三实验平台(1)硬件:计算机、GX-SOC/SOPC-DEVLABCycloneII EP2C35F672C8核心扳(2)软件:Quartus II四实验原理嵌入式逻辑分析仪主要分为硬件部分和软件部分。

硬件部分由待测设计(DUT),嵌入到FPGA中的ELA IP核、RAM存储单元以及JTAG接口组成;软件部分由用户设计软件和集成在其中的ELA在线调试软件组成。

五程序代码---clkgen.vhdLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY clkgen ISPORT(clkin:IN STD_LOGIC ;clkout: OUT STD_LOGIC);END;ARCHITECTURE even OF clkgen ISconstant N:Integer:=16;SIGNAL coun:integer range 0 to N;SIGNAL clk1:STD_LOGIC;BEGINPROCESS(clkin)BEGINIF(clkin'EVENT AND clkin='1')THEN IF(coun=N)THENcoun<=0;clk1<=Not clk1;elsecoun<=coun+1;END IF;END IF;END PROCESS;clkout<=clk1;END even;--方波library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity fang2 isport(clk : in std_logic;fd1 : out std_logic_vector(7 downto 0)); end;ARCHITECTURE fang OF fang2 ISSIGNAL q:integer range 0 to 1;BEGINPROCESS(clk)BEGINIF(clk'EVENT AND clk='1')THENq<=q+1;END IF;END PROCESS;process(q)begincase q iswhen 0=>fd1<="00000000";when 1=>fd1<="";when others=>null;end case;end process;end architecture;--三角波library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sanj isport(clk: in std_logic;dd3 : out std_logic_vector(7 downto 0));end;architecture one of sanj isbeginprocess(clk)variable num : std_logic_vector(7 downto 0); variable ff : std_logic;beginif (clk'event and clk='1') thenif ff = '0' thenif num=""thennum:="";ff:='1';elsenum:=num+8;end if;elseif num="00000111" thennum:="00000000";ff:='0';elsenum:=num-8;end if;end if;end if;dd3<=num;end process;end;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;entity jvchi2 isport(clk,up_down: in std_logic;dd2:out integer range 255 downto 0);end;architecture one of jvchi2 issignal d,temp:integer range 255 downto 0;beginprocess(clk)beginif(clk'event and clk='1') thenif temp<198 then temp<=temp+2;else temp<=0;end if;end if;end process;process(temp,up_down)beginif up_down='0' then d<=temp;else d<=198-temp;end if;end process;dd2<=d;end;六引脚定义及代码代码:# Copyright (C) 1991-2008 Altera Corporation# Your use of Altera Corporation's design tools, logic functions # and other software and tools, and its AMPP partner logic# functions, and any output files from any of the foregoing# (including device programming or simulation files), and any# associated documentation or information are expressly subject # to the terms and conditions of the Altera Program License# Subscription Agreement, Altera MegaCore Function License# Agreement, or other applicable license agreement, including, # without limitation, that your use is for the sole purpose of # programming logic devices manufactured by Altera and sold by # Altera or its authorized distributors. Please refer to the# applicable agreement for further details.# Quartus II: Generate Tcl File for Project# File: wave.tcl# Generated on: Thu Nov 12 12:00:52 2009# Load Quartus II Tcl Project packagepackage require ::quartus::projectset need_to_close_project 0set make_assignments 1# Check that the right project is openif {[is_project_open]} {if {[string compare $quartus(project) "wave"]} {puts "Project wave is not open"set make_assignments 0}} else {# Only open if not already openif {[project_exists wave]} {project_open -revision wave wave} else {project_new -revision wave wave}set need_to_close_project 1}# Make assignmentsif {$make_assignments} {set_global_assignment -name FAMILY "Cyclone II"set_global_assignment -name DEVICE EP2C35F672C8set_global_assignment -name TOP_LEVEL_ENTITY wavetopset_global_assignment -name ORIGINAL_QUARTUS_VERSION 8.0set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:58:59 NOVEMBER 12, 2009"set_global_assignment -name LAST_QUARTUS_VERSION 8.0set_global_assignment -name USE_GENERATED_PHYSICAL_CONSTRAINTS OFF -section_id eda_palaceset_global_assignment -name DEVICE_FILTER_PACKAGE FBGAset_global_assignment -name DEVICE_FILTER_PIN_COUNT 672set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_COLOR -section_id Topset_global_assignment -name LL_ROOT_REGION ON -section_id "Root Region"set_global_assignment -name LL_MEMBER_STATE LOCKED -section_id "Root Region"set_global_assignment -name BDF_FILE wavetop.bdfset_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top# Commit assignmentsexport_assignmentsset_location_assignment PIN_B13 -to clkset_location_assignment PIN_F6 -to switch[0]set_location_assignment PIN_A21 -to switch[1]set_location_assignment PIN_B21 -to switch[2]set_location_assignment PIN_J25 -to dac_abset_location_assignment PIN_J26 -to dac_csset_location_assignment PIN_U26 -to dac_wrset_location_assignment PIN_G21 -to dout[0]set_location_assignment PIN_E23 -to dout[1]set_location_assignment PIN_E24 -to dout[2]set_location_assignment PIN_B24 -to dout[3]set_location_assignment PIN_B25 -to dout[4]set_location_assignment PIN_V21 -to dout[5]set_location_assignment PIN_V20 -to dout[6]set_location_assignment PIN_AE15 -to dout[7]# Close projectif {$need_to_close_project} {project_close}}七仿真图一原理图图二仿真结果八导入程序到实验箱图三锯齿波1图四锯齿波2图五正弦波图六方波1图七方波2图八三角波。

EDA设计实验报告

EDA设计实验报告

EDA设计实验报告姓名学号:班级:指导老师:实验一单管分压偏置电路一:单管分压偏置电路原理图:二:调节电路静态工作点1:电路饱和失真时波形图如下:饱和失真时静态工作点2:最大不失真时波形图(电位器调节到34%时)最大不失真时静态工作点:由此可以计算出β=i c/i b=1.28102m/6.13449u=208.8226 U=V c-V e=V)15(-V)17(=5.59796-3.21635=2.38161v CEQ3:截止失真时波形:截止失真时静态工作点;三:测试三极管输入输出特性特性曲线1:测输入特性曲线原理图:输入特性曲线2:测输出特性曲线原理图:输出特性曲线:3:根据输入特性曲线求be r :由最大不失真时测得的静态工作点i b =6.13449u,在此值附近如图找两点:be r =BE U ∆/B i ∆=dx/dy=4.4444m/1.0775u=4.1247k Ω4:根据输出特性曲线测ce r ,在静态工作点i b =6.13449uA 线上, CEQ U =V c -V e =V )15(-V )17(=5.597963.21635=2.38161v选取其中褐色线条即ii1=6uA 的线,c ce ce i u r ∆∆=/=dx/dy=77.7778m/941.6365n=82.6k Ω四:测输入电阻原理图电源电压有效值、交流输入电流、交流输出电压值电压放大倍数Au=851.792/7.071=120.46输入电阻:Ri=7.071/0.003764=1.88kΩ五:测输出电阻原理图输出端电流如下图输出电阻R 0=7.071/0.001507=4.692k Ω与理论值比较分析:理论值: 输入电阻:Ri ’=R 3//R 1//R b =1.86k Ω 输出电阻:R 0’=Rl=5k Ω电压增益:Au=be L r R R /)//(2 =126.57 实际测得值:输入电阻:Ri=7.071/0.003764=1.88k Ω 输出电阻:R 0=7.071/0.001507=4.692k Ω 电压增益:Au=120.46 输入电阻相对误差为1.075%;输出电阻误差为6.16%;电压增益相对误差为4.83%六:波特图幅频相频曲线如下图:根据上限截止频率和下限频率定义,当放大倍数下降到中频的0.707倍时对应的频率,即幅频图中最高分贝处降低3dB对应频率,下限截止频率约f L=59.3347Hz,上限频率f H=16.6420MHz实验二一:两级阻容耦合放大电路原理图:负反馈接入前电路输入电阻:Ri=707.08uV/172.474nA=4.1kΩ电压放大倍数:Au=12.748mV/707.08uV=18.03 测输出电阻电路原理图:R 0=707.08uV/718.875nA=983.59Ω二:接入负反馈原理图输入电阻Ri=707.08uV/169.613nA=4.17kΩ电压增益Au=1.322mV/707.08uV=1.87反馈系数F=U f/U0=703.424uV/1.322mV=0.532 1/F=1.879A F≈1/F=1.879接入负反馈后输出电阻原理图:输出电阻R0=707.074mV/4.204mA=168.19Ω三:负反馈接入前后频率特性:1:反馈接入前f=1.6503kHz下限截止频率约为Lf=837.9489kHz 上限截止频率约为H2:L f =126.5834Hz ;H f =15.9560MHz五:经试验可知接入负反馈后当信号幅度为80mV 时开始出现失真;而未接负反馈时6mV时即出现失真。

eda的几个实验仿真图形

eda的几个实验仿真图形

实验项目一:74LS318译码器的设计实验目的:1、通过一个简单的三-八译码器的设计,让学生掌握组合逻辑电路的设计方法。

2、掌握组合逻辑电路的静态测试方法。

3,初步了解QUARTUS II原理图输入设计的全过程。

二、实验的硬件要求:1、EDA2000实验箱(其他厂家具有同等配置试验箱均可),主要使用:输入:DIP拨码开关3位、输出:LED灯;2、主芯片:EP1K1OTC100-3(大于此规模的芯片亦可);3、计算机与QUARTUS 软件;三、实验原理三-译码器为三输入、八输出。

当输入信号按二进制方式的表示值为N时(输入端低电平有效),输出端从零到七,标号为N输出端输出低电平表示有信号产生,而其它则为高电平表示无信号产生。

因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为低电平的情况下,能表示所有的输入组合,因此不需要像编码器实验那样再用一个输出端指示输出是否有效。

但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。

本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。

表8.1三-八译码器真值表输入输出A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y00 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 1 0 0 01 0 0 0 0 0 1 0 0 0 01 0 1 0 0 1 0 0 0 0 01 1 0 1 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0四、实验步骤:打开QUARTUS II,打开原理图编辑器,按图8.26进行原理图设计。

各逻辑符号放置在原理图上后,经检查保存原理图。

完成了原理图的输入后,我们就可以用前面介绍的软件的使用方法,对程序进行管脚的定义、编译、仿真、下载,完成整个实验的设计。

EDA课程设计-多功能波形信号发生器

EDA课程设计-多功能波形信号发生器

目录摘要 (1)一、设计要求 (2)三、系统设计思路 (3)3.1 波形函数发生装置的选择 (3)3.2 波形输入输出控制方式的选择 (3)四、各模块设计及仿真 (4)4.1函数发生模块 (4)4.1.1 正弦波模块 (4)4.1.2 方波模块 (5)4.1.3 递增锯齿波模块 (7)4.1.4 递减锯齿波模块 (8)4.1.5 阶梯波模块 (9)4.1.6 三角波模块 (10)4.2调控模块 (12)4.2.1波形输出控制单元 (12)4.2.2波形输入控制单元 (13)4.2.3频率控制单元 (15)4.2.4幅度控制单元 (16)4.3 D/A转换器 (17)4.4 总电路 (19)五、硬件测试 (20)5.1编译 (20)5.2 引脚的锁定 (21)5.3编程下载 (22)5.4 硬件验证 (22)六、课程设计心得体会 (25)参考文献 (26)附录 (27)摘要本次设计课题为应用VHDL语言及MAX+PLUSII软件提供的原理图输入设计功能,组合电子线路的设计加以完成一个任意波形信号发生器。

它具有结构紧凑,性能稳定,设计结构灵活,方便进行多功能组成的特点,经济实用,成本低廉的特点。

可产生正弦波、方波、三角波、递增锯齿波、递减锯齿波以及阶梯波,并可使用示波器观察波形。

实现了系统信号实时快速测量,也为其广泛应用于实际领域创造了条件。

在实现过程中,将整体功能模块化,分为函数发生模块和调控模块。

在调控模块中实现了调频调幅以及对于波形的输入输出控制。

对于D/A转化器,本实验选择的是TLC7528,利用简单的8进制计数控制CS和WR端口的同步输出,实现数模转换的同时,保持相应位的同步实现。

在课程设计中遇到了诸多困难,在用示波器显示波形时,却总是得不到稳定的波形,后来发现在输入控制中,仅需要3位二进制数即能完成简单的8进制计数,自己却习惯性的用了8位,这使得分频现象严重,更改后即得到了了稳定的输出波形,经过反复修改调试,最终试验成功。

EDA实验报告含结果图

EDA实验报告含结果图

EDA电子课程实验报告专业:班级:姓名:学号:实验一四人表决器一实验目的1、熟悉Quartus II软件的使用。

2、熟悉EDA-IV实验箱。

3、熟悉EDA开发的基本流程。

二硬件需求1、RC-EDA-IV型实验箱一台;2、RC-EDA-IV型实验箱配套USB-Blaster下载器一个;3、PC机一台。

三实验原理所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

四人表决器顾名思义就是由四个人来投票,当同意的票数大于或者等于3人时,则认为同意;反之,当否决的票数大于或者等于2人时,则认为不同意。

实验中用4个拨挡开关来表示4个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。

四实验内容VHDL程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--------------------------------------------------------------------entity EXP3 isport(k1,K2,K3,K4 : in std_logic;ledag : out std_logic_vector(3downto 0);m_Result : out std_logic);end EXP3;--------------------------------------------------------------------architecture behave of EXP3 issignal K_Num : std_logic_vector(2 downto 0); signal K1_Num,K2_Num: std_logic_vector(2 downto 0); signal K3_Num,K4_Num: std_logic_vector(2 downto 0);beginprocess(K1,K2,K3,K4)beginK1_Num<='0'&'0'&K1;K2_Num<='0'&'0'&K2;K3_Num<='0'&'0'&K3;K4_Num<='0'&'0'&K4;end process;process(K1_Num,K2_Num,K3_Num,K4_Num,)beginK_Num<=K1_Num+K2_Num+K3_Num+K4_Num;end process;process(K_Num) beginif(K_Num>2) thenm_Result<='1';elsem_Result<='0';end if;end process;end behave;实验电路实验二格雷码转换一实验目的1、了解格雷码变换的原理。

第7章 EDA实验及课程设计

第7章 EDA实验及课程设计

USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.ALL;
ENTITY count24 IS
PORT(en, clk: IN STD_LOGIC;
qa: out STD_LOGIC_VECTOR(3 DOWNTO 0); 数
--个位数计
begin if clk'event and clk = '1' then if en = '1' then if tma = "1001" then tma := "0000"; tmb := tmb+1; Elsif tmb = "10" and tma = "0011" then tma := "0000"; tmb := "00"; else tma := tma+1; end if; end if; end if; qa <= tma; qb <= tmb; end process;
7.1.2 MAX + plusⅡ/QuartusⅡ软件VHDL设计 实验六 VHDL软件设计 一、实验目的 1. 熟悉EDA开发平台的基本操作; 2. 掌握EDA开发工具的VHDL设计方法; 3. 掌握硬件描述语言设计的编译与验证方法。 二、实验仪器
计算机、MAX + plusⅡ或QuartusⅡ软件、EDA/SOPC实验 箱。 三、实验内容 1. 二十四进制加法计数器设计与验证。代码如下: LIBRARY IEEE;
1 XXXXXXXX 1 1 1 1 1
0 11111111 1 1 1 1 0

EDA实验报告 序列检测器 七段数码显示译码 数控分频 全加器

EDA实验报告 序列检测器  七段数码显示译码  数控分频 全加器

目录:实验一:序列检测器设计 (1)1.1 实验原理 (1)1.2 实现方案与仿真 (1)1.2.1 预置数确定 (1)1.2.2 预置数待定 (2)1.3 引脚锁定与下载 (3)1.3.1 预置数确定 (3)1.3.2 预置数待定 (3)1.4 实验结论与总结 (4)1.5 附录 (4)实验二七段数码显示译码器设计 (6)2.1 实验原理 (6)2.2 实现方案与仿真 (6)2.2.1 七段显示译码的方案与仿真 (6)2.2.2 4位二进制加法计数器的方案与仿真 (7)2.2.3 顶层文件的方案与仿真 (7)2.3 引脚锁定与下载 (8)2.3.1 七段显示译码的硬件测试 (8)2.3.2 4位二进制加法计数器的硬件测试 (8)2.3.3 顶层文件的硬件测试 (8)2.4 实验结论与总结 (9)2.5 附录 (9)实验三数控分频器的设计 (10)3.1 实验原理 (10)3.2 实现方案与仿真 (10)3.2.1 数控分频器的实现方案与仿真 (10)3.2.2数控分频器的RTl电路图 (11)3.3 引脚锁定与下载 (11)3.4 实验结论与总结 (12)实验四用原理图输入法设计8位全加器 (13)4.1 实验原理 (13)4.1.1 一位全加器的原理 (13)4.1.2 八位全加器的原理 (13)4.2 实现方案与仿真 (13)4.2.1 一位全加器的实现方案与仿真 (13)4.2.2 八位全加器的实现方案与仿真 (15)4.3 引脚锁定与下载 (16)4.3.1 一位全加器的引脚锁定与下载 (16)4.3.2 八位全加器的引脚锁定与下载 (16)4.4 实验结论与总结 (17)实验一:序列检测器设计摘要:本实验的主要任务是通过状态机来实现序列检测器的设计,其中,本实验采用了单进程Moore状态机和多进程Moore状态机两种方案来实现序列检测器,进而通过软件仿真和硬件测试来检验所设计的序列检测器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

use ieee.std_logic_1164.all;
entity lol is
port(a:in std_logic_vector(3 downto 0); b:in std_logic_vector(2 downto 0);
c:out std_logic_vector(7 downto 0);
led7s:out std_logic_vector(6 downto 0)); end;
architecture one of lol is
begin
process(b)
begin
case b is
when"000"=>c<="00000001"; when"001"=>c<="00000010"; when"010"=>c<="00000100"; when"011"=>c<="00001000"; when"100"=>c<="00010000"; when"101"=>c<="00100000"; when"110"=>c<="01000000"; when"111"=>c<="10000000";
when others=>null;
end case;
end process;
process(a)
begin
case a is
when"0000"=>led7s<="1000000"; when"0001"=>led7s<="1111001"; when"0010"=>led7s<="0100100"; when"0011"=>led7s<="0110000"; when"0100"=>led7s<="0011001"; when"0101"=>led7s<="0010010"; when"0110"=>led7s<="0000010"; when"0111"=>led7s<="1111000"; when"1000"=>led7s<="0000000"; when"1001"=>led7s<="0010000"; when"1010"=>led7s<="0001000"; when"1011"=>led7s<="0000011"; when"1100"=>led7s<="1000110"; when"1101"=>led7s<="0100001"; when"1110"=>led7s<="0000110"; when"1111"=>led7s<="0001110"; when others=>null;
end process; end;。

相关文档
最新文档