EDA实验报告

合集下载

EDA实验报告

EDA实验报告

目录第一部分实验开发系统概述及使用说明.............................................................. 1第一章EDA实验系统 ....................................................................................... 1第二章EDA/SOPC实验系统 ............................................................................ 7第二部分实验部分............................................................................................ 10实验一EDA工具基本操作与应用 ........................................................... 10实验二计数器设计..................................................................................... 24实验三串入/并出移位寄存器实现 ........................................................... 26实验四四人抢答器设计............................................................................. 28实验五序列检测器设计............................................................................. 29实验六DDS信号源的设计........................................................................ 30实验七交通灯控制器设计......................................................................... 31实验八数字钟设计..................................................................................... 32实验九出租车计费器设计......................................................................... 33实验十频率计的实现................................................................................. 34附录——FPGA接口对照表 ............................................................................ 35第一部分实验开发系统概述及使用说明第一章EDA实验系统一、实验系统概述此系列实验系统针对数字电路设计CPLD/FPGA及模拟电路设计技术有一总体上的概念。

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 加深对电路理论概念的理解3 加深计算机辅助分析及设计的概念4 了解及初步掌握对电路进行计算机辅助分析的过程二、实验要求制作一个五人表决器,共五个输入信号,一个输出信号。

若输入信号高电平数目多于低电平数目,则输出为高,否则为低。

三、实验原理根据设计要求可知,输入信号共有2^5=32种可能,然而输出为高则有15种可能。

对于本设计,只需一个模块就能完成任务,并采用列写真值表是最简单易懂的方法。

四、计算机辅助设计设A,B,C,D,E引脚为输入引脚,F为输出引脚。

则原理图如1所示图1.1 五人表决器原理图实验程序清单如下:MODULE VOTEA,B,C,D,E PIN;F PIN ISTYPE 'COM';TRUTH_TABLE([A,B,C,D,E]->[F])[0,0,1,1,1]->[1];[0,1,1,1,0]->[1];[0,1,0,1,1]->[1];[0,1,1,0,1]->[1];[1,0,1,1,1]->[1];[1,1,0,1,1]->[1];[1,1,1,0,1]->[1];[1,1,1,1,0]->[1];[1,1,1,0,0]->[1];[1,1,0,1,0]->[1];[1,1,1,1,1]->[1];[1,1,0,0,1]->[1];[1,0,0,1,1]->[1];[1,0,1,0,1]->[1];[1,0,1,1,0]->[1];END五、实验测试与仿真根据题目要求,可设输入分别为:0,0,0,0,0;1,1,1,1,1;1,0,1,0,0;0,1,0,1,1。

其测试程序如下所示:MODULE fivevoteA,B,C,D,E,F PIN;X=.X.;TEST_VECTORS([A,B,C,D,E]->[F])[0,0,0,0,0]->[X];[1,1,1,1,1]->[X];[1,0,1,0,0]->[X];[0,1,0,1,1]->[X];END测试仿真结果如图1.2所示:图1.2 五人表决器设计仿真图可知,设计基本符合题目要求。

EDA实验 报告范文

EDA实验 报告范文

实验一:五人表决器一、程序清单library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity vote5 isport(v_in:in std_logic_vector(4 downto 0);lock,clr:in std_logic;v_over:out std_logic_vector(2 downto 0);num_agr,num_opp:out std_logic_vector(3 downto 0);v_out:out std_logic_vector(4 downto 0);led_agr,led_opp:out std_logic);end entity vote5;architecture one of vote5 isbeginprocess(clr,v_in,lock)variable agr,opp: std_logic_vector(3 downto 0);beginif(clr='1')thenled_agr<='0';led_opp<='0';agr:="0000";opp:="0000";if agr="0000" thennum_agr<="0000";end if;if opp="0000"thennum_opp<="0000";end if;v_out<="00000";v_over<="000";elsif(lock'event and lock='1')thenv_out<=v_in;v_over<="111";agr:="0000";opp:="0000";for i in 0 to 4 loopif (v_in(i)<='0') then opp:=opp+1;end if;agr:=5-opp;end loop;num_agr<=agr;num_opp<=opp;if(agr>opp)thenled_agr<='1';led_opp<='0';elseled_agr<='0';led_opp<='1';end if;end if;end process;end architecture one;三.仿真1. 功能仿真波形2.时序仿真波形实验二:九九乘法表系统的设计一、程序清单library ieee;use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity multiply is --构造体描述4位乘法器port( clk:in std_logic;a,b:in std_logic_vector(3 downto 0);led_data:out std_logic_vector(7 downto 0);seg_sel:out std_logic_vector(2 downto 0) );end multiply;architecture rtl of multiply issignal led_data2,led_data1,led_data0: std_logic_vector(7 downto 0);--LED显示代码,寄存十位个位的数signal displayclk: std_logic;beginprocess(a,b)variable s: std_logic_vector(7 downto 0);--乘积variable bai,shiwei,gewei: std_logic_vector(3 downto 0);--乘积的十位个位begins(7 downto 0):=a(3 downto 0)*b(3 downto 0);if s>="11001000" then bai:="0010";s:=s-"11001000";elsif s>="01100100" then bai:="0001";s:=s-"01100100";else bai:="0000";end if;if s>="01011010" then shiwei:="1001";s:=s-"01011010";gewei:=s(3 downto 0);--90以上 elsif s>="01010000" then shiwei:="1000";s:=s-"01010000";gewei:=s(3 downto 0);--80以上 elsif s>="01000110" then shiwei:="0111";s:=s-"01000110";gewei:=s(3 downto 0); --70以上 elsif s>="00111100" then shiwei:="0110";s:=s-"00111100";gewei:=s(3 downto 0);--60以上 elsif s>="00110010" then shiwei:="0101";s:=s-"00110010";gewei:=s(3 downto 0);--50以上 elsif s>="00101000" then shiwei:="0100";s:=s-"00101000";gewei:=s(3 downto 0);--40以上 elsif s>="00011110" then shiwei:="0011";s:=s-"00011110";gewei:=s(3 downto 0);--30以上 elsif s>="00010100" then shiwei:="0010";s:=s-"00010100";gewei:=s(3 downto 0);--20以上 elsif s>="00001010" then shiwei:="0001";s:=s-"00001010";gewei:=s(3 downto 0);--10以上 else gewei:=s(3 downto 0);shiwei:="0000";end if;case bai iswhen "0001" => led_data2<="11111001";when "0010" => led_data2<="10100100";when others => led_data2<="11111111";end case;case shiwei iswhen "0000" => led_data1<="11000000";when "0001" => led_data1<="11111001";when "0010" => led_data1<="10100100";when "0011" => led_data1<="10110000";when "0100" => led_data1<="10011001";when "0101" => led_data1<="10010010";when "0110" => led_data1<="10000010";when "0111" => led_data1<="11111000";when "1000" => led_data1<="10000000";when "1001" => led_data1<="10010000";when others => led_data1<="11111111";end case;case gewei iswhen "0000" => led_data0<="11000000";when "0001" => led_data0<="11111001";when "0010" => led_data0<="10100100";when "0011" => led_data0<="10110000";when "0100" => led_data0<="10011001";when "0101" => led_data0<="10010010";when "0110" => led_data0<="10000010";when "0111" => led_data0<="11111000";when "1000" => led_data0<="10000000";when "1001" => led_data0<="10010000";when others => led_data0<="11111111";end case;end process;process(clk)variable cnt:integer range 0 to 20000; --1KHZ扫描显示时钟 beginif clk'event and clk='1' then cnt:=cnt+1;if cnt<10000 then displayclk<='1';elsif cnt<20000 then displayclk<='0';else cnt:=0;displayclk<='0';end if;end if;end process;process (displayclk) --显示两位variable cnt2: std_logic_vector(1 downto 0);beginif displayclk'event and displayclk='1' then cnt2:=cnt2+1;if cnt2="01" then seg_sel<="001";led_data<=led_data0;elsif cnt2="010" then seg_sel<="010";led_data<=led_data1;elsif cnt2="11" then cnt2:="00"; seg_sel<="100";led_data<=led_data2;end if;end if;end process;end rtl;二、仿真设计输入文件经maxplus软件开发系统编译、处理,由功能仿真器进行模拟,获得仿真波形如图6所示。

EDA实验报告(全)

EDA实验报告(全)

目录实验一全加器的设计 (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)南昌大学实验报告学生姓名:xx 学号:61004100xx 专业班级:通信101实验类型:□验证□综合□设计□创新实验日期:2012-9-17 实验成绩:实验一全加器的设计一实验目的以一位二进制全加器为例熟悉利用QuartusII的原理图输入方法和文本输入法设计简单组合电路;学习多层次工程的设计方法。

二实验要求⑴用文本方法实现半加器,再采用层次设计法用原理图输入完成全加器的设计;⑵给出此项设计的仿真波形;⑶用发光LED指示显示结果。

三实验步骤:1.(1)建立工作库文件夹,建立半加器工程h_adder,输入半加器VHDL代码并存盘。

library ieee;use ieee.std_logic_1164.all;entity h_adder isport ( a, b :in std_logic;co,so :out std_logic);end entity h_adder;architecture fh1 of h_adder isbeginso<=not(a xor (not b));co<=a and b;end architecture fh1;编译后转换得到半加器的元件符号h_adder(2)在同一工作库文件夹下,建立全加器工程fa,采用层次设计法调用元件半加器h_adder和或门or2完成全加器的原理图文件。

EDA实验报告完结版

EDA实验报告完结版

EDA实验报告完结版一、实验目的本次 EDA 实验的主要目的是通过实际操作和设计,深入理解和掌握电子设计自动化(EDA)技术的基本原理和应用。

具体而言,包括熟悉 EDA 工具的使用方法,学会运用硬件描述语言(HDL)进行逻辑电路的设计与描述,以及通过综合、仿真和实现等流程,将设计转化为实际的硬件电路,并对其性能进行评估和优化。

二、实验环境本次实验所使用的 EDA 工具为_____,该工具提供了丰富的功能模块和强大的设计支持,包括原理图编辑、HDL 代码编写、综合、仿真和下载等。

实验所使用的硬件平台为_____开发板,其具备多种接口和资源,便于对设计的电路进行实际验证和测试。

三、实验内容1、基本逻辑门电路的设计与实现使用 HDL 语言(如 Verilog 或 VHDL)设计常见的基本逻辑门电路,如与门、或门、非门等。

通过编写代码,对逻辑门的输入输出关系进行描述,并进行综合和仿真,验证设计的正确性。

2、组合逻辑电路的设计与实现设计并实现较为复杂的组合逻辑电路,如加法器、减法器、编码器、译码器等。

运用 HDL 语言描述电路的功能,进行综合和仿真,确保电路在各种输入情况下的输出结果符合预期。

3、时序逻辑电路的设计与实现设计常见的时序逻辑电路,如计数器、寄存器、移位寄存器等。

在设计过程中,考虑时钟信号、同步复位和异步复位等因素,通过仿真验证时序逻辑的正确性,并对电路的性能进行分析。

4、有限状态机(FSM)的设计与实现设计一个有限状态机,实现特定的功能,如交通信号灯控制器、数字密码锁等。

明确状态转移条件和输出逻辑,通过编写 HDL 代码实现状态机,并进行综合和仿真,验证其功能的准确性。

5、综合与优化对设计的电路进行综合,生成门级网表,并通过优化工具对电路进行面积、速度等方面的优化,以满足特定的设计要求。

6、硬件实现与测试将综合后的设计下载到硬件开发板上,通过实际的输入输出信号,对电路的功能进行测试和验证。

观察电路在实际运行中的表现,对出现的问题进行分析和解决。

eda实验报告

eda实验报告

eda实验报告EDA(Exploratory Data Analysis)是一种常用的数据分析方法,通过对数据集进行可视化、统计和计算,来揭示数据中的潜在规律和趋势。

下面是一份关于EDA实验的报告,总字数700字。

实验目的:1. 熟悉EDA方法和流程;2. 分析数据集的特征和表现;3. 发现数据集中的异常和趋势。

实验过程:1. 数据收集与预处理本次实验使用的数据集是关于某公司销售数据的报告。

首先,收集了公司销售数据,并进行了数据清洗与预处理,包括去除重复数据、处理缺失值和异常值等。

2. 数据可视化通过绘制直方图、散点图和箱线图等可视化图表,分析如下几个方面:(1)销售额分布情况:绘制直方图分析销售额的分布情况,观察是否存在明显的集中趋势或异常值。

(2)销售额与时间的关系:绘制时间序列图,观察销售额随时间的变化趋势。

(3)不同产品类别的销售情况:绘制柱状图比较不同产品类别的销售额,从而分析各类别产品的市场表现。

(4)销售额与其他因素的关系:绘制散点图分析销售额与其他因素(如广告费用、产品价格等)之间的关系,发现潜在的规律。

3. 数据统计与计算通过对数据集进行统计和计算,揭示数据集中的特征和规律,如:(1)平均销售额:计算销售额的平均值,以了解公司销售的平均水平。

(2)销售额的标准差:计算销售额的标准差,以评估销售额的波动性和不稳定性。

(3)销售额的趋势:使用回归分析等方法,拟合销售额与时间的关系,从而预测未来的销售趋势。

实验结果:通过数据可视化和统计计算,我们获得了以下一些结果:1. 销售额的分布呈正偏态,大部分销售额集中在较低水平,但也存在一些异常值;2. 销售额随时间呈现出上升的趋势,说明公司的销售业绩在逐渐提升;3. 不同产品类别的销售额差异较大,其中某些类别的销售额明显高于其他类别;4. 销售额与广告费用和产品价格之间存在一定的正相关关系,即投入更多的广告费用和提高产品价格可以带来更高的销售额。

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(3 downto 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、了解格雷码变换的原理。

EDA实验报告

EDA实验报告

海南师范大学物理与电子工程学院实验报告( ---- 学年第一学期)课程名称:专业班级:学号:姓名:实验一:原理图输入法设计与仿真实验时间:六、实验心得实验二七人表决器的设计3、引脚匹配实验三 显示电路设计一、实验目的1、学习7段数码显示译码器设计;2、学习VHDL 的多层设计方法。

二、实验仪器设备1、PC 机一台2、GW48-PK2系列SOPC/EDA 实验开发系统 三、实验原理1、七段数码显示工作原理(共阴极接法)7 段数码是纯组合电路,通常的小规模专用IC ,如74 或4000系列的器件只能作十进制BCD 码译码,然而数字系统中的数据处理和运算都是2 进制的,所以输出表达都是16 进制的,为了满足16 进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD 中来实现。

作为7 段译码器,输出信号LED7S 的7 位分别接数码管的7 个段,高位在左,低位在右。

例如当LED7S 输出为“1101101”时,数码管的7 个段:g 、f 、e 、d 、c 、b 、a 分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。

注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h 。

2、显示代码概念 显示代码a b cdefg四、实验内容1、编写7段译码器VHDL 源程序。

2、在Quartus Ⅱ软件上编译和仿真。

3、锁定管脚,建议选择实验电路模式6,显示译码输出用数码8 显示译码输出(PIO46-PIO40),键8、键7、键6 和键5 四位控制输入。

4编程下载与硬件验证。

5、记录系统仿真和硬件验证结果。

五、实验结果:2、波形仿真图:4、 引脚锁定:六、实验心得: 其实本实验的显示我们在模电里面就学习过了,也用集成块进行过实验,本实验用程序加硬件完成。

真所谓条条道路通罗马!实验四 四位全加器一、实验目的通过实验让学生熟悉Quartus Ⅱ的VHDL 文本设计流程全过程,掌握组合逻辑电路的文本输入设计法,通过对设计电路的仿真和硬件验证,让学生进一步了解加法器的功能。

eda实验报告完整版

eda实验报告完整版

eda实验报告完整版EDA实验报告一、文献综述EDA,全称为Exploratory Data Analysis,是一种数据探索性分析方法。

EDA通过多种可视化工具和数据分析技术快速探索数据集的特征和结构,从而发现其中的规律和异常,确定数据的可靠性和种类。

EDA的主要目的在于对数据进行全面的分析和理解,为后续的数据处理和建模提供参考。

EDA作为数据预处理的重要步骤,在数据分析和建模中占据着重要的地位。

目前,随着数据收集、存储和分析技术的快速发展,EDA正在成为数据分析中不可缺少的部分。

在大数据时代,EDA的发展已经超越了其传统的数据探索性分析功能,成为了快速调试和优化模型的重要手段。

二、实验目的本次实验旨在掌握EDA技术方法和可视化工具,在实际数据集中进行数据预处理和探索性分析。

主要目标包括:1.掌握常用的EDA方法和可视化工具。

2.通过对实际数据集处理和分析,了解数据的特征和结构。

3.确定数据集的质量、可靠性和种类。

4.为后续的数据处理和建模提供参考。

三、实验流程1.数据集的加载和清洗本次实验选用的数据集为Iris数据集,包含了鸢尾花的三个品种(Setosa、Versicolour、Virginica)的四个特征(sepal length、sepal width、petal length、petal width)共150个样本。

由于Iris数据集已经经过处理,因此不需要进行特殊的预处理。

为了更好地探索Iris数据集,我们将其存储为dataframe格式,以方便进行数据的各类统计和可视化。

2.数据特征的可视化在数据特征的可视化中,我们使用了多种可视化工具包括:ggplot2和ggpubr。

下面是我们在R语言环境下所使用的代码。

# 加载ggplot2和ggpubrlibrary(ggplot2)library(ggpubr)#加载Iris数据集data("iris")df = iris# 1.绘制直方图hist <- ggplot(df, aes(x = Sepal.Length)) +geom_histogram(fill = "blue", alpha = .5, bins = 30) +ggtitle("Distribution of Sepal.Length")# 2.绘制密度图density <- ggplot(df, aes(x = Sepal.Width, fill = Species)) +geom_density(alpha = .5) +scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) +ggtitle("Density plot of Sepal.Width")# 5.绘制箱线图boxplot <- ggplot(df, aes(x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot() +ggtitle("Boxplot of Sepal.Length by Species")上述代码会生成6个图表,分别为直方图、密度图、散点图、热力图、箱线图和柱状图。

eda实验报告

eda实验报告

EDA技术与 VHDL 实验报告电气工程系电子信息工程实验一: 1 位全加器设计实验目的:I1131.学习 QuartusII9.1 集成开发环境的使用方法以及如何建立工程和文件;2.用原理图输入设计法和VHDL 文本输入设计法设计1 位全加器;3.通过电路仿真和硬件验证,进一步了解1 位全加器的功能I113实验内容:用原理图输入设计法和VHDL 文本输入设计法分别设计1 位全加器,并下载到 CH4 实验箱上运行。

实验原理: 1 位全加器可以由两个半加器和一个或门连接而成, 因而可根据半加器的电路 (如图 3-1 所示)或真值表写出或门和半加器的 VHDL 描述。

然后根据图 3-2 写出全加器的顶层描述。

co a b so co0 0 0 0 aand20 1 1 0bnot xnor2so1 0 1 0111图 3-1半加器 h_adder 电路图及其真值表u1dh_adder a or2aainh_adder ccoutf_addercoutain A coAco f bbinsumbin BsoeBsou3sumcincinu2图 3-2全加器 f_adder 电路图及其实体模块实验步骤:1.打开实验箱电源; 2.输入移位寄存器 VHDL 程序;3.点击图标,进行分析和综合;4. 建立波形文件,进行功能仿真; 5.按接线图配置 FPGA 引脚; 6.点击图标 ,进行编译;7.下载 ****.sof 配置文件到 EP3C16Q240C8中;1 半加器的 vhdl 描述有两种,我用的是下面这种,布尔函数描述法 :( 1)布尔函数描述方法的VHDL 源程序如下:LIBRARY IEEE; --半加器描述 (1):布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder ISPORT (a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder isBEGINso <= NOT(a XOR (NOT b)) ; co <= a AND b ;END ARCHITECTURE fh1;( 2)或门逻辑描述:LIBRARY IEEE ; --或门逻辑描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a ISPORT (a, b :IN STD_LOGIC;c : OUT STD_LOGIC );END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b ;END ARCHITECTURE one ;( 3) 1 位二进制全加器顶层设计描述:LIBRARY IEEE; --1 位二进制全加器顶层设计描述USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder ISPORT (ain, bin, cin : IN STD_LOGIC;cout , sum: OUT STD_LOGIC );END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder ISCOMPONENT h_adder--调用半加器声明语句PORT ( a, b :IN STD_LOGIC;co, so :OUT STD_LOGIC);END COMPONENT ;COMPONENT or2aPORT (a, b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;SIGNAL d, e,f : STD_LOGIC; --定义 3 个信号作为内部的连接线。

EDA的实验报告

EDA的实验报告

杭州电子科技大学实验报告实验课程名称实实班姓学指导教验验序内号容级名号师eda技术 1 分频器与频率计设计 123 吕文 123 黄某二○一四年 4月 18 日一、实验的目的与要求实验名称:分频器与频率计设计实验目的:1、初识verilog hdl语言熟练verilog 的语法2、学习quartus调用modelsim进行仿真3、掌握用fpga实现简易的分频器与频率计的原理与方法实验要求:1、设计一个可控分频器,输入20mhz或 12mhz 时钟(可选择其中一种),输出100hz~10khz,输出100hz ~ 10khz,输出频率数控可调(按键或者使用in-system sources and probes),输出波形占空比为50%,接蜂鸣器;2、设计一个简易频率计,输入为方波,测量频率的范围100hz ~ 9999hz ,测量精度&lt;1%,频率计输出可以接数码管或者使用in-system sources and probes观察3、分频器输出接频率计的输入二、实验原理分频器的原理:把输入的信号作为计数脉冲,由于计数器的输出端口是按一定规律输出脉冲的,所以对不同的端口输出的信号脉冲,就可以看作是对输入信号的”分频“。

频率计是对信号的频率进行测量并显示测量结果。

原理就是在1秒钟内对时钟计数,得到的数字就是频率大小。

频率计的设计是用一个标准的时钟20mhz来做参照,以1s钟为周期,为20000000个周期,同时定义一个计数的变量q ,当输入的端口出现上升沿的时候,变量加1,那么在一秒钟内cout的数值即为,该波形的频率。

最后将分频器的输出端口接入频率计的输入端口,用频率计来测量波形的频率大小,通过比较实际的频率fre1与测出来的频率大小fre2,就知道了该频率计的误差。

三、实验内容实验步骤 1、大概的把框架建起来,把思路想好2、先设计一个符合要求的分频器3、进行仿真,看效果3、再设计一个符合要求的频率计4、用modelsim进行仿真5、把这两部分连接起来,最后进行仿真得到结果6、得到频率计的测频误差本实验分频器的时钟是20mhz,分频出来的是100hz~10khz的波形,那么就定义一个变量当做分频比[17:0] div ,可以用按键来控制div的大小,继而实现分频出来的大小。

eda实验报告

eda实验报告

eda实验报告概述:数据探索性分析(Exploratory Data Analysis,简称EDA)是指对已有数据进行初步审查,以了解数据的基本特征和结构,寻找数据中的规律、异常和不一致性,并提供给后续分析、建模等工作依据。

本文将对一组给定数据进行EDA分析,并探讨其数据特征和可能存在的问题。

数据来源:本次实验所使用的数据集来自某电商平台。

该数据集包含了用户在该平台上的购物交易记录,以及与之相关的用户信息、商品信息和交易信息等。

数据概览:通过对数据进行初步观察,共计有10000条交易记录,每条记录包含35个字段,字段涵盖了用户ID、商品ID、购买数量、交易时间、交易金额等信息。

同时,还有多个辅助字段,如用户所属地域、商品类别等。

数据清洗:在进行EDA之前,首先需要对数据进行清洗,以确保数据的完整性和准确性。

在数据清洗的过程中,我们首先发现存在缺失值问题,约有5%的数据存在缺失值。

对于缺失值部分,根据业务背景和数据集的特点,我们采取了不同的策略进行填充,如用中位数填充数值型数据,用众数填充类别型数据,并特别注意避免在填充过程中引入偏差。

数据探索:在完成数据清洗后,我们将对数据进行进一步的探索,并提取有意义的特征以支持后续的分析工作。

1. 用户分析:首先,我们对用户进行分析,探究其消费行为和购物习惯。

通过计算每个用户的购买次数和购买金额,我们可以得到用户的消费能力、忠诚度等信息。

同时,还可以通过对用户的交易时间和购买品类的偏好进行分析,了解用户的购物偏好和消费习惯。

2. 商品分析:其次,我们对商品进行分析,包括商品销量、商品类别、商品价格等。

通过对商品销售额的统计,可以了解到哪些商品是热门商品,有助于进行存货管理和销售策略的优化。

同时,还可以通过对不同商品类别的分析,发现用户的兴趣点,为商品推荐和个性化营销提供依据。

3. 交易分析:最后,我们对交易进行分析,包括交易时间、交易金额、交易地域等。

通过对交易时间和地域的分析,可以了解到销售旺季和销售区域,有助于制定优惠策略和市场营销活动。

EDA实验报告

EDA实验报告

中国地质大学(武汉)EDA试验报告姓名:班号:__ ____ __学号:院系:机械与电子信息学院老师:专业:_ 通信工程___ ___目录1 软件及VHDL语言的简单介绍 (1)1.1 可编程器件与Quartus II使用 (1)1.2 VHDL语言简介 (3)2 实验一3/8 译码器和半加器的实现 (4)2.1 3/8 译码器 (4)2.2 半加器 (5)3 实验二 BCD七段显示译码实验 (6)4 实验三分频器的设计实现 (8)5 实验四动态扫描数码显示器 (10)6 实验五多功能数字钟的实现 (12)7实验感想 (20)软件及VHDL 语言的简单介绍一)可编程器件与Quartus II 使用1、总体思想2、具体操作步骤一 新建一个项目建立工编写设计文指定设计约文本输入图形输入器件选择管脚分编译仿 真编程 配分析 综建立波形文件输入仿真节PS 模式 JTAG 模式步骤二采用VHDL语言编写程序二)VHDL语言的简单介绍1、VHDL的由来VHDL语言的英文全名是Very High Speed Integrated Circuit Hardware Description Language 即超高速集成电路硬件描述语言。

它是70年代和80年代初,由美国国防部为他们的超高速集成电路VHSIC计划提出的硬件描述语言,它支持硬件的设计、综合、验证和测试。

1986年3月,IEEE开始致力于VHDL的标准化工作,讨论VHDL语言标准。

IEEE于1987年12月公布了VHDL的标准版本(IEEE STD 1076/1987);1993年VHDL重新修订,形成新的标准即IEEE STD 1076-1993,后来有相继颁布了IEEE STD 1076-2002和IEEE STD 1076-2008标准。

2、VHDL的优点1)用于设计复杂的、多层次的设计。

支持设计库和设计的重复使用。

2)与硬件独立,一个设计可用于不同硬件结构,而且设计时不必了解过多的硬件细节。

EDA技术实验报告

EDA技术实验报告

EDA技术实验报告实验一利用原理图输入法设计4位全加器一、实验目的:掌握利用原理图输入法设计简单组合电路的方法,掌握MAX+plusII 的层次化设计方法。

通过一个4位全加器的设计,熟悉用EDA 软件进行电路设计的详细流程。

二、实验原理:一个4位全加器可以由4个一位全加器构成,全加器的进位以串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的低位进位输入信号cin 相接。

1位全加器f-adder 由2个半加器h-adder 和一个或门按照下列电路来实现。

半加器h-adder 由与门、同或门和非门构成。

四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界面,掌握利用原理图进行电路模块设计的方法。

QuartusII 设计流程见教材第五章:QuartusII 应用向导。

2.设计1位全加器原理图(1)生成一个新的图形文件(file->new->graphic editor )(2)按照给定的原理图输入逻辑门(symbol ->enter symbol) COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击鼠标左键,然后输入名字;选中需命名的线,然后输入名字。

(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建一个设计的符号,该符号可被高层设计调用。

3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形文件(file->new->Other Files->Vector Waveform File),保存后进行仿真(Processing ->Start Simulation),对4位全加器进行时序仿真。

eda课程设计实验报告

eda课程设计实验报告

eda课程设计实验报告一、课程目标知识目标:1. 学生能理解EDA(电子设计自动化)的基本概念,掌握EDA工具的使用方法。

2. 学生能运用所学知识,设计并实现基本的数字电路。

3. 学生了解数字电路的设计流程,掌握设计规范,具备初步的电路分析能力。

技能目标:1. 学生能独立操作EDA软件,完成电路的原理图绘制、仿真和布局布线。

2. 学生通过实验报告的撰写,提高实验数据分析、总结归纳的能力。

3. 学生在小组合作中,提高沟通协调能力和团队协作能力。

情感态度价值观目标:1. 学生培养对电子科学的兴趣,激发创新意识,增强实践能力。

2. 学生在实验过程中,形成严谨的科学态度,提高问题解决能力。

3. 学生通过课程学习,认识到科技发展对国家和社会的重要性,增强社会责任感。

课程性质:本课程为实践性较强的电子设计课程,旨在培养学生的实际操作能力、创新意识和团队合作精神。

学生特点:六年级学生具有一定的电子知识基础,好奇心强,喜欢动手实践,但需加强对理论知识的理解和应用。

教学要求:结合学生特点,注重理论与实践相结合,充分调动学生的积极性,提高学生的实践能力和创新能力。

将课程目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容根据课程目标,本章节教学内容主要包括以下几部分:1. EDA基本概念与工具介绍- 电子设计自动化原理简介- 常用EDA软件功能与操作方法2. 数字电路设计基础- 数字电路基本元件及功能- 原理图绘制与仿真分析3. 布局布线与PCB设计- PCB设计流程与方法- 布局布线技巧与规范4. 实验报告撰写- 实验数据整理与分析- 实验总结与反思教学大纲安排如下:第一周:- EDA基本概念与工具介绍- 数字电路基本元件及功能第二周:- 原理图绘制与仿真分析第三周:- 布局布线与PCB设计第四周:- 实验报告撰写教学内容与教材关联性:本教学内容与教材《电子技术基础与实践》第六章“电子设计自动化”相关章节紧密相连,确保了教学内容的科学性和系统性。

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

实验报告
课程名称_verilog数字系统设计 __ 学生学院信息工程学院
专业班级13级应用电子专业4班
学号3113002512
姓名陈文威
指导教师罗思杰
2015年11月9日
实验一简单组合逻辑电路的设计
一、实验要求
1、用verilog HDL语言描写出简单的一位数据比较器及其测试程序
2、用测试程序对比较器进行波形仿真测试;画出仿真波形
3、总结实验步骤和实验结果
二、实验原理与内容
这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0,。

在verilog HDL中,描述组合逻辑时常用assign结构。

注意equal=(a==b)?1:0,这是一种在组合逻辑实现分支判断时常使用的格式。

模块源代码:
//--------------------compare---------
module compare(equal,a,b);
inputa,b;
output equal;
assign equal=(a==b)?1:0;
endmodule
测试模块用于检测模块设计的正确与否,它给出模块的输入信号,观察模块的内部信号和输出信号,如果发现结果与预期的有所偏差,则要对设计模块进行修改。

测试模块源代码:
`timescale 1ns/1ns
modulecomparetest;
rega,b;
wire equal;
initial
begin
a=0;
b=0;
#100 a=0;b=1;
#100 a=1;b=1;
#100 a=1;b=0;
#100 $stop;
end
compare compare1(.equal(equal),.a(a),.b(b));
endmodule
三、实验步骤
1、新建
2、输入源程序
3、编译无误后仿真
4.仿真结果图
四、实验结果
通过实验,用verilog HDL语言描写出简单的一位数据比较器及其测试程序并且通过用测试程序对比较器进行波形仿真测试、画出仿真波形。

完成实验要求,达到试验目的,实验结果正确。

实验二简单时序逻辑电路的设计
一、实验要求
1、用verilog HDL语言描写出简单的二分之一分频器及其测试程序;
2、用测试程序对分频器进行波形仿真测试;画出仿真波形;
3、总结实验步骤和实验结果
二、实验原理与内容
在verilog HDL中,相对于组合逻辑电路,时序逻辑电路也有规定的表达方式。

在可综合的verilog HDL模型,我们通常使用always块和@(posedgeclk)或@(negedgeclk)的结构来表述时序逻辑。

下面是一个1/2分频器的可综合模型。

//half_clk.v:
modulehalf_clk(reset,clk_in,clk_out);
inputclk_in,reset;
outputclk_out;
regclk_out;
always @(posedgeclk_in)
begin
if(!reset) clk_out=0;
elseclk_out=~clk_out;
end
endmodule
在always块中,被赋值的信号都必须定义为reg型,这是由时序逻辑电路的特点所决定的。

对于reg型数据,如果未对它进行赋值,仿真工具会认为它是不定状态。

为了能正确地观察到仿真结果,在可综合风格的模块中我们通常定义一个复位信号reset,当reset为低电平时,对电路中的寄存器进行复位。

测试模块的源代码
//———clk_Top.v————
`timescale 1ns/100ps
`defineclk_cycle 50
moduleclk_Top;
regclk,reset;
wireclk_out;
always#`clk_cycleclk=~clk;
initial
begin
clk=0;
reset=1;
#100 reset=0;
#100 reset=1;
#10000 $stop;
end
half_clk half_clk1(reset,clk,clk_out);
endmodule
三、实验步骤
1、新建
2、分别输入源程序
3、编译无误后仿真
4.仿真结果图
四、实验结果
通过实验,用verilog HDL语言描写出简单的二分之一分频器及其测试程序并用测试程序对分频器进行波形仿真测试、画出仿真波形。

完成实验要求,达到试验目的,实验结果正确。

实验三利用条件语句实现计数分频时序电路
一、实验要求
1、掌握条件语句在简单时序模块设计中的使用
2、学习在Verilog模块中应用计数器
3、学习测试模块的编写、综合和不同层次的仿真
二、实验原理与内容
与常用的高级程序语言一样,为了描述较为复杂的时序关系,Verilog HDL 提供了条件语句供分之判断时使用。

在可综合风格的Verilog HDL模型中,常用的条件语句有if….else和case…endcase两种结构,用法和C语言中相似。

两者相比,if…else用于不很复杂的分支关系,实际编写课综合风格的模块,特别是用状态机构成的模块是,更常用的是case…endcase风格的代码。

这一节给的是有关if…else的范例,有关case…endcase结构的代码以后会经常用到。

]//---------------top.v---------------------------------
module top(RESET,F10M,F500K);
input F10M,RESET;
output F500K;
reg F500K;
reg [7:0]j;
always@(posedge F10M)
if(!RESET)
begin
F500K<=0;
j<=0;
end
else
begin
if(j==19)
begin
j<=0;
F500K<=~F500K;
end
else
j<=j+1;
end
endmodule
三、实验步骤
1、新建
2、输入源程序
3、编译无误后仿真
4.仿真结果图
实验四简单时序逻辑电路的设计
一、实验要求
1、通过实验,掌握阻塞复制与非阻塞复制的概念和区别
2、了解非阻塞和阻塞赋值的不同使用场合
3、学习测试模块的编写、综合和不同层次的仿真
二、实验原理与内容
阻塞赋值与非阻塞赋值,在教材中已经了解了他们之间在语法上的区别以及
综合所得到的电路结构上的区别。

在always块中,阻塞赋值可以理解为赋值语句是顺序执行的,而非阻塞赋值可以赋值语句是并发执行的。

时序逻辑设计中,通常都使用非阻塞语句,而在实现组合逻辑的assign结构中,或者always块结构中都必须采用阻塞赋值语句。

//----------------block.v-------------------
module block(clk,a,b,c);
output [3:0] b,c;
input [3:0]a;
input clk;
reg [3:0] b,c;
always@(posedgeclk)
begin
b=a;
c=b;
$display(“Block:a=%d,b=%d,c=%d.”,a,b,c);
end
endmodule
//----------------non_block.v-------------------
module non_block(clk,a,b,c);
output [3:0] b,c;
input [3:0]a;
input clk;
reg [3:0] b,c;
always@(posedgeclk)
begin
b<=a;
c<=b;
$display(“Non_Block:a=%d,b=%d,c=%d.”,a,b,c);
end
endmodule
//-----------compare.v--------------------- `timescale 1ns/100ps
//'include"./block.v"
//'include"./non_block.v"
module compare(b1,c1,b2,c2,a,clk);
output[3:0]b1,c1,b2,c2;
input [3:0]a;
input clk;
non_block non_block(clk,a,b2,c2);
block block(clk,a,b1,c1); endmodule
三、实验步骤
1、新建
2、分别输入源程序
3、编译无误后仿真
4.仿真结果图。

相关文档
最新文档