EDA实验报告册

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

EDA实验报告册2012年5月1日学号:200905010102姓名:于红平2实验二实验内容:1位全加器VHDL文本输入设计程序设计:libraryieee;useieee.std_logic_1164.all;entityf_adderisport(ain,bin,cin:instd_logic;cout,sum:outstd_logic);endentityf_adder;architectureoneoff_adderiscomponentadderport(a,b:instd_logic;co,so:outstd_logic);endcomponent;componentor2aport(a,b:instd_logic;c:outstd_logic);endcomponent;signald,e,f:std_logic;beginu1:adderportmap(a=ain,b=bin,co=d,so=e);u2:adderportmap(a=e,b=cin,co=f,so=sum);u3:or2aportmap(a=d,b=f,c=cout);endone;libraryieee;useieee.std_logic_1164.all;entityadderisport(a,b:instd_logic;3co,so:outstd_logic);endentityadder;architectureoneofadderisbeginso=not(axor(notb));co=aandb;endone;libraryieee;useieee.std_logic_1164.all;entityor2aisport(a,b:instd_logic;c:outstd_logic);endentityor2a;architectureoneofor2aisbeginc=aorb;endone;时序仿真及分析:实验五实验目的:二选一选择器程序设计:entitymux21aisport(a,b,s:inbit;4y:outbit);endentitymux21a;architectureoneofmux21aisbeginprocess(a,b,s)beginifs='0'theny=a;elsey=b;endif;endprocess;endarchitectureone;全程编译后软件提示0错误,3警告,可以继续下面仿真操作。程序分析:这是一个2选1多路选择器,a和b分别为两个数字输入端的端口名,s为通道选择控制信号输入端的端口名,y为输出端的端口名。时序仿真及分析:时序仿真输入图:时序仿真输出图:时序分析:由上面两图可以得知:当s=0时,y口输出a,当s=1时,y口输出b逻辑电路图:5实验七实验内容:含异步清0和同步时钟使能的4位加法计数器程序设计:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityCNT41Bisport(rst,ena,clk:instd_logic;cout:outstd_logic;outy:outstd_logic_vector(3downto0));endCNT41B;architecturebehavofCNT41Bissignalcqi:std_logic_vector(3downto0);beginprocess(rst,ena,clk)beginifrst='1'thencqi=0000;elseifclk'eventandclk='1'thenifena='1'thencqi=cqi+1;endif;endif;endif;outy=cqi;endprocess;6cout=cqi(0)andcqi(1)andcqi(2)andcqi(3);endbehav;时序仿真:端口分配:实验八实验内容:7段数码显示译码器设计程序设计:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityEdcl7sisport(A:instd_logic_vector(3downto0);Led7s:outstd_logic_vector(6downto0));endEdcl7s;architectureoneofEdcl7sisbeginprocess(A)begin7caseA(3downto0)iswhen0000=Led7s=0111111;when0001=Led7s=0000110;when0010=Led7s=1011011;when0011=Led7s=1001111;when0100=Led7s=1100110;when0101=Led7s=1101101;when0110=Led7s=1111101;when0111=Led7s=0000111;when1000=Led7s=1111111;when1001=Led7s=1101111;when1010=Led7s=1110111;when1011=Led7s=1111100;when1100=Led7s=0111001;when1101=Led7s=1011110;when1110=Led7s=1111001;when1111=Led7s=1110001;endcase;endprocess;endone;时序仿真:端口分配:8我做的其他实验:实验内容:双二选一多路选择器设计程序设计:libraryieee;useieee.std_logic_1164.all;entitymux21aisport(a,b,s:inbit;y:outbit);endentitymux21a;architectureoneofmux21aisbeginy=awhens='0'elseb;endarchitectureone;entitymuxkisport(a1,a2,a3,s0,s1:inbit;outy:outbit);endentitymuxk;architecturebhvofmuxkiscomponentmux21aport(a,b,s:inbit;y:outbit);endcomponent;signaltmp:bit;beginu1:mux21aportmap(a=a2,b=a3,s=s0,y=tmp);u2:mux21aportmap(a=a1,b=tmp,s=s1,y=outy);endarchitecturebhv;全程编译后软件提示0错误,2警告程序分析:这是一个双2选1多路选择器,a1、a2和a3分别为两个数字输入端的端口名,s0、s1为通道选择控制信号输入端的端口名,outy为输出端的端口名。实体mux21a是一个2选一选通电路,实体muxk是元件的例化,其作用是将两个mux21a组合成一个3选1多路选择器。时序仿真及分析:时序仿真输入图9时序仿真输出图时序分析:从仿真出来的结果,我们不难发现,s0和s1做为a1、a2、a3的选通控制信号。当s0=0.、s1=0时,outy输出a1;当s0=0.、s1=1时,outy输出a2;当s0=1.、s1=0时,outy输出a1;当s1=1.、s2=1时,outy输出a3;实验内容:用VHDL语言设计一个半加器电路。然后用元件例化语句调用两个半加器电路,用结构描述实现一个全加器。程序设计:libraryieee;useieee.std_logic_1164.all;entitybanjiaisport(a,b:instd_logic;so,co:outstd_logic);endbanjia;architecturemuxofbanjiaisbeginso=axorb;co=aandb;endmux;libraryieee;useieee.std_logic_1164.all;entityor1isport(a,b:instd_logic;c:outstd_logic);endor1;architectureorrofor1is10beginc=aorb;endorr;libraryieee;useieee.std_logic_1164.all;packagemy_pkgiscomponentbanjiaport(a,b:instd_logic;so,co:outstd_logic);endcomponent;componentor1port(a,b:instd_logic;c:outstd_logic);endcomponent;endmy_pkg;libraryieee;useieee.std_logic_1164.all;usework.my_pkg.all;entityshiwuisport(ain,bin,cin:instd_logic;cout:outstd_logic;sum:bufferstd_logic);endshiwu;architecturequanjiaofshiwuissignalx,y,z:std_logic;beginu1:banjiaportmap(a=cin,b=y,co=z,so=sum);u2:banjiaportmap(a=ain,b=bin,co=x,so=y);u3:or1portmap(a=x,b=z,c=cout);endquanjia;时序仿真及输出图:11实验内容:D触发器实验程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitydff1isport(d,clk:instd_logic;q:outstd_logic);end;architectureoneofdff1issignalq1:std_logic;--类似在芯片内部定义一个数据暂存节点beginprocess(clk,q1)--process语句引导一个顺序语句beginifclk'eventandclk='1'thenq1=d;endif;endprocess;q=q1;--将内部的暂存数据向端口输出end;时序分析及输出:逻辑电路:12实验内容:12进制加法器程序设计:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt12isport(clk,rst,en,load:instd_logic;data:instd_logic_vector(3downto0);dout:outstd_logic_vector(3downto0);cout:outstd_logic);endcnt12;architecturebehavofcnt12isbeginprocess(clk,rst,en,load)variableq:std_logic_vector(3downto0);beginifrst='0'thenq:=(others='0');elsifclk'eventandclk='1'thenifen='1'thenif(load='0')thenq:=data;elseifq11thenq:=q+1;elseq:=(others='0');endif;endif;endif;endif;ifq=1011thencout='1';elsecout='0';endif;dout=q;endprocess;13endbehav;时序分析及输出:逻辑电路图:

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功