版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 EDA软件实验实验性质:验证性 实验级别:必做开课单位:信息与通信工程学院通信工程系 学时:4学时一、实验目的:1、了解Xilinx ISE 6.2软件的功能。2、掌握Xilinx ISE 6.2的VHDL输入方法。3、掌握Xilinx ISE 6.2的原理图文件输入和元件库的调用方法。4、掌握Xilinx ISE 6.2软件元件的生成方法和调用方法。5、掌握Xilinx ISE 6.2编译、功能仿真和时序仿真。 6、掌握Xilinx ISE 6.2原理图设计、管脚分配、综合与实现、数据流下载方法。7、了解所编电路器件资源的消耗情况。二、实验器材:计算机、Quartus II软件或Xi
2、linx ISE三、实验内容:本实验以三线八线译码器(LS74138)为例,在Xilinx ISE 6.2软件平台上完成设计电路的VHDL文本输入、语法检查、编译、仿真、管脚分配和编程下载等操作。下载芯片选择Xilinx公司的CoolRunner II系列XC2C256-7PQ208作为目标仿真芯片。四、实验步骤:4.1 Xilinx ISE 6.2环境1、三线八线译码器(LS74138)VHDL电路设计(1)、三线八线译码器(LS74138)的VHDL源程序的输入打开Xilinx ISE 6.2编程环境软件Project Navigator,执行“file”菜单中的【New Project】
3、命令,为三线八线译码器(74LS138)建立设计项目。项目名称【Project Name】为 “Shiyan”,工程建立路径为“C:XilinxbinShiyan”,其中“顶层模块类型(Top-Level Module Type)”为硬件描述语言(HDL),如图1所示。图1点击【Next】,弹出【Select the Device and Design Flow for the Project】对话框,在该对话框内进行硬件芯片选择与工程设计工具配置过程。各标签具体含义如下:l 【Device Family】:定义所选芯片器件族l 【Device】:定义器件名l 【Package】:定义器件封装
4、形式l 【Speed Grade】:定义芯片工作速度等级l 【Top-Level Module Type】:定义顶层模块类型l 【Synthesis Tool】:定义综合工具l 【Simulator】:定义仿真测试工具l 【Generated Simulation Language】:定义硬件描述语言针对本试验所用开发板我们选择 “CoolRunner XPLA3 CPLDs”系列的 “XCR3256XL-7PQ208”器件作为目标芯片进行仿真,如图2所示。图2完成具体选择后点击【Next】弹出对话框,在该对话框内创建文件资源。打开【New Source】标签,弹出如图3所示对话框,在左侧方框
5、中包含了用户可以创建的文件类型,包括以下内容:l 【Schematic】:原理图类型文件l 【State Diagram】:状态图类型文件l 【Test Bench Waveform】:波形类型测试文件l 【User Document】:用户类型文件l 【Verilog Module】:Verilog类型文件l 【Verilog Test Fixture】:Verilog语言描述类型测试文件l 【VHDL Library】:VHDL库文件l 【VHDL Module】:VHDL类型模块文件l 【VHDL Package】:VHDL类型文件封装库l 【VHDL Test Bench】:VHDL语
6、言描述类型测试文件图3在【File】标签下对话框内写入用户自定义的文件名称,标签【Locatior】下显示了新定义文件的创建路径,选中标签【Add to projet】前的对号标记,将新创建的文ls74138添加到工程 “Shiyan”中。点击【Next】,弹出如图4所示对话框,在此对话框中输入三线八线译码器(74LS138)的的端口信息。图4点击【Next】弹出【New Source Information】对话框,在该对话框内显示了新建文件的属性及信息,如图5所示。图5点击【Finish】返回资源创建对话框,其中显示了新建文件“LS74138.vhdl”,如图6。图6点击【Next】弹出工
7、程信息对话框【New Project Information】,该对话框给出了所设计的工程信息,如图7所示。 图7点击【Finish】标签结束新建工程过程。进入Xilinx ISE文本编辑方式,在文本框中编辑输入8位加法器的VHDL源程序,如下图8所示:图8library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- pro
8、vided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity ls74138 is Port ( G1 : in std_logic; G2 : in std_logic; INP : in std_logic_vector(2 downto 0); Y : out std_logic_vector(7 downto 0);end ls74138;architecture Behavioral of ls74138 isbeginprocess(G1,
9、G2,INP)begin if(G1 and G2)=1) then case inp is when 000=YYYYYYYYY=; end case; else Y G1,G2 = G2,INP = INP,Y = Y );- * Test Bench - User Defined Section *u1:PROCESS BEGIN G1=0; wait for 10 us; G1=1; wait for 90 us; G1=0; wait; END PROCESS u1;u2:PROCESS BEGIN G2=0; wait for 10 us; G2=1; wait for 90 us
10、; G2=0; wait; END PROCESS u2;u3:PROCESS BEGIN INP=000; wait for 20 us; INP=001; wait for 10 us; INP=010; wait for 10 us; INP=011; wait for 10 us; INP=100; wait for 10 us; INP=101; wait for 10 us; INP=110; wait for 10 us; INP【Run】-【Restart】,将仿真时间点置零。在【transcript】窗口中输入仿真时间。在波形【Wave】窗口内使用按钮实现仿真图的“放大”“缩
11、小”“全局”功能。图11即为电路仿真结果,由图中时序及逻辑关系可知该三线八线译码器行为仿真正常。图11实验二 组合逻辑电路的VHDL语言实现实验性质:验证性 实验级别:必做开课单位:信息与通信工程学院通信工程系 学时:2学时一、实验目的:1、掌握VHDL语言设计基本单元及其构成2、掌握用VHDL语言设计基本的组合逻辑电路的方法。3、掌握VHDL语言的主要描述语句。二、实验器材:计算机、Quartus II软件或Xilinx ISE三、实验内容:1、本实验以1位全加器为例,在Xilinx ISE软件平台上完成设计电路的VHDL文本输入,编辑,编译,仿真。芯片选择Xilinx公司的CoolRunn
12、er XPLA3 CPLDs系列XCR3256XL-7PQ208作为目标仿真芯片。2、用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在Xilinx ISE软件原理图设计平台上完成adder元件的调用。四、实验步骤:(一)、全加器是带进位位信号的加法器,起逻辑表达式为: 。它的真值表如表1所示,其中和为加数与被加数,是输入的进位位信号,而是和数,是输出进位位信号。表1 输入输出0000000110010100110110010101011100111111一)1位加法器的VHDL源程序参考如下:library IEEE;use IEEE.STD_LOGIC_1164.ALL;
13、use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;- Uncomment the following lines to use the declarations that are- provided for instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity adder is Port ( a : in std_logic; b : in std_logic; cin : in std_lo
14、gic; sum : out std_logic; cout : out std_logic);end adder;architecture Behavioral of adder isbegin sum = (a xor b) xor cin; cout a,b = b,cin = cin,sum = sum,cout = cout); u1: PROCESS BEGIN a=0; wait for 10 us; a=1; wait for 20 us; a=0; wait for 10 us; a=1; wait for 10 us; a=0; wait for 20 us; a=1; w
15、ait for 10 us; a=0; wait for 10 us; a=1; wait; END PROCESS u1; u2:processbegin b=1;wait for 10 us;b=0;wait for 10 us;b=1;wait for 10 us;b=0;wait for 10 us;b=1;wait for 20 us;b=0;wait for 10 us;b=1;wait for 10 us;b=0;wait for 20 us;b=1;wait; END PROCESS u2; u3: process begin cin=0; wait for 40 us;cin
16、=1;wait for 20 us;cin=0; wait;end process u3;END behavior;二)用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在Xilinx ISE软件原理图设计平台上完成adder元件的调用,在processer for Source:”adder”窗口点击Create Schematic Symbol,生成adder的元件,在Sources in Project 窗口新建Schematic 文件 命名adder8 ,在Xilinx ECS平台上点Symbols,仿真结果如下图:(二)、用VHDL语言实现优先编码器的设计并实现功能仿
17、真优先计编码器常用于中断的优先级控制,以8输入,3位二进制输出的优先级编码器为例,当其中一个输入有效时,就可以输出一个对应得3位二进制编码。另外,当同时有几个输入有效时,将输出优先级最高的那个输入所对应得二进制编码。其真值表如下所示:表2 优先编码器真值表输入二进制编码输出Input7Input6Input5Input4Input3Input2Input1Input0Y2Y1Y0xxxxxxx0111xxxxxx01110xxxxx011101xxxx0111100xxx01111011xx011111010x0111111001x1111111000用VHDL语言实现优先编码器的设计并实现功
18、能仿真验证其功能。参考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY priorityencoder IS PORT (input:IN STD_LOGIC_VECTOR (7 DOWNTO 0); y:OUT STD_LOGIC_VECTOR (2 DOWNTO 0);END priorityencoder;ARCHITECTURE rt1 OF priorityencoder ISBEGIN PROCESS (input) BEGIN IF(input(0)=0) THEN y=111; ELSIF(input(1)=0) THEN
19、 y=110; ELSIF(input(2)=0) THEN y=101; ELSIF(input(3)=0) THEN y=100; ELSIF(input(4)=0) THEN y=011; ELSIF(input(5)=0) THEN y=010; ELSIF(input(6)=0) THEN y=001; ELSE y input,y = y);- * Test Bench - User Defined Section * tb : PROCESS BEGIN input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10
20、us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us;input=;wait for 10 us; END PROCESS tb;- * End Test Bench - User Defined Section *END behavior;仿真图如下:(三)、用VHDL语言实现四选一选择器的设
21、计并实现功能仿真。选择器常用于信号的切换,四选一选择器可以用于4路信号的切换。其真值表如下所示: 表3 四选一真值表选择输入数据输入数据输出baInput0Input1Input2Input3y000xxx0001xxx101x0xx001x1xx110xx0x010xx1x111xxx0011xxx11用VHDL语言实现四选一选择器的设计并实现功能仿真。参考程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 IS PORT (input:IN STD_LOGIC_VECTOR (3 DOWNTO 0); a,b:IN STD_L
22、OGIC; y:OUT STD_LOGIC);END mux4;ARCHITECTURE rt1 OF mux4 ISSIGNAL se1:STD_LOGIC_VECTOR (1 DOWNTO 0);BEGIN se1=b&a; PROCESS (input,se1) BEGIN IF(se1=00)THEN y=input(0); ELSIF(se1=01)THEN y=input(1); ELSIF(se1=10)THEN y=input(2); ELSE y input,a = a,b = b,y = y);- * Test Bench - User Defined Section *u
23、1: PROCESS BEGIN a=0;wait for 30 us;a=1;wait for 30 us;a=0;wait for 10 us;a=1;wait; END PROCESS u1;u2: process begin b=0; wait for 20 us; b=1; wait for 40 us; b=0; wait for 10 us; b=1; wait for 10 us; b=0; wait; end process u2;u3: process begin input=1101; wait for 20 us; input=1010; wait for 20 us;
24、 input=0111; wait for 40 us; input=0001; wait ; end process u3; - * End Test Bench - User Defined Section *END behavior;仿真结果如下图:五、实验心得 本次实验初步了解Xilinx ISE系统,对其命令的操作方式进行了初步的了解。实验三 时序逻辑电路的VHDL语言实验实验性质:验证性 实验级别:必做开课单位:信息与通信工程学院通信工程系 学时:2学时一、实验目的:1、掌握用VHDL语言设计基本的时序逻辑电路及仿真。 2、掌握VHDL顺序语句和并行语句的异同3、掌握触发器同步复位
25、和异步复位的实现方式。4、掌握软件时钟的加入方法。5、掌握信号和变量的主要区别。二、实验器材:计算机、Quartus II软件或Xilinx ISE三、实验内容:1、设计带使能的递增计数器2、在步骤1的基础上设计一带使能的同步(异步)复位的递增(递减)计数器3、在步骤1的基础上设计同步(异步)清零的同步(异步)复位的递增(递减)计数器四、实验步骤:1、设计带使能的递增计数器。2、在步骤1的基础上设计一带使能的同步复位的递增计数器并实现时序仿真。3、在步骤1的基础上用信号设计一带使能的同步复位的递增计数器并实现时序仿真。4、用变量设计一带使能的同步复位的可增可减计数器并实现时序仿真,比较信号和变
26、量的不同。5、在步骤1的基础上设计异步清零的异步清零的递增(递减)计数器,和步骤二中同步设计比较,清零信号和时钟信号位置不同时仿真结果有何不同,同时理解VHDL语言顺序语句和并行语句的区别。6、测试向量设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ycounter is port(clk,clear,ld,enable:in std_logic; d:in std_logic_vector(7 downto 0); qk:out std_logic_vector(7 downt
27、o 0);end ycounter;architecture a_ycounter of ycounter isbegin PROCESS (clk) VARIABLE cnt :std_logic_vector(7 downto 0); BEGIN IF (clkEVENT AND clk = 1) THEN IF(clear = 0) THEN cnt := ; ELSE IF(ld = 0) THEN cnt := d; ELSE IF(enable = 1) THEN cnt := cnt + ; END IF; END IF; END IF; END IF; qk clk,clear
28、 = clear,ld = ld,enable = enable,d = d,qk = qk);- * Test Bench - User Defined Section *u1 : PROCESS BEGIN clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1
29、;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait for clk_cycle/2;clk=0;wait for clk_cycle/2;clk=1;wait ; END PROCESS u1;u2: process begin clear=0; wait for clk_cycle; clear=1; wait;
30、 end process;u3: process begin ld=1; wait for clk_cycle*6; ld=0; wait ; end process u3;u4: process begin enable=1; wait ; end process u4;u5: process begin d=; wait; end process u5; - * End Test Bench - User Defined Section *END behavior;仿真图图下:实验四 VHDL层次化设计方法实验实验性质:验证性 实验级别:必做开课单位:信息与通信工程学院通信工程系 学时:2
31、学时一、实验目的:1、掌握用VHDL语言层次化设计的基本方法。 2、掌握GENERATE语句的用法。二、实验器材:计算机、Quartus II软件或xilinx ISE三、实验内容:设计一8位异步计数器,它的上一位计数器的输出作为下一位计数器的时钟信号,一级一级串行连接构成一个异步计数器。各个D触发器模块采用VHDL语言编写,分别用原理图和VHDL语言元件例化语句的方法实现8位异步计数器的设计。四、实验步骤:(一)、在原理图中调用VHDL生成的D触发器模块实现8位异步计数器的设计 1、在xilinx ISE环境中新建vhdl文本编辑文件,设计带清零端的D触发器并编译仿真。 2、将步骤1所设计的D触发器生成一个元件。(二)、用VHDL的COMPONENT语句调用VHDL生成的D触发器模块实现8位异步计数器设计。 1、在xilinx ISE环境中新建vhdl文本编辑文件,设计带清零端的D触发器并编译仿真。2、在同一个程序中用COMPONENT语句实现8位异步计数器的设计。library IEE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 牛奶项目运营方案
- 2026年《中华人民共和国劳动争议调解仲裁法》知识竞赛试卷及答案
- 非煤矿山企业安全管理员检修维修安全操作规程
- 危险货物押运试题专项测试题及答案
- 指挥中心设计方案
- 掌握高分逻辑初中地理环境保护思维暑假思维提升复习课
- 掌握高分逻辑|初中英语写作句式打磨提升课
- 2026年智能能源行业创新报告
- 2026年验孕棒行业发展行业报告
- 2026年智能化安装工程服务行业商业计划书
- 2026河北赢拓教育科技集团产教融合学院招聘教师20人考试模拟试题及答案详解
- 2026年一建市政实务考前考点梳理卷试卷及答案
- 废气处理设备安装施工工艺及施工方法
- 2026年一级建筑师继续教育考试培训考核试题及答案
- 十二指肠非壶腹部表浅肿瘤内镜治疗进展总结2026
- 幼升小语文《暑假作业》每日一练小纸条30天
- 2026年医疗器械经营监督管理办法培训试题(+答案)
- 压力管道施工方案编制内容
- 2026安徽安庆市潜山市天柱山人才服务有限公司招聘劳务派遣人员2人考试参考题库及答案详解
- 2026届上海浦东新区九年级化学中考三模原创仿真模拟试卷(含答案详解与评分标准)第884套
- 雨课堂学堂在线学堂云《中国马克思主义与当代(北京航空航天)》单元测试考核答案
评论
0/150
提交评论