![[工学]专用集成电路试验指导书.doc_第1页](http://file.renrendoc.com/FileRoot1/2019-2/22/3498b31c-8ac3-4253-a3aa-6911917db336/3498b31c-8ac3-4253-a3aa-6911917db3361.gif)
![[工学]专用集成电路试验指导书.doc_第2页](http://file.renrendoc.com/FileRoot1/2019-2/22/3498b31c-8ac3-4253-a3aa-6911917db336/3498b31c-8ac3-4253-a3aa-6911917db3362.gif)
![[工学]专用集成电路试验指导书.doc_第3页](http://file.renrendoc.com/FileRoot1/2019-2/22/3498b31c-8ac3-4253-a3aa-6911917db336/3498b31c-8ac3-4253-a3aa-6911917db3363.gif)
![[工学]专用集成电路试验指导书.doc_第4页](http://file.renrendoc.com/FileRoot1/2019-2/22/3498b31c-8ac3-4253-a3aa-6911917db336/3498b31c-8ac3-4253-a3aa-6911917db3364.gif)
![[工学]专用集成电路试验指导书.doc_第5页](http://file.renrendoc.com/FileRoot1/2019-2/22/3498b31c-8ac3-4253-a3aa-6911917db336/3498b31c-8ac3-4253-a3aa-6911917db3365.gif)
已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验一 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软件或xilinx ISE三、实验内容:1、 本实验以三线八线译码器(LS74138)为例,在Xilinx ISE 6.2软件平台上完成设计电路的VHDL文本输入、语法检查、编译、仿真、管脚分配和编程下载等操作。下载芯片选择Xilinx公司的CoolRunner II系列XC2C256-7PQ208作为目标仿真芯片。2、 用1中所设计的的三线八线译码器(LS74138)生成一个LS74138元件,在Xilinx ISE 6.2软件原理图设计平台上完成LS74138元件的调用,用原理图的方法设计三线八线译码器(LS74138),实现编译,仿真,管脚分配和编程下载等操作。四、实验步骤:4.1 Xilinx ISE 6.2环境1、三线八线译码器(74LS138)VHDL电路设计(1)、三线八线译码器(74LS138)的VHDL源程序的输入打开Xilinx ISE 6.2编程环境软件Project Navigator,执行“file”菜单中的【New Project】命令,为三线八线译码器(74LS138)建立设计项目。项目名称【Project Name】为 “Shiyan”,工程建立路径为“C:XilinxbinShiyan”,其中“顶层模块类型(Top-Level Module Type)”为硬件描述语言(HDL),如图1所示。图1点击【下一步】,弹出【Select the Device and Design Flow for the Project】对话框,在该对话框内进行硬件芯片选择与工程设计工具配置过程。各标签具体含义如下:l 【Device Family】:定义所选芯片器件族l 【Device】:定义器件名l 【Package】:定义器件封装形式l 【Speed Grade】:定义芯片工作速度等级l 【Top-Level Module Type】:定义顶层模块类型l 【Synthesis Tool】:定义综合工具l 【Simulator】:定义仿真测试工具l 【Generated Simulation Language】:定义硬件描述语言针对本试验所用开发板我们选择 “CoolRunner2 CPLDs”系列的 “XC2C256-7PQ208”器件作为目标芯片进行仿真,如图2所示。图2完成具体选择后点击【下一步】弹出如图3所示对话框,在该对话框内创建文件资源。图3打开【New Source】标签,弹出如图4所示对话框,在左侧方框中包含了用户可以创建的文件类型,包括以下内容: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语言描述类型测试文件图4在【File】标签下对话框内写入用户自定义的文件名称,标签【Locatior】下显示了新定义文件的创建路径,选中标签【Add to proje】前的对号标记,将新创建的文74ls138添加到工程 “Shiyan”中。点击【下一步】,弹出如图5所示对话框,在此对话框中输入三线八线译码器(74LS138)的的端口信息。图5点击【下一步】弹出【New Source Information】对话框,在该对话框内显示了新建文件的属性及信息,如图6所示。图6点击【完成】返回资源创建对话框,其中显示了新建文件“LS74138.vhdl”,如图7。图7点击【下一步】弹出工程信息对话框【New Project Information】,该对话框给出了所设计的工程信息,如图8所示。 图8点击【完成】标签结束新建工程过程。进入Xilinx ISE文本编辑方式,在文本框中编辑输入8位加法器的VHDL源程序,如下图所示:library 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- provided 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,g2,inp)begin if(g1 and g2)=1) then case inp is when 000=yyyyyyyyy=00000000; end case; else y【Run】-【Restart】,将仿真时间点置零。在【transcript】窗口中输入仿真时间。在波形【Wave】窗口内使用按钮实现仿真图的“放大”“缩小”“全局”功能。图17即为电路仿真结果,由图中时序及逻辑关系可知该三线八线译码器行为仿真正常。图17测试向量参考程序如下:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.numeric_std.ALL;ENTITY ls74138_tb_74138_vhd_tb ISEND ls74138_tb_74138_vhd_tb;ARCHITECTURE behavior OF ls74138_tb_74138_vhd_tb IS COMPONENT ls74138PORT(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 COMPONENT;SIGNAL G1 : std_logic;SIGNAL G2 : std_logic;SIGNAL INP : std_logic_vector( 2 downto 0);SIGNAL Y : std_logic_vector(7 downto 0);BEGINuut: ls74138 PORT MAP(G1 = 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; 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=111; wait; end PROCESS u3;- * End Test Bench - User Defined Section *END behavior ;(4)芯片管脚定义如前所述添加用户定义限制文件,运行【Assign Package Pins】选项卡,Xilinx ISE将弹出管脚分配窗口,在如图19,输入各个端口管脚位置并保存,完成芯片管脚定义。图18 图19(5)编译与综合图20 图21运行【Process for Source】中的【Implement Design】(图20),ISE将自动完成编译并调用内嵌的综合工具XST完成综合过程,运行结果如图21所示。编译通过后即自动生成了电路烧录下载文件(*.jed)以及资源消耗报告,通过该报告即可了解所设计电路的资源消耗情况。图22由图22可知,在三线八线译码器(74LS138)的设计中使用了8个宏单元,9个乘积项,8个寄存器单元,13个用户引脚及5个功能输入块。(5)、编程下载本试验用并行电缆将开发实验平台与计算机接在一起。确认下载电缆连接无误后执行Xilinx ISE的【iMPACT】命令,将三线八线译码器(74LS138)设计文件下载到目标芯片XC2C256-7PQ208中,硬件验证所设计电路功能。2、元件的生成、调用和仿真1、新建原理图文件,命名为 “Sch_LS74138”并添加到工程“Shiyan”中,如图23。点击【下一步】完成原理图文件的创建。在弹出的原理图编辑框内选择【Symbols】标签,在其目录列表内显示了所有可用电路器件,其中包括了我们所设计的LS74138(图24)。图23 图24双击“ls74138”将其放置到原理图编辑区内。点击为器件添加外围端口,如图25所示。图25将原理图文件保存后返回【Xilinx Project Navigator】平台,此时已经将程序所设计的器件“LS74138”配置给了原理图文件“sch_ls74138”,其余电路仿真、管脚配置、编译、综合以及电路下载等过程与文本设计方式一致,在此不在重复说明。五、预习与思考:思考:比较VHDL语言和原理图的设计方法,这两种设计各有哪些优缺点。实验二 组合逻辑电路的VHDL语言实现实验性质:验证性 实验级别:必做开课单位:信息与通信工程学院通信工程系 学时:2学时一、实验目的:1、掌握VHDL语言设计基本单元及其构成2、掌握用VHDL语言设计基本的组合逻辑电路的方法。3、掌握VHDL语言的主要描述语句。二、实验器材:计算机、Quartus II软件或Xilinx ISE三、实验内容:1、本实验以1位全加器为例,在Xilinx ISE软件平台上完成设计电路的VHDL文本输入,编辑,编译,仿真,管脚分配和编程下载等操作。下载芯片选择Xilinx公司的CoolRunner II系列XC2C256-7PQ208作为目标仿真芯片。2、用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在Xilinx ISE软件原理图设计平台上完成adder元件的调用,用原理图的方法设计一个8位二进制加法器,实现编译,仿真,管脚分配和编程下载等操作。3、或优先编码器、多路选择器等其它电路。四、实验步骤:(一)、用VHDL语言实现八位加法器的设计并实现功能仿真。全加器是带进位位信号的加法器,起逻辑表达式为: 。它的真值表如表1所示,其中和为加数与被加数,是输入的进位位信号,而是和数,是输出进位位信号。参考真值表,实现八位全加器的功能。表1 输入输出0000000110010100110110010101011100111111一)1位加法器的VHDL源程序参考如下:library 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- 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_logic; 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; wait 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=1;wait for 20 us;cin=0; wait;end process u3;END behavior;仿真图如下1所示: 图 1管脚分配和编程下载如实验一,这里不再累述。二)用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在Xilinx ISE软件原理图设计平台上完成adder元件的调用,用原理图的方法设计一个8位二进制加法器:在步骤一)在processer for Source:”adder”窗口点击Create Schematic Symbol如下图2所示,生成adder的元件,在Sources in Project 窗口新建Schematic 文件 命名adder8 ,如下图3所示,在Xilinx ECS平台上点Symbols如图4所示,添加8个adder到原理图编辑区域,连接各元件并添加引脚,如图5 图 2 图 3 图 4图 5仿真结果如下图:(二)、用VHDL语言实现优先编码器的设计并实现功能仿真优先计编码器常用于中断的优先级控制,以8输入,3位二进制输出的优先级编码器为例,当其中一个输入有效时,就可以输出一个对应得3位二进制 编码。另外,当同时有几个输入有效时,将输出优先级最高的那个输入所对应得二进制编码。其真值表如下所示:表2 优先编码器真值表输入二进制编码输出Input7Input6Input5Input4Input3Input2Input1Input0Y2Y1Y0xxxxxxx0111xxxxxx01110xxxxx011101xxxx0111100xxx01111011xx011111010x0111111001x1111111000用VHDL语言实现优先编码器的设计并实现功能仿真验证其功能。参考程序如下: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 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=11011010;wait for 10 us;input=11101101;wait for 10 us;input=10110011;wait for 10 us;input=11010111;wait for 10 us;input=01101111;wait for 10 us;input=11011111;wait for 10 us;input=10111111;wait for 10 us;input=11111111;wait for 10 us;input=01111111;wait for 10 us;input=11011011;wait for 10 us;input=11011111;wait for 10 us;input=11111001;wait for 10 us; END PROCESS tb;- * End Test Bench - User Defined Section *END behavior;仿真图如下:(三)、用VHDL语言实现四选一选择器的设计并实现功能仿真。选择器常用于信号的切换,四选一选择器可以用于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_LOGIC; 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 *u1: 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; input=0111; wait for 40 us; input=0001; wait ; end process u3; - * End Test Bench - User Defined Section *END behavior;仿真结果如下图:六、预习与思考预习:在实验前编好实验程序,做实验时验证。实验三 时序逻辑电路的VHDL语言实验实验性质:验证性 实验级别:必做开课单位:信息与通信工程学院通信工程系 学时:2学时一、实验目的:1、掌握用VHDL语言设计基本的时序逻辑电路及仿真。 2、掌握VHDL顺序语句和并行语句的异同3、掌握触发器同步复位和异步复位的实现方式。4、掌握软件时钟的加入方法。5、掌握信号和变量的主要区别。二、实验器材:计算机、Quartus II软件或xilinx ISE三、实验内容:1、设计带使能的递增计数器2、在步骤1的基础上设计一带使能的同步(异步)复位的递增(递减)计数器3、在步骤1的基础上设计同步(异步)清零的同步(异步)复位的递增(递减)计数器四、实验步骤:1、设计带使能的递增计数器。2、在步骤1的基础上设计一带使能的同步复位的递增计数器并实现时序仿真。3、在步骤1的基础上用信号设计一带使能的同步复位的递增计数器并实现时序仿真。4、用变量设计一带使能的同步复位的可增可减计数器并实现时序仿真,比较信号和变量的不同。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 downto 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 := 00000000; ELSE IF(ld = 0) THEN cnt := d; ELSE IF(enable = 1) THEN cnt := cnt + 00000001; END IF; END IF; END IF; END IF; qk clk,clear = 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;wait for clk_cycle/2;clk=0;wait for clk_cyc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备维修的修理类别教学设计-2025-2026学年中职专业课-机械加工技术-机械类-装备制造大类
- 蔬菜产品知识培训心得课件
- 《沟通从心开始 做情绪的主人》教学设计-2023-2024学年心理健康教育四年级下册鲁画版
- 活动三 个人护眼计划教学设计-2025-2026学年小学综合实践活动沪科黔科版四年级下册-沪科黔科版
- 音乐合成与MIDI说课稿-2025-2026学年中职专业课-多媒体技术及应用-计算机类-电子与信息大类
- 第6课 众人拾柴火焰高教学设计-2025-2026学年小学心理健康五年级下册川教版
- 中考模拟往年试卷及答案
- 2025年1月土建施工员模拟练习题(含参考答案)
- 蒸馏法测定水分课件
- 2025年七年级数学秋季开学摸底考(人教版山东专用)含答案
- 材料节约措施管理制度
- 2025纪检监察综合业务知识考试题库及答案
- 国家安全知识题库
- T/CCMA 0095-2020非公路自卸车操作使用规程
- JJF(京) 122-2024 测量仪器与智能传感科技成果概念验证实施规范
- 合资公司经营协议书
- 湘科版 五年级科学上册 全册教案
- 《智能设备故障诊断》课件
- 高中生德育教育主题班会
- 租赁冷库协议书范本
- 一线班组质量奖申报材料
评论
0/150
提交评论