电子设计自动化实验指导书_第1页
电子设计自动化实验指导书_第2页
电子设计自动化实验指导书_第3页
电子设计自动化实验指导书_第4页
电子设计自动化实验指导书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录实验一:vhdl组合逻辑电路设计3实验二:vhdl时序逻辑电路设计10实验三:vhdl下状态机电路设计12实验四:简易数字频率计设计14实验五:交通灯信号控制器设计17实验六:电子密码锁19实验一:vhdl组合逻辑电路设计一、实验目的1、熟悉quartusii软件的使用,熟练进行程序输入、综合、仿真。2、熟悉实验箱硬件资源的使用,熟练进行引脚锁定和硬件测试,掌握eda技术设计流程,掌握数字逻辑电路设计的方法;3、学习简单数字逻辑电路的设计、仿真和硬件测试。二、实验内容1、设计四选一多路选择器,利用quartusii软件完成程序输入、综合和仿真验证,给出仿真波形并进行结果分析。2、利用gw

2、48 eda实验系统完成硬件测试,验证本项目设计的功能,记录引脚设置和测试结果。三、实验原理、方法和手段多路选择器可以从多组数据源中选取一组送入目的地,应用相当广泛,从组合逻辑的执行到数据路径的选择,经常可以看到它的踪影。多路选择器的结构是个输入数据对应n个数据输出选择控制线和一个输出线。在vhdl中描述一个多路选择器的方法有多种,例如:在一个进程中使用if-then-else语句;在一个进程中使用case语句;使用选择信号带入语句或条件信号代入语句(when-else语句)。推荐使用when-else语句,如:library ieee;use ieee.std_logic_1164.all;

3、use ieee.std_logic_unsigned.all;entity mux41 is port (data0, data1, data2, data3: in std-logic_vector (3 downto 0); a, b: in std_logic; y: out std-logic_vector (3 downto 0)end entity mux41 architecture art of mux41 issignal sel: std_logic_vector (1 downto 0);begin sel<=b&a;y<=data0 when se

4、l=”00” else data1 when sel=”01” elsedata2 when sel=”10” elsedata3 when sel=”11” else“0000”;end architecture art;五、实验条件1、提供一台具有windows 2000/xp操作系统的计算机;2、提供quartusii软件开发环境。六、实验步骤1. 前期准备,首先新建一个工作库目录文件夹,如f:/mywork,便于存储工程项目。此文件夹在后面操作中将被软件默认为工作库,不同的设计项目最好放在不同的文件夹中,同一工程的所有文件必须放在同一文件夹中。再双击桌面图标“quartusii 7.2

5、”进入quartusii软件用户界面。2. 编辑设计文件(vhdl文本输入法)选择file | new,在new窗口中的device design files中选择设计文件类型为vhdl file,确认后将打开vhdl文本编辑器,输入所设计的四选一多路选择器的源程序,并选择file | save命令进行存盘,存储在如f:/mywork文件夹中,存储的文件名应与实体名相同,如mux41.vhd。3. 创建工程项目1) 在file菜单中选择new project wizard项,将出现工程项目建立向导对话框。2) 首先出现的对话框中,在最上面的文本输入框中输入项目所在的目录名(f:/mywork)

6、,在中间的文本输入框中输入项目名称(mux41,也可以用其他名称),在最下面的文本输入框中输入最顶层模块的名称(mux41,必须是最顶层模块的实体名)。3) 点击“next”,进入到设计文件选择对话框,添加与工程相关的所有vhdl文件。本例中只有一个mux41.vhd。4) 点击“next”,进入到器件选择对话框,在“family”下拉菜单中选择“cyclone”,在“available devices”列表栏中选择“ep1c6t240c8“(根据实验箱硬件资源选取)。5) 点击“next”进入到第三方eda工具选择对话框,在这个界面我们可以选择第三方的综合工具、仿真工具和时延分析工具。由于在

7、本例中我们的综合、仿真和时延分析都采用quartus ii内置的工具,所以在这个页面不作任何选择。6) 点击“next”进入到 “summary”对话框,在这个窗口列出了前面所作设置的全部信息。点击“finish”完成工程项目建立过程,回到主窗口。4. 编译前设置,可参考教材第五章,本实验可省略这些操作。5. 编译综合 选择菜单processing | start compilation,启动全程编译。注意下方processing栏中的编译信息,深红色标记条即为文件中的错误,修改后再次编译直至排除所有的错误。编译成功后,可在界面各栏中参看编译与分析结果的详细信息。6. 时序仿真在做仿真之前,必

8、须要先建立波形激励文件,具体步骤如下:1) 打开波形编辑器,选择file | new,选择new窗口中的“other files”中 “vector waveform file”项后选择“ok”。2) 设置仿真时间区域,选择菜单edit | end time,在弹出的对话框中输入时间和单位(如50,us)。3) 导入端口信号名,首先选择view| utility windows| node finder,在弹出框中filter栏下选择pin:all,在单击list按钮,将显示本设计中所有的端口引脚名,再将所需要的各端口信号拖入到波形编辑器,完成后关闭nodes found窗口。4) 编辑输入波

9、形,并保存。利用波形编辑器工具栏提供的工具为输入信号赋值,工具栏中主要按钮的功能介绍如下: 放大和缩小工具:利用鼠标左键放大/右键缩小显示仿真波形区域; 全屏显示:全屏显示当前波形编辑器窗口; 赋值“0”:对某段已选中的波形,赋值0,即强0; 赋值“1”:对某段已选中的波形,赋值1,即强1; 时钟赋值:为周期性时钟信号赋值; 十进制、十六进制等数值赋值。 选择file | save as,以默认名存盘。5) 仿真参数设置,选择assignment | settings,在settings窗口下选择category| simulator settings,在右侧的simulation mode项

10、下选择timing(时序仿真),simulation input栏中选中前面设计好的波形文件(默认)。6) 启动仿真器,选择processing | start simulation,直到出现simulate was successful,仿真结束。7) 观察并记录仿真结果。7硬件测试先要将程序中输入输出信号和实验箱芯片的引脚进行锁定,再编译后下载,完成硬件测试。根据附录,选择适当的电路模式(如no.5)。1)选择tools菜单中的assignments项,进入assignment editor编辑器窗。在category栏中选择pin,或直接单击右上侧的pin按钮。2)双击“to”栏的new

11、,在出现的下拉栏中分别选择本工程要锁定的端口信号;再双击location栏new,通过查阅附录“gw48-eda芯片引脚对照表”选择好对应端口号的器件引脚号,3)重新保存文件,再编译(启动start compilation)一次,才能将引脚锁定信息编译进编程下载文件中。4)首先将实验系统和usb通信线连接上电脑,打开电源,安装好驱动文件。驱动文件默认在安装路径c:alteraquartus72driveusb-blaster下。5)打开编程窗口,选择菜单tools中programmer。mode栏中选择编程模式jtag(默认)。核实文件路径和文件名,可单击左侧add file按钮手动选择配置文

12、件。6)设置编程器,单击上图界面中左上角hardware setup按钮,在弹出对话框中,选择hardware setting页,选好合适的下载方式(如,usb-blaster)。可点击add hardware按钮,添加下载方式。关闭对话框。7)单击star按钮,进入配置文件的下载操作。当progress显示100%,表示编程下载成功。8)下载成功后,操作实验箱各按键,进行硬件测试,观察和记录实验结果。七、思考题 除了使用选择信号带入语句或条件信号代入语句(when-else语句)实现四选一选择器,还有其他很多方法,试列写12种实现方法。八、实验报告撰写要求1、撰写实验预习报告,包含实验目的、

13、实验内容,并根据实验内容撰写相关的实验原理和实验程序;完成思考题。以备实验前检查。2、记录仿真波形,完成仿真结果的详细分析。3、整理硬件测试记录,验证本项目的功能。4、撰写实验心得,简述在实验过程中出现的问题,是何原因以及如何解决的。实验二:vhdl时序逻辑电路设计一、实验目的1、熟悉十进制加法计数器的原理与功能应用;2、学习计数器的设计、仿真和硬件测试;3、进一步掌握多层次电路设计、仿真和硬件测试。二、实验内容 1、程序设计一个带异步清零、同步时钟使能和并行置数的十进制加法计数器,再通过quartusii软件进行编辑输入、综合、仿真和硬件测试。 2、采用多层次电路设计方法,设计一个数字时钟,

14、再进行仿真和硬件测试。三、实验原理、方法和手段计数器是在数字系统中使用最多的时序电路,它不仅能用于对时钟脉冲计数,还可以用于分频、定时、进行数字运算等。十进制计数器有控制线4个,清零信号clrn、时钟使能信号en、置数信号load、时钟信号clk;并行数据输入线4个d3、d2、d1、d0;数据输出线4位:q3、q2、q1、q0;输出进位线端口1个 c0。真值表如下:clkclrnloadend3.0q3.0d3d2d1d0q3q2q1q00xxxxxx000010xd3d2d1d0d3d2d1d0110xxxxq(不变)111xxxx计数library ieee;use ieee.std_lo

15、gic_1164.all;use ieee.std_logic_unsigned.all;entity cnt10 is port (clk,rst,en : in std_logic; cq : out std_logic_vector(3 downto 0); cout : out std_logic ); end cnt10;architecture behav of cnt10 isbegin process(clk, rst, en) variable cqi : std_logic_vector(3 downto 0); begin if rst = 1 then cqi := (

16、others =>0) ; -计数 器异步复位 elsif clkevent and clk=1 then -检测时钟上升沿if en = '1' then -检测是否允许计数(同步使能) if cqi < 9 then cqi := cqi + 1; -允许计数, 检测是否小于9 else cqi := (others =>0); -大于9, 计数值清零 end if; end if; end if; if cqi = 9 then cout <= '1' -计数大于9,输出进位信号 else cout <= '0'

17、; end if; cq <= cqi; -将计数值向端口输出 end process;end behav; 两位十进制计数器可由2个十进制计数器级联构成,个位计数器的进位输出信号作为十位计数器的时钟驱动信号即可。数字时钟实际上是对一个标准1hz秒脉冲信号进行计数的计数器,秒计数器满60后向分计数器进位,分计数器满60后向时计数器进位,时计数器按24进制计数器规律计数,各计数器的数值经译码器送led显示。提示:分别设计带清零和时钟控制的2个模60计数器和1个模24计数器,按照串行进位的关系连接即可实现一个简易的数字时钟;五、实验条件1、提供一台具有windows 2000/xp操作系统的

18、计算机;2、提供quartusii软件开发环境。六、实验步骤 操作步骤参见实验一,这里不在详述。七、思考题 60/24进制的2位数十进制计数器除了用2个一位数十进制计数器串接实现之外,怎样用其他方法实现?八、实验报告撰写要求1、撰写实验预习报告,包含实验目的、实验内容,并根据实验内容撰写相关的实验原理和实验程序;完成思考题。以备实验前检查。2、记录仿真波形,完成仿真结果的详细分析。3、整理硬件测试记录,验证本项目的功能。4、撰写实验心得,简述在实验过程中出现的问题,是何原因以及如何解决的。实验三:vhdl下状态机电路设计一、实验目的1、进一步熟悉序列检测器的原理;2、学习用状态机实现序列检测器

19、的设计,掌握一般状态机的设计与应用;3、进一步熟悉quartusii的使用,掌握多层次电路的设计、仿真和硬件测试。二、实验内容 1、设计一个序列检测器,检测“11100101”序列,给出设计方案(包括状态图)和源程序,完成软件仿真和硬件测试。2、 利用实验系统中adc0809芯片,用状态机方式实现数据采集。library ieee ;use ieee.std_logic_1164.all;entity schk is port(din,clk,clr : in std_logic; -串行输入数据位/工作时钟/复位信号 ab : out std_logic_vector(3 downto 0)

20、; -检测结果输出end schk;architecture behav of schk is signal q : integer range 0 to 8 ; signal d : std_logic_vector(7 downto 0); -8位待检测预置数(密码=e5h)begin d <= "11100101 " ; -8位待检测预置数 process( clk, clr ) begin if clr = '1' then q <= 0 ; els if clk'event and clk='1' then -时

21、钟到来时,判断并处理当前输入的位 case q is when 0=> if din = d(7) then q <= 1 ; else q <= 0 ; end if ; when 1=> if din = d(6) then q <= 2 ; else q <= 0 ; end if ; when 2=> if din = d(5) then q <= 3 ; else q <= 0 ; end if ; when 3=> if din = d(4) then q <= 4 ; else q <= 0 ; end if

22、 ; when 4=> if din = d(3) then q <= 5 ; else q <= 0 ; end if ; when 5=> if din = d(2) then q <= 6 ; else q <= 0 ; end if ; when 6=> if din = d(1) then q <= 7 ; else q <= 0 ; end if ; when 7=> if din = d(0) then q <= 8 ; else q <= 0 ; end if ; when others => q &

23、lt;= 0 ; end case ; end if ; end process ; process( q ) -检测结果判断输出 begin if q = 8 then ab <= "1010" ; -序列数检测正确,输出 “a” else ab <= "1011" ; -序列数检测错误,输出 “b” end if ; end process ;end behav ; 三、实验原理、方法和手段序列检测器可用于检测一组或者多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,

24、否则输出0。这就要求检测器必须记住前一次的正确的代码及正确序列,直到在连续的检测中所收到的每一位码都与预置的对应码相同。提示:本实验中要求检测“11100101”序列,电路需要分别记忆:初始状态、1、11、111、1110、11100、111001、1110010、11100101共9种状态。先构造序列检测器的状态图,再使用状态机进行程序设计。adc0809 的采样控制原理已在教材中作了详细说明。adc0809是cmos 的8 位a/d转换器,片内有8 路模拟开关,可控制8个模拟量中的一个进入转换器中。转换时间约100s,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5v电源供电。主要控制

25、信号如下图所示:start 是转换启动信号,高电平有效;ale 是3 位通道选择地址(addc、addb、adda)信号的锁存信号。当模拟量送至某一输入端(如in1 或in2 等),由3 位地址信号选择,而地址信号由ale锁存;eoc是转换情况状态信号,当启动转换约100s 后,eoc产生一个负脉冲,以示转换结束;在eoc的上升沿后,若使输出使能信号oe 为高电平,则控制打开三态缓冲器,把转换好的8 位数据结果输至数据总线,至此adc0809 的一次转换结束。四、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生拟定实验方案,编写完整的实验程序;3、学生严格遵守实验

26、室的各项规章制度,注意人身和设备安全,服从管理;4、教师在学生实验过程中予以必要的辅导,帮助学生独立完成实验;5、采用开放运行方式。五、实验条件1、提供一台具有windows 2000/xp操作系统的计算机;2、提供quartusii软件开发环境。六、实验步骤 学生自行进行设计方案,写出实验程序,在quartusii软件上进行仿真验证,软件操作步骤参见library ieee;use ieee.std_logic_1164.all;entity jtdkz is port (clk,sm,sb: in std_logic; mr,my,mg,br,by,bg: out std_logic);e

27、nd entity jtdkz;architecture art of jtdkz istype state_type is(a,b,c,d);signal state: state_type;begincnt: process(clk) isvariable s: integer range 0 to 45;variable clr, en: bit;beginif(clk'event and clk='1')thenif clr='0' then s:= 0;elsif en='0' then s:=s;else s:=s+1;end

28、 if;case state iswhen a=>mr<='0'my<='0' mg<='1'br<='1'by<='0'bg<='0'if(sb and sm)='1'thenif s=45 then state<=b;clr:='0'en:='0'else state<=a;clr:='1'en:='1'end if;elsif(sb and (not sm)=&

29、#39;1'then state<=b;clr:='0'en:='0'else state<=a;clr:='1'en:='1'end if;when b=>mr<='0'my<='1'mg<='0'br<='1'by<='0'bg<='0'if s=5 then state<=c;clr:='0'en:='0'else state<

30、;=b;clr:= '1'en:= '1'end if;when c=>mr<='1'my<='0'mg<='0' br<='0'by<='0'bg<='1'if(sm and sb)='1'thenif s=25 then state<=d;clr:='0'en:='0'else state<=c;clr:='1'en:='1'end

31、 if;elsif sb='0'then state<=d;clr:='0'en:='0'else state<=c;clr:='1'en:='1'end if;when d=>mr<='1'my<='0' mg<='0'br<='0'by<='1'bg<='0'if s=5 then state<=a;clr:='0'en:='0

32、9;else state<=d;clr:='1'en:='1'end if;end case;end if;end process cnt;end architecture art;5s计时器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt05s isport(clk, en05m, en05b: in std_logic; dout5: out std_logic_vector(7 downto 0);end entity cnt05

33、s;architecture art of cnt05s issignal cnt3b: std_logic_vector(2 downto 0);beginprocess(clk,en05m,en05b) isbeginif(clk'event and clk='1')thenif en05m='1' or en05b='1' thencnt3b<=cnt3b+1;elsecnt3b<="000"end if;end if;end process;process(cnt3b)isbegincase cnt

34、3b iswhen "000"=>dout5<="00000101"when "001"=>dout5<="00000100"when "010"=>dout5<="00000011"when "011"=>dout5<="00000010"when "100"=>dout5<="00000001"when others=>dout

35、5<="00000000"end case;end process;end architecture art;45s计时器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt45s isport(sb,clk,en45:in std_logic; dout45m,dout45b: out std_logic_vector(7 downto 0);end entity cnt45s;architecture art of cnt45s issignal

36、cnt6b: std_logic_vector(5 downto 0);beginprocess(sb, clk, en45)isbeginif sb='0' then cnt6b<=cnt6b-cnt6b-1;elsif(clk'event and clk='1')thenif en45='1'then cnt6b<=cnt6b+1;elsif en45='0'then cnt6b<=cnt6b-cnt6b-1;end if;end if;end process;process(cnt6b) isbeg

37、incase cnt6b iswhen"000000"=>dout45m<="01000101"dout45b<="01010000"when"000001"=>dout45m<="01000100"dout45b<="01001001"when"000010"=>dout45m<="01000011"dout45b<="01001000"when"00

38、0011"=>dout45m<="01000010"dout45b<="01000111"when"000100"=>dout45m<="01000001"dout45b<="01000110"when"000101"=>dout45m<="01000000"dout45b<="01000101"when"000110"=>dout45m<=

39、"00111001"dout45b<="01000100"when"000111"=>dout45m<="00111000"dout45b<="01000011"when"001000"=>dout45m<="00110111"dout45b<="01000010"when"001001"=>dout45m<="00110110"dout45b

40、<="01000001"when"001010"=>dout45m<="00110101"dout45b<="01000000"when"001011"=>dout45m<="00110100"dout45b<="01101000"when"001100"=>dout45m<="00110011"dout45b<="00111000"wh

41、en"001101"=>dout45m<="00110010"dout45b<="00110111"when"001110"=>dout45m<="00110001"dout45b<="00110110"when"001111"=>dout45m<="00110000"dout45b<="00110101"when"010000"=>do

42、ut45m<="00101001"dout45b<="00110100"when"010001"=>dout45m<="00101000"dout45b<="00110011"when"010010"=>dout45m<="00100111"dout45b<="00110010"when"010011"=>dout45m<="00100110&qu

43、ot;dout45b<="00110001"when"010100"=>dout45m<="00100101"dout45b<="00110000"when"010101"=>dout45m<="00100100"dout45b<="00101001"when"010110"=>dout45m<="00100011"dout45b<="001010

44、00"when"010111"=>dout45m<="00100010"dout45b<="00100111"when"011000"=>dout45m<="00100001"dout45b<="00100110"when"011001"=>dout45m<="00100000"dout45b<="00100101"when"011010&qu

45、ot;=>dout45m<="00011001"dout45b<="00100100"when"011011"=>dout45m<="00011000"dout45b<="00100011"when"011100"=>dout45m<="00010111"dout45b<="00100010"when"011101"=>dout45m<="0

46、0010110"dout45b<="00100001"when"011110"=>dout45m<="00010101"dout45b<="00100000"when"011111"=>dout45m<="00010100"dout45b<="00011001"when"100000"=>dout45m<="00010011"dout45b<=&q

47、uot;00011000"when"100001"=>dout45m<="00010010"dout45b<="00010111"when"100010"=>dout45m<="00010001"dout45b<="00010110"when"100011"=>dout45m<="00010000"dout45b<="00010101"when"

48、;100100"=>dout45m<="00001001"dout45b<="00010100"when"100101"=>dout45m<="00001000"dout45b<="00010011"when"100110"=>dout45m<="00000111"dout45b<="00010010"when"100111"=>dout45m&l

49、t;="00000110"dout45b<="00010001"when"101000"=>dout45m<="00000101"dout45b<="00010000"when"101001"=>dout45m<="00000100"dout45b<="00001001"when"101010"=>dout45m<="00000011"dout

50、45b<="00001000"when"101011"=>dout45m<="00000010"dout45b<="00000111"when"101100"=>dout45m<="00000001"dout45b<="00000110"when others=>dout45m<="00000000"dout45b<="00000000"end case;e

51、nd process;end architecture art;60s计时器程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt25s isport(sb,sm,clk,en25: in std_logic; dout25m,dout25b: out std_logic_vector(7 downto 0);end entity cnt25s;architecture art of cnt25s issignal cnt5b: std_logic_vector(4 downto

52、 0);beginprocess(sb,sm,clk,en25) isbeginif sb='0' or sm='0' thencnt5b<=cnt5b-cnt5b-1;elsif(clk'event and clk='1')thenif en25='1'thencnt5b<=cnt5b+1;elsif en25='0'thencnt5b<=cnt5b-cnt5b-1;end if;end if;end process;process(cnt5b) isbegincase cnt5b is

53、when "00000"=>dout25b<="00100101"dout25m<="00110000"when "00001"=>dout25b<="00100100"dout25m<="00101001"when "00010"=>dout25b<="00100011"dout25m<="00101000"when "00011"=>

54、dout25b<="00100010"dout25m<="00100111"when "00100"=>dout25b<="00100001"dout25m<="00100110"when "00101"=>dout25b<="00100000"dout25m<="00100101"when "00110"=>dout25b<="00011001&

55、quot;dout25m<="00100100"when "00111"=>dout25b<="00011000"dout25m<="00100011"when "01000"=>dout25b<="00010111"dout25m<="00100010"when "01001"=>dout25b<="00010110"dout25m<="0010

56、0001"when "01010"=>dout25b<="00010101"dout25m<="00100000"when "01011"=>dout25b<="00010100"dout25m<="00011001"when "01100"=>dout25b<="00010011"dout25m<="00011000"when "01101&

57、quot;=>dout25b<="00010010"dout25m<="00010111"when "01110"=>dout25b<="00010001"dout25m<="00010110"when "01111"=>dout25b<="00010000"dout25m<="00010101"when "10000"=>dout25b<="

58、;00001001"dout25m<="00010100"when "10001"=>dout25b<="00001000"dout25m<="00010011"when "10010"=>dout25b<="00000111"dout25m<="00010010"when "10011"=>dout25b<="00000110"dout25m<=

59、"00010001"when "10100"=>dout25b<="00000101"dout25m<="00010000"when "10101"=>dout25b<="00000100"dout25m<="00001001"when "10110"=>dout25b<="00000011"dout25m<="00001000"when &q

60、uot;10111"=>dout25b<="00000010"dout25m<="00000111"when "11000"=>dout25b<="00000001"dout25m<="00000110"when others=>dout25b<="00000000"dout25m<="00000000"end case;end process;end architecture art;显示控

61、制library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_1164.all;entity xskz isport(en45,en25,en05m,en05b: in std_logic; ain45m,ain45b:in std_logic_vector(7 downto 0); ain25m,ain25b,ain05: in std_logic_vector(7 downto 0); doutm,doutb: out std_logic_vector(7 downto 0);end entity xskz;architectur

62、e art of xskz isbeginprocess(en45,en25,en05m,en05b,ain45m,ain45b,ain25m,ain25b,ain05)isbeginif en45='1'thendoutm<=ain45m(7 downto 0);doutb<=ain45b(7 downto 0);elsif en05m='1'thendoutm<=ain05(7 downto 0);doutb<=ain05(7 downto 0);elsif en25='1'thendoutm<=ain25m(7

63、 downto 0);doutb<=ain25b(7 downto 0);elsif en05b='1'thendoutm<=ain05(7 downto 0);doutb<=ain05(7 downto 0);end if;end process;end architecture art;实验一,这里不在详述。七、思考题 采用状态码直接输出型状态机,应该怎样实现?写出实现方案。八、实验报告1、撰写实验预习报告,包含实验目的、实验内容,并根据实验内容撰写相关的实验原理和实验程序;完成思考题。以备实验前检查。2、记录仿真波形,完成仿真结果的详细分析。3、整理硬件

64、测试记录,验证本项目的功能。实验四:简易数字频率计设计一、实验目的1、熟悉简易频率计的工作原理;2、学习频率计的分析、设计方法,学习较复杂系统的eda设计方法;3、进一步掌握多层次电路的设计、仿真和硬件测试。二、实验内容1、设计一个2位频率计,对待测信号的频率(099hz)进行测量、显示,给出设计方案,并进行仿真和硬件测试,验证设计方案的功能。library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity mult2 is port(clk : in std_logic; ma : in std_logic_vector(11 downto 0); mc : out

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论