EDA实验二总结报告大全

时间:2019-05-12 12:34:57下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《EDA实验二总结报告大全》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《EDA实验二总结报告大全》。

第一篇:EDA实验二总结报告大全

实验二

数字秒表设计

一、实验目的

1、理解计时器的原理与Verilog/VHDL 的编程方法;

2、掌握多模块设计及层次设计的方法。

二、实验原理

秒计时器是由计数器和译码器、显示器组成,其核心是计数器与译码器。60 秒计时器可由二个计数器分别完成:个位为十进制计数器,十位为 6 进 制计数。个位计数器的计数信号由实验开发板上主频20MHZ分频产生的1Hz 时钟信号提供, 十位计数器的计数信号由个位的进位信号提供。然后由译码器 对计数结果进行译码,送LED 数码管进行显示。Clr为清零,se t为开始。

三、实验框图

四、实验任务

1、采用层次设计的方法,设计一个包括顶层及底层模块的60 秒计时器,底 层模块用Verilog/VHDL 设计,顶层用原理图设计。

2、秒计时器应当具有系统复位功能;

3、每十秒发出提示信号及计满60 秒时发出报警信号。(选做)

五、实验步骤与要求

1、分模块设计:首先分别设计10 进制、6 进制计数器、译码器模块;

2、顶层原理图如图7-1 所示;

3、编译完成后进行波形仿真;

4、进行引脚锁定,并下载至开发系统验证。

六、分模块设计 1.十进制计数器(1)程序代码:

module CNT10(CLK,RST,EN,COUT,DOUT);

input CLK,EN,RST;

output [3:0]DOUT;

output COUT;

reg[3:0]Q1;

reg COUT;

assign DOUT=Q1;

always@(posedge CLK or negedge RST)

begin

if(!RST)Q1<=0;

else if(EN)begin

if(Q1<9)Q1<=Q1+1;

else Q1<=4'b0000;end

end

always@(Q1)

if(Q1==4'h9)COUT=1'b1;

else COUT=1'b0;endmodule

(2)仿真波形

(3)模块符号

2.六进制计数器(1)程序代码:

module CNT6(CLK,RST,EN,COUT,DOUT);

input CLK,EN,RST;

output [3:0]DOUT;

output COUT;

reg[3:0]Q2;

reg COUT;

assign DOUT=Q2;

always@(posedge CLK or negedge RST)

begin

if(!RST)Q2<=0;

else if(EN)begin

if(Q2<5)Q2<=Q2+1;

else Q2<=3'b000;end

end

always@(Q2)

if(Q2==3'h5)COUT=1'b1;

else COUT=1'b0;endmodule

(2)仿真波形

(3)模块符号

3.分频器

(1)程序代码:

module FPQ(clk0,clk1);

input clk0;

output clk1;

reg[26:0] Q1;

reg clk1;always@(posedge clk0)

if(Q1<10)Q1<=Q1+1;

else

begin Q1<=0;

clk1<=~clk1;

end endmodule(2)模块符号

七.顶层原理图:

八.仿真波形

九.结果分析

当输入端CLK,EN,RST都不为0时,首先是十进制计数器开始进行计时,直到DOUT1输出端大于9时产生进位,并且自身变为0,同时使六进制计数器也开始计时,六进制输出端DOUT2大于5时产生进位,使COUT输出为1.

第二篇:EDA实验总结报告

数字EDA实验报告--------------薛蕾0941903207

数字EDA实验 实验报告

学院: 计算机科学与工程学院 专业: 通信工程 学号: 0941903207 姓名: 薛蕾 指导老师: 钱强

数字EDA实验报告--------------薛蕾0941903207 实验一 四选一数据选择器的设计

一、实验目的

1、熟悉Quartus II软件的使用。

2、了解数据选择器的工作原理。

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

二、实验原理及内容

实验原理

数据选择器在实际中得到了广泛的应用,尤其是在通信中为了利用多路信号中的一路,可以采用数据选择器进行选择再对该路信号加以利用。从多路输入信号中选择其中一路进行输出的电路称为数据选择器。或:在地址信号控制下,从多路输入信息中选择其中的某一路信息作为输出的电路称为数据选择器。数据选择器又叫多路选择器,简称MUX。4选1数据选择器:

(1)原理框图:如右图。

D0、D1、D2、D3

:输入数据 A1、A0

:地址变量

由地址码决定从4路输入中选择哪1路输出。

(2)真值表如下图:(3)逻辑图

数据选择器的原理比较简单,首先必须设置一个选择标志信号,目的就是为了从多路信号中选择所需要的一路信号,选择标志信号的一种状态对应着一路信号。在应用中,设置一定的选择标志信号状态即可得到相应的某一路信号。这就是数据选择器的实现原理。

三.实验内容

1、分别采用原理图和VHDL语言的形式设计4选1数据选择器

2、对所涉及的电路进行编译及正确的仿真。电路图:

四、实验程序

library ieee;use ieee.std_Logic_1164.all;

ENTITY mux4 IS

PORT(a0, a1, a2, a3 :IN STD_LOGIC;

s :IN STD_LOGIC_VECTOR(1 DOWNTO 0);

y :OUT STD_LOGIC);END mux4;ARCHITECTURE archmux OF mux4 IS

BEGIN y <= a0 WHEN s = “00” else

--当s=00时,y=a0 a1 WHEN s = “01” else

--当s=01时,y=a1 a2 WHEN s = “10” else

--当s=10时,y=a2 a3;

--当s取其它值时,y=a2 END archmux;

五、运行结果

六.实验总结

真值表分析:

当js=0时,a1,a0取00,01,10,11时,分别可取d0,d1,d2,d3.实验二 血型配对器的设计

一、实验目的

1、进一步熟悉Quartus II软件的使用。

2、掌握简单组合逻辑电路的设计方法与功能仿真技巧。

3、进一步学习Quartus II中基于原理图设计的流程。

二、实验原理及内容

实验原理

人类有O、A、B、AB 4种基本血型,输血者与受血者的血型必须符合图示原则。设计一血型配对电路,用以检测输血者与受血者之间的血型关系是否符合,如果符合,输出为1,否则为0。

已知: AB血型是万能受血者,O血型是万能献血者!如果要输血给O型血,那么可以的血型是O型!如果要输血给A型血,那么可以的血型是A,O型!如果要输血给B型血,那么可以的血型是B,O型!

如果要输血给AB型血,那么可以的血型是A,B,AB,O型!

输血者

受血者

O A

O A B AB

B AB

三.实验内容

1、用VHDL语言编写程序实现血型配对器的功能 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY Vxuexing IS PORT(P,Q,R,S:IN STD_LOGIC;F:OUT STD_LOGIC);END Vxuexing;ARCHITECTURE A OF Vxuexing IS BEGIN

F<=((NOT P)AND(NOT Q))OR(R AND S)OR((NOT P)AND S)OR((NOT Q)AND R);END A;

2、对所编写的电路进行编译及正确的仿真。

实验分析 真值表

PQRSF***************11111

P,Q表示输血者的血型;R,S,表示受血者的血型。当两者符合血型配合原则时,F=1,否则为0.四、运行结果

五、实验总结

本实验给出了四种不同的血型编码,PQ(1,1),RS(1,1)表示AB型血,P,Q(1,0),RS(1,0)表示B型血,PQ(0,1),RS(0,1)表示A型血,PQ(0,0),RS(0,0)表示O型血。根据真值表,并根据实验的原理图,画出电路图并进行连接。

实验三 简单数字钟的设计

一、实验目的

1、了解数字钟的工作原理。

2、进一步学习Quartus II中基于VHDL设计的流程。

3、掌握VHDL编写中的一些小技巧。

4、掌握简单时序逻辑电路的设计方法与功能仿真技巧。

二、实验原理及内容

实验原理

简单数字钟应该具有显示时-分-秒的功能。首先要知道钟表的工作机理,整个钟表的工作应该是在1Hz信号的作用下进行,这样每来一个时钟信号,秒增加1秒,当秒从59秒跳转到00秒时,分钟增加1分,同时当分钟从59分跳转

三.实验内容

1、用原理图的方式编写一个12/24进制的计数器,并创建为SYMBOL文件。

2、用VHDL的方式编写一个60进制的计数器,并创建为SYMBOL文件。

3、创建顶层文件。调用已编写的SYMBOL文件,设计简单的数字钟电路。

2、对所编写的电路进行编译及正确的仿真。

二十四进制VHDL LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT24 IS PORT(CP, EN, Rd, LD :IN STD_LOGIC;

D

:IN STD_LOGIC_VECTOR(5 DOWNTO 0);

Co

:OUT STD_LOGIC;Q

:OUT STD_LOGIC_VECTOR(5 DOWNTO 0));END CNT24;ARCHITECTURE STR OF CNT24 IS

SIGNAL QN : STD_LOGIC_VECTOR(5 DOWNTO 0);

BEGIN Co<= '1'WHEN(QN = “010111”AND EN='1')

ELSE '0';PROCESS(CP, RD)

BEGIN IF(Rd ='0')THEN

QN<= “000000”;ELSIF(CP'EVENT AND CP='1')THEN IF(LD='0')THEN QN <= D;

ELSIF(EN='1')THEN QN <= QN+1;END IF;END IF;END PROCESS;Q <= QN;END STR;

六十进制VHDL LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY jsq60 IS PORT(en,rd,cp :IN STD_LOGIC;

qh:buffer STD_LOGIC_VECTOR(3 DOWNTO 0);

ql :buffer STD_LOGIC_VECTOR(3 DOWNTO 0);

Co :OUT STD_LOGIC);END jsq60;ARCHITECTURE b OF jsq60 IS BEGIN Co<='1'when(qh=“0101”and ql=“1001” and en='1')else'0';PROCESS(cp,rd)

BEGIN IF(rd='0')THEN qh<=“0000”;ql<=“0000”;ELSIF(cp'EVENT AND cp='1')THEN

IF(en='1')THEN

IF(ql=9)THEN

ql<=“0000”;

IF(qh=5)THEN

qh<=“0000”;

ELSE qh<=qh+1;

end if;

else

ql<=ql+1;

end if;

end if;

END IF;END PROCESS;END b;

原理图

四、运行结果

24进制

60进制

时钟仿真结果

五、实验总结

此设计问题可分为主控电路,计数器模块和扫描显示三大部分,计数器在之前的学习中已经非常熟悉,只要掌握60,12进制的技术规律,用同步或异步计数器都可以实现。二扫描电路我们学过两种驱动方式:BCD码驱动方式和直接驱动方式。

实验四 简单交通灯的设计

一、实验目的

1、了解交通灯的亮灭规律。

2、了解交通灯控制器的工作原理。

3、进一步熟悉VHDL语言编程,了解实际设计中的优化方案。

二、实验原理及内容

实验原理

交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车子如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。

要完成本实验,首先必须了解交通路灯的亮灭规律。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。

三.实验内容

1、用VHDL的方式编写一个简单的交通控制灯电路

2、对所编写的电路进行编译及正确的仿真。

程序: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;

entity traffic is port(clk,enb : in std_logic;

ared,agreen,ayellow,bred,bgreen,byellow : buffer std_logic;

acounth,acountl,bcounth,bcountl : buffer std_logic_vector(3 downto 0));end traffic;

architecture one of traffic is begin process(clk,enb)variable lightstatus : std_logic_vector(5 downto 0);begin

if(clk'event and clk='1')then lightstatus := ared&agreen&ayellow&bred&bgreen&byellow;if((acounth=“0000” and acountl=“0000”)or(bcounth=“0000” and bcountl=“0000”))then Case lightstatus is When “010100”=> lightstatus:=“001100”;acountl<=“0101”;acounth<=“0000”;bcountl<=“0101”;bcounth<=“0000”;When “001100”=> if(enb='1')then lightstatus:=“100010”;acountl<=“0000”;acounth<=“0011”;bcountl<=“0101”;bcounth<=“0010”;

else lightstatus:=“010100”;acountl<=“0101”;acounth<=“0100”;bcountl<=“0000”;bcounth<=“0101”;end if;

when “100010”=>

lightstatus:=“100001”;acountl<=“0101”;acounth<=“0000”;bcountl<=“0101”;bcounth<=“0000”;

when “100001”=>

lightstatus:=“010100”;acountl<=“0101”;acounth<=“0100”;bcountl<=“0000”;bcounth<=“0101”;

when others=> lightstatus:=“010100”;acountl<=“0101”;acounth<=“0100”;bcountl<=“0000”;bcounth<=“0101”;

end case;else if(acountl=“0000”)then acounth<=acounth-1;acountl<=“1001”;

else acountl<=acountl-1;

end if;

if(bcountl=“0000”)then bcounth<=bcounth-1;bcountl<=“1001”;

else bcountl<=bcountl-1;end if;end if;end if;

ared<=lightstatus(5);agreen<=lightstatus(4);ayellow<=lightstatus(3);

bred<=lightstatus(2);bgreen<=lightstatus(1);byellow<=lightstatus(0);end process;end one;

四、运行结果

分析:

这里a代表东西方向,b代表南北方向,acounth是表示东西方向五进制计数acountl是东西方向六进制计数,bcounth则表示南北方向五进制,bounthl则是南北方向六进制计数 东西方向为0时,东西方向红灯亮(ared=1)

东西方向在1~4之间,东西方向绿灯亮(即agreen=1)南北方向 的红灯亮起(即bred=1)

五、实验总结

此设计问题可分为主控电路,译码驱动电路和扫描显示部分。

但是,这远远不能满足实际生活的需要,还应设置倒计时秒数,因此可在此电路基础上外加一个定时模块。

实验五 流水灯的设计

一、实验目的

1、了解流水灯的工作原理。

二、实验原理及内容

实验原理

要完成本实验,首先必须了解流水灯的原理。所谓的流水灯实际上就是由多个LED发光二极管构成的电路,当发光二极管可以依次点亮时,即能呈现流水的效果。实验内容

1、设计能带8个LED发光管发光,并按照要求轮流发光,产生流水灯的流动效果。

2、应具有两种以上不同风格的流动闪亮效果。比如依次点亮或者依次熄灭。(选作)

3、有起动、停止控制键。(选作)

4、有流动闪亮效果选择设置键。(选作)

5、对所编写的电路进行编译及正确的仿真。

三、实验程序

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY yiweijicun1 IS PORT(CP,R,DSR,DSL:IN STD_LOGIC;

S:STD_LOGIC_VECTOR(2 DOWNTO 0);

D:STD_LOGIC_VECTOR(7 DOWNTO 0);

Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END yiweijicun1;ARCHITECTURE yiweijicun_arch OF yiweijicun1 IS

SIGNAL IQ: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(CP,R,IQ)BEGIN IF(R='1')THEN IQ <=(OTHERS =>'0');ELSIF(CP'EVENT AND CP ='1')THEN CASE CONV_INTEGER(S)IS WHEN 0=>NULL;WHEN 1=> IQ <= D;WHEN 2=> IQ <= DSR & IQ(7 DOWNTO 1);WHEN 3=> IQ <=IQ(6 DOWNTO 0)& DSL;WHEN 4=> IQ <= IQ(0)& IQ(7 DOWNTO 1);WHEN 5=> IQ <=IQ(6 DOWNTO 0)& IQ(7);WHEN 6=> IQ <= IQ(7)& IQ(7 DOWNTO 1);WHEN 7=> IQ <= IQ(6 DOWNTO 0)& IQ(0);WHEN OTHERS => NULL;END CASE;END IF;Q <= IQ;END PROCESS;END yiweijicun_arch;

四、运行结果

结果分析:

d[0]~d[7]为八个输入端,s[0]和s[1]控制流水灯得输出,s=1保持,s=2实现左移功能,s=3实现右移功能,因为延迟的原因,在s=2时,需要经过一段时间才能实现循环右移的功能,流水灯的实现其实是运用了8位移位寄存器,它只是运用了其中的保持左移与右移的功能,8LO位移位寄存器还有循环右移,循环左移,算数右移,算数左移等功能。

五、实验总结

了解了移位寄存器的功能和原理

通过这次实验,加深了VHDL语言的运用能力,更进一步了解了8位移位寄存器的功能。

实验六 乘法器的设计

一、实验目的

1、了解乘法器的工作原理。

2、了解复杂时序电路的设计流程。

二、实验原理及内容

实验原理

具体设计原理参见教材188页。实验内容

1、设计一个能进行两个十进制数相乘的乘法器,乘数和被乘数均小于100。(可以参考教材231页的VHDL代码来设计)

2、对所编写的电路进行编译及正确的仿真。

三、实验程序

library IEEE;use IEEE.std_logic_1164.all;

entity one_bit_adder is port(A: in STD_LOGIC;B: in STD_LOGIC;C_in: in STD_LOGIC;S: out STD_LOGIC;C_out: out STD_LOGIC);end one_bit_adder;

architecture one_bit_adder of one_bit_adder is begin

S <= A xor B xor C_in;C_out <=(A and B)or(C_in and(A xor B));

end one_bit_adder;library IEEE;use IEEE.std_logic_1164.all;

entity sichen is port(A: in STD_LOGIC_VECTOR(3 downto 0);B: in STD_LOGIC_VECTOR(3 downto 0);data_out: out STD_LOGIC_VECTOR(6 downto 0));end sichen;

architecture multi_arch of sichen is signal A_MULT_B0: STD_LOGIC_VECTOR(2 downto 0);signal A_MULT_B1: STD_LOGIC_VECTOR(2 downto 0);signal A_MULT_B2: STD_LOGIC_VECTOR(2 downto 0);

signal S_TEMP1: STD_LOGIC_VECTOR(1 downto 0);signal S_TEMP2: STD_LOGIC_VECTOR(1 downto 0);

signal C_TEMP : STD_LOGIC_VECTOR(6 downto 0);

signal C0_out_B0, C1_out_B0, C2_out_B0 : STD_LOGIC;signal C0_out_B1, C1_out_B1, C2_out_B1 : STD_LOGIC;

signal ZERO: STD_LOGIC;

component one_bit_adder port(A: in STD_LOGIC;B: in STD_LOGIC;C_in: in STD_LOGIC;S: out STD_LOGIC;C_out: out STD_LOGIC);end component;begin U_0_0 : one_bit_adder port map(A => A_MULT_B0(1), B => A_MULT_B1(0), C_in => ZERO, S => C_TEMP(1), C_out => C0_out_B0);U_0_1 : one_bit_adder port map(A => A_MULT_B0(2), B => A_MULT_B1(1), C_in => C0_out_B0, S => S_TEMP1(0), C_out => C1_out_B0);U_0_2 : one_bit_adder port map(A => ZERO, B => A_MULT_B1(2), C_in => C1_out_B0, S => S_TEMP1(1), C_out => C2_out_B0);

U_1_0 : one_bit_adder port map(A => A_MULT_B2(0), B => S_TEMP1(0), C_in => ZERO, S => C_TEMP(2), C_out => C0_out_B1);U_1_1 : one_bit_adder port map(A => A_MULT_B2(1), B => S_TEMP1(1), C_in => C0_out_B1, S => S_TEMP2(0), C_out => C1_out_B1);U_1_2 : one_bit_adder port map(A => A_MULT_B2(2), B => C2_out_B0, C_in => C1_out_B1, S => S_TEMP2(1), C_out => C2_out_B1);

A_MULT_B0(0)<= A(0)and B(0);A_MULT_B0(1)<= A(1)and B(0);A_MULT_B0(2)<= A(2)and B(0);

A_MULT_B1(0)<= A(0)and B(1);A_MULT_B1(1)<= A(1)and B(1);A_MULT_B1(2)<= A(2)and B(1);

A_MULT_B2(0)<= A(0)and B(2);A_MULT_B2(1)<= A(1)and B(2);A_MULT_B2(2)<= A(2)and B(2);

ZERO <= '0';C_TEMP(0)<= A_MULT_B0(0);C_TEMP(4 downto 3)<= S_TEMP2(1 downto 0);C_TEMP(5)<= C2_out_B1;

C_TEMP(6)<= A(3)xor B(3);

data_out <= C_TEMP;

end multi_arch;

四、运行结果

乘法器实现A,B两数的相乘。A[0]~A[3]以及B[0]~B[3]是实现输入端的控制。由图看出,输出上产生了延迟是因为当A[3]输入1,对应了十进制的8,B[0]输入1,对应了十进制的1,两者相乘得8,即在data_out端应输出8,此处因仍存在竞争冒险。

五、实验总结

乘法器的设计的问题可以分为乘数和被乘数控制模块,寄存模块,乘法模块和扫描显示模块几个部分。

两数相乘的方法很多,可以用移位相加的方法,也可以将乘法器看成计数器,乘积的初始值为零,每一个时钟周期将被乘数的值加到积上,同时乘数减一,这样反复执行,直到乘数为零。

第三篇:《EDA技术基础》实验总结报告及要求

电工电子中心2009年5月绘制

湖北师范学院电工电子实验教学省级示范中心电子版实验报告

什么什么设计(研究)

红色部分提交时请删除!!

题目:“什么内容”的设计或“什么内容”的研究,例如: 基于FPGA的数字抢答器设计 基于FPGA的等精度数字频率计设计 Verilog HDL同步时序电路研究 一种简易数字频率计设计

基于FPGA的DDS信号发生器的设计

更多参考“大学生电子实验室”论坛设计选题指南 一.任务解析

根据对设计选题的理解,明确要做什么,要达到什么要求(参数、指标)。二.方案论证

对所要完成的设计任务,参考相关资料,提出设计方案,拿不同方案进行对比分析,选择你能够实现的方案,并明确指出为什么要选择此方案,较其它方案有何优点。三.实验步骤

方案的具体实施,按实际实施过程认真做好原始记录,可以包括单元电路仿真分析,部分指标测试(实际效果)等等,描述演示效果要明确所用设备,说明实验箱,使用了什么仪器等。四.结果分析

对所测试结果(演示现象)做分析,得出结论(描述现象)。五.经验总结

对完成任务情况进行总结,是否达到预期的设计,效果如何,还有哪些可以改进的,改进建议,特别是错误分析。

如果是自己独立完成的,我相信一定会有很多心得体会可以总结的,挫折的苦恼,成功的喜悦。如果你完成了一个设计性实验,一点体会都没有,那么我相信你一定是走捷径完成了任务,而没有真正独立完成本设计任务!老师批改报告,往往把学生的心得体会看成一个亮点。心得体会一定要认真写,把自己做设计性实验的过程认真总结,让老师感受到你是一步一步完成该设计性实验选题的。

第2页,共2页

第四篇:实验二总结报告

《数据库原理与应用》实验报告

实验名称: 实验二 学号:

班级: 姓名:

软件工程

一、实验目的

1.掌握使用SQL语句创建和删除数据表,创建各种完整性约束。2.掌握使用SQL语句修改表的结构。

3.掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。

二、实验过程

1.使用SQL语句建立4个关系,:

供应商表S(Sno, Sname, City)零件表P(Pno, Pname, Color, Weight)工程项目表J(Jno, Jname, City)供应情况表 SPJ(Sno, Pno, Jno, QTY)创建S表的语句为:

create table s(sno varchar2(20)primary key, sname varchar2(40)unique,city varchar2(10));语句的执行结果为: / 19

创建p表的语句为:

create table p(pno varchar2(20)primary key, pname varchar2(40), color varchar2(10), weight number check(weight>=1 and weight<=50));语句的执行结果为:

创建j表的语句为:

create table j(jno varchar2(20)primary key, jname varchar2(40)unique not null, city varchar2(10));语句的执行结果为: / 19

创建spj表的语句为:

create table spj(sno varchar2(20), pno varchar2(20), jno varchar(20), qty number(5), primary key(sno,pno,jno), foreign key(sno)references s(sno), foreign key(pno)references p(pno), foreign key(jno)references j(jno));语句的执行结果为:

2.用SQL语句完成以下操作

(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。

语句:alter table s add sphone varchar2(15);alter table s add semail varchar2(40);执行结果: / 19

(2)删除Jname属性列取值唯一的约束。

语句:alter table j drop constraint SYS_C0011066;执行结果:

(3)将QTY属性列的数据类型修改为Integer型。语句:alter table spj modify qty integer;执行结果:

(4)删除S表中的属性列Semail 语句:alter table s drop column semail;执行结果:

3.在J表的Jname属性列上创建唯一性索引。语句:create unique index sy on j(jname);执行结果: / 19

4.使用EXP命令将创建的四张数据表导出。执行结果:

5.在创建的S,P,J和SPJ表中完成以下查询:(1)查询所有供应商所在的城市。

select distinct city from s;

(2)查询零件重量在10-20之间(包括10和20)的零件名和颜色。

select pname,color from p where weight between 10 and 20;/ 19

(3)查询工程项目的总个数。

select count(distinct jno)from j;/ 19

(4)查询所有零件的平均重量。

select avg(weight)from p;

(5)查询供应商S3供应的零件号。

select pno from spj where sno='s3';/ 19

(6)查询各个供应商号及其供应了多少类零件。

select sno,count(distinct pno)from spj group by sno;

(7)查询供应了2类以上零件的供应商号。

select sno from spj group by sno having count(distinct pno)>2;/ 19

(8)查询零件名以“螺”字开头的零件信息。

select * from p where pname like '螺%';

(9)查询工程项目名中最后一个字为“厂”字的工程项目所在的城市。

select city from j where jname like '%厂';/ 19

(10)查询给每个工程供应零件的供应商的个数。

select jno,count(distinct sno)from spj group by jno;

(11)查询供应数量在1000—2000之间(包括1000和2000)的零件名称。

select pname from p where pno in

(select pno from spj group by pno having sum(qty)>=1000 andsum(qty)<=2000);/ 19

6.将实验一中创建的三张表student,course和sc用IMP命令导入,在导入的三张表中完成以下查询:

(1)查询“信息管理与信息系统”专业学生的姓名和年龄。

select sname,trunc((sysdate-birth)/365)sage from student where major='信息管理与信息系统';

(2)查询107号课程的最高成绩。

select max(grade)from sc where cno='107';/ 19

(3)统计每个专业的学生人数。

select major,count(major)人数 from student group by major;

(4)统计每门课程的修课人数和考试最高分。

select cno,count(distinct sno)人数,max(grade)最高分 from sc group by cno;/ 19

(5)查询总成绩超过200分的学生,要求列出学号和总成绩。

select sno,sum(grade)from sc group by sno having sum(grade)>200;

(6)查询姓名为田丕龙的学生所学课程的课程名与学分。

select cname,gredit from course where cno in(select cno from sc where sno in(select sno from student where sname='田丕龙'));/ 19

(7)查询选修课程号为“160”或“304”的学生的学号。

select sno from sc where cno='160' or cno='304';

(8)查询选修了课程号为“160”和“304”的学生的学号。

select x.sno from scx,sc y where x.sno=y.sno and x.cno='160' and y.cno='304';/ 19

(9)查询学习全部课程的学生姓名。

select sname from student where sno in(select sno from sc group by sno having count(cno)=(select count(cno)from course));

(10)查询1994年1月1日以前出生的学生的姓名和专业。

select sname,major from student whereto_date('1994/01/01','yyyy/mm/dd')-birth>=0;/ 19

(11)查询选修了“大学英语4”课程且成绩在90分以上的学生姓名。

select sname from student where sno in(select sno from sc where grade>90 and cno in

(select cno from course where cname='大学英语4'));(12)查询选修了5门以上课程的学生学号和姓名。

select sno,sname from student where sno in(select sno from sc group by sno having count(cno)>5);/ 19

(13)查询未选修“政治经济学”课程的学生情况。

select * from student where sno!=all(select sno from sc where cno in(select cno from course where cname='政治经济学'));(14)统计102和378号课程的选课人数及平均成绩。

select cno,count(sno)人数,avg(grade)from sc group by cno having cno='102' or cno='378';/ 19

(15)查询比所有“信息管理与信息系统”专业学生年龄都大的学生。

select * from student where birth<(select min(birth)from student where major='信息管理与信息系统');

(16)将“计算机科学与技术”专业的学生按出生时间先后排序。

select * from student where major='计算机科学与技术' order by birth asc;/ 19

三、实验总结 / 19

第五篇:EDA实验4lxm

实验四 计数器与七段译码器及显示的设计

一 实验目的

1、掌握七段译码器的工作原理;

2、学会用VHDL硬件描述语言进行数字系统设计;

3、学会运用波形仿真测试检验程序的正确性;

4、用QuartusII完成基本组合电路的设计。

二 实验仪器

PC机、Quartus II 6.0软件、康芯EDA实验箱

三 实验内容

选GW48系统的实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键3到键8作为控制输入端。完成计数器的数码管显示设计。

四 实验原理及步骤

7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。例6-18作为7段译码器,输出信号LED7S的7位分别接如图6-2数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例6-18中的LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)应改为...(7 DOWNTO 0)。

1、根据译码器真值表写出原程序。

译码器真值表:

输入

输出

值 A

B C D a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 8 1 0 0 0 1 1 1 1 1 1 1 9 1 0 0 1 1 1 1 1 0 1 1 A 0 1 0 1 1 1 0 1 1 1 B 1 0 1 1 0 0 1 1 1 1 1 C 1 1 0 0 1 0 0 1 1 1 0 D 1 1 0 1 0 1 1 1 1 0 1 E 1 1 1 0 1 0 0 1 1 1 1 F 1 1 1 1 1 0 0 0 1 1 1

三、实验内容:

1、说明下列程序中各语句的含义,以及该例的整体功能。在Quartus II 6.0上对以下该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形(提示:用输入总线的方式给出输入信号仿真数据)。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DecL7S IS PORT(A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END;ARCHITECTURE one OF DecL7S IS BEGIN PROCESS(A)BEGIN CASE A(3 DOWNTO 0)IS WHEN “0000” => LED7S <= “0111111”;--X“3F”0 WHEN “0001” => LED7S <= “0000110”;--X“06”1 WHEN “0010” => LED7S <= “1011011”;--X“5B”2 WHEN “0011” => LED7S <= “1001111”;--X“4F”3 WHEN “0100” => LED7S <= “1100110”;--X“66”4 WHEN “0101” => LED7S <= “1101101”;--X“6D”5 WHEN “0110” => LED7S <= “1111101”;--X“7D”6 WHEN “0111” => LED7S <= “0000111”;--X“07”7 WHEN “1000” => LED7S <= “1111111”;--X“7F”8 WHEN “1001” => LED7S <= “1101111”;--X“6F”9 WHEN “1010” => LED7S <= “1110111”;--X“77”10 WHEN “1011” => LED7S <= “1111100”;--X“7C”11 WHEN “1100” => LED7S <= “0111001”;--X“39”12 WHEN “1101” => LED7S <= “1011110”;--X“5E”13 WHEN “1110” => LED7S <= “1111001”;--X“79”14 WHEN “1111” => LED7S <= “1110001”;--X“71”15 WHEN OTHERS => NULL;END CASE;END PROCESS;END;

图3-1 共阴数码管及其电路

2、引脚锁定以及硬件下载测试。建议选实验电路模式6,用数码8显示译码输出(PIO46--PIO40),键

8、键

7、键

6、键5四位控制输入,硬件验证译码器的工作性能。

3、用VHDL完成四位二进制加法计数器设计,命名为CNT4B.4、用VHDL例化语句(参考实验1中的1位全加VHDL文本输入设计)按图3-2 的方式,完成顶层文件设计,并重复以上实验过程。注意图3-2中的tmp是4位总线,led是7位总线。对于引脚锁定和实验,建议仍选实验电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接时钟信号clock0。

图3-2 计数器和译码器连接电路的顶层文件原理图

(提示:

1、将教材P89页程序和P154页程序读懂,分别建立工程、生成各自原理图。

2、将上述两个原理图按教材P155页图6-19连接起来建立新的原理图设计文件。

3、将上述原理图文件编译、仿真、引脚绑定,下载到实验箱验证。)

四、实验报告要求

1、总结Quartus II 6.0 VHDL 中CASE语句应用及多层次设计方法

2、根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程;设计程序、程序分析报告、仿真波形图及其分析报告;

3、心得体会――本次实验中你的感受;你从实验中获得了哪些收益;本次实验你的成功之处;本次实验中还有待改进的地方;下次实验应该从哪些地方进行改进;怎样提高自的实验效率和实验水平等等。

五、问题与思考:

只要求译出数字0~9和“-”,怎样修改程序?

下载EDA实验二总结报告大全word格式文档
下载EDA实验二总结报告大全.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    EDA实验六1315212017

    《电子设计自动化实验》课程设计 题 目: 十六位硬件乘加器电路 姓 名: 江 璐 学院班级: 13级电子信息工程2班 学 号: 1315212017 指导老师: 邱应强老师 时 间: 20151122 目......

    EDA实验总结(五篇材料)

    EDA 实验总结 系别:物理系 专业:电子信息科学与技术 姓名:马亚伟 学号:2010171135 在本学期短短6周的EDA实验学习中,我初步对这一新的领域有了一个较为系统的理解,也为我的专业学......

    EDA技术实验教案

    一、课程名称: EDA技术实验 二、教材名称: 《EDA技术使用教程》,潘松等编著。 三、本课程教学目的、要求: 介绍EDA的基本知识、常用的EDA工具的使用方法和目标器件的结构原理、......

    合肥工业大学EDA课程总结报告

    EDA课程总结报告 一、 EDA技术简介 1. EDA技术的概念 EDA即Electronic Design Automation的缩写,直译为:电子设计自动化 EDA技术有狭义和广义之分,狭义EDA技术就是以大规模可编......

    EDA技术基础实验教案

    实验一 2选1多路选择器VHDL设计 一、实验目的: 熟悉利用MAX+plusⅡ的VHDL文本设计流程全过程,学习简单组合逻辑电路的设计、多层次电路的设计、仿真和硬件测试。 二、实验内容......

    EDA可编程逻辑器件实验心得体会完整版

    EDA 可 编 程 逻 辑 器 件 《实验总结》 学号:姓名:班级: EDA试验心得体会 当看到这门课的时候,我最初的感觉是很无语,书本上一大堆看不懂的东西,没有接触过的VHDL语言和一些电路......

    EDA分频器实验教案(合集五篇)

    实验三:整数分频器的设计 一 实验目的 了解利用类属设计可配置的重用设计技术。 二 实验原理 利用类属n 可以改变分频器的分频系数,输出q的频率是输入信号clk频率的1/n。 通过......

    实验总结报告

    实验报告 专业:______ 姓名:______ 学号:______ 日期:______ 桌号:______________ 课程名称: 模拟电子技术基础实验指导老师:成绩:________________ 实验名称: 实验总结报告一、体会......