1、专用集成电路优选文档实验一 EDA 软件实验一、实验目的:1、掌握 的 VHDL输入方法、原理图文件输入和元件库的调用方法。2、掌握 软件元件的生成方法和调用方法、编译、功能仿真和时序仿真。3、掌握 原理图设计、管脚分配、综合与实现、数据流下载方法。二、实验器材:计算机、 Quartus II 软件或 xilinx ISE三、实验内容:1、 本实验以三线八线译码器 LS74138为例,在 Xilinx ISE 9.2 软件平台上完成设计电路的 VHDL文本输入、语法检查、编译、仿真、管脚分配和编程下载等操作。下载芯片选择 Xilinx 公司的 CoolRunner II 系列 XC2C256-
2、7PQ208作为目标仿真芯片。2、 用 1 中所设计的的三线八线译码器 LS74138生成一个 LS74138 元件,在 Xilinx ISE9.2 软件原理图设计平台上完成 LS74138 元件的调用, 用原理图的方法设计三线八线译码器 LS74138,实现编译,仿真,管脚分配和编程下载等操作。四、实验步骤:1、三线八线译码器 LS 74138 VHDL 电路设计(1)三线八线译码器 LS74138 的 VHDL 源程序的输入翻开 编程环境软件 Project Navigator ,执行“ file 菜单中的【 NewProject 】命令,为三线八线译码器 LS74138建立设计工程。工程
3、名称【 Project Name】为 “ Shiyan , 工程建立路径为 “ C:XilinxbinShiyan1 ,其中“顶层模块种类 Top-LevelModule Type 为硬件描述语言 HDL,如图 1 所示。图 1点击【下一步】 ,弹出【 Select the Device and Design Flow for the Project 】对话框,在该对话框内进行硬件芯片选择与工程设计工具配置过程。优选文档优选文档图 2完成详尽选择后点击【下一步】弹出如图 3 所示对话框,在该对话框内创立文件资源。图3 图4翻开【 New Source 】标签,弹出如图 4 所示对话框在【 Fi
4、le 】 标签下对话框内写入用户自定义的文件名称,标签【 Locatior 】下显示了新定义文件的创立路径, 选中标签 【 Add to proje 】前的对号标志, 将新创立的文件 74ls138增加到工程 “ Shiyan 中。点击【下一步】 ,弹出如图 5 所示对话框,在此对话框中输入三线八线译码器 LS 74138 的的端口信息。图 5点击【下一步】弹出【 New Source Information 】对话框,在该对话框内显示了新建文件的属性及信息,如图 6 所示。图 6点击【完成】标签结束新建工程过程。进入 Xilinx ISE 文本编写方式,在文本框中编辑输入 3 线 8 线译码
5、器的 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 i
6、sPort ( 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)beginif(G1 and G2)=1) thencase INP iswhen 000=YYYYYYYYY=00000000; end case;else Y G1,G2 = G2,INP = INP,Y=Y);-
7、 * Test Bench - User Defined Section *u1:PROCESS wait for 15 us;BEGIN INP=010;G1=0; wait for 15 us;优选文档优选文档wait for 15 us; INP=011;G1=1; wait for 15 us;wait for 100 us; INP=100;G1=0; wait for 15 us;wait for 15 us; INP=101;G1=1; wait for 15 us;wait; INP=110;END PROCESS u1; wait for 15 us;u2:PROCESS I
8、NP=111;BEGIN wait for 30 us;G2=0; INP=000;wait for 15 us; wait;G2=1; end PROCESS u3;wait for 100 us; - * End Test Bench - User Defined Section *G2=0; END behavior ;wait for 15 us;G2=1;wait;END PROCESS u2;u3:PROCESSBEGININP=000;wait for 30 us;INP=001;4芯片管脚定义优选文档优选文档如前所述增加用户定义限制文件,运行【 Assign Package P
9、ins 】选项卡, Xilinx ISE将弹出管脚分配窗口,输入各个端口管脚地址并保存,完成芯片管脚定义。5编译与综合图16 图17运行【 Process for Source 】中的【 Implement Design 】图 16, ISE 将自动完成编译优选文档优选文档并调用内嵌的综合工具 XST完成综合过程,运行结果如图 17 所示。编译通过后即自动生成了电路烧录下载文件 *.jed 以及资源耗资报告,经过该报告即可认识所设计电路的资源耗资情况。由图可知,在三线八线译码器 74LS138 的设计中使用了 8 个宏单元, 9 个乘积项, 8个存放器单元, 13 个用户引脚及 5 个功能输入
10、块。2、元件的生成、调用和仿真新建原理图文件,命名为 “ Sch_LS74138并增加到工程“ Shiyan 中。点击【下一步】完成原理图文件的创立。在弹出的原理图编写框内选择【 Symbols】标签,在其目录列表内显示了所有可用电路器件,其中包括了我们所设计的 LS74138。双击“ ls74138 将其放置到原理图编写区内。点击 为器件增加外面端口。将原理图文件保存后返回 【Xilinx Project Navigator 】平台, 此时已经将程序所设计的器件“ LS74138 配置给了原理图文件“ sch_ls74138。优选文档优选文档实验二 组合逻辑电路的 VHDL 语言实现一、实验
11、目的:1、掌握 VHDL语言设计根本单元及其构成2、掌握用 VHDL语言设计根本的组合逻辑电路的方法。二、实验器材:计算机、 Quartus II 软件或 Xilinx ISE三、实验内容:1、以四选一选择器为例,在 Xilinx ISE 软件平台上完成设计电路的 VHDL文本输入,编写,编译,仿真,管脚分配和编程下载等操作。四、实验步骤:一、用 VHDL语言实现四选一选择器的设计并实现功能仿真。选择器常用于信号的切换,四选一选择器可以用于4 路信号的切换。其真值表以下所示:表 3四选一真值表选择输入数据输入数据输出baInput0Input1Input2Input3y000xxx0001xx
12、x101x0xx001x1xx110xx0x010xx1x111xxx0011xxx11用 VHDL语言实现四选一选择器的设计并实现功能仿真。参照程序以下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT (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);BEG
13、INse1=B&A;PROCESS (INPUT,se1)BEGINIF(se1=00)THENy=INPUT(0);ELSIF(se1=01)THENy= INPUT (1);ELSIF(se1=10)THENy= INPUT (2);ELSEy INPUT,A=A,B=B,Y=Y);-* Test Bench - User Defined Section *u1: PROCESS BEGINA=0; B=1;wait for 15 us; wait for 5 us;A=1; B=0;wait for 15 us; wait for 5 us;A=0; B=1;wait for 5 us;
14、 wait;A=1; end process u2;wait for 5 us; u3: processA=0; beginwait; INPUT=1101;END PROCESS u1; wait for 10 us;u2: process INPUT =1010;begin wait for 10 us;B=0; INPUT =0111;wait for 10 us; wait for 20 us;B=1; INPUT =0001;wait for 20 us; wait for 10 us;B=0; INPUT =0010;wait for 5 us; wait ;end process
15、 u3;-* End Test Bench - User Defined Section *END behavior;仿真结果以以下列图:优选文档优选文档实验三 时序逻辑电路的 VHDL 语言实验一、实验目的:1、掌握用 VHDL语言设计根本的时序逻辑电路及仿真。2、掌握 VHDL序次语句和并行语句的异同3、掌握触发器同步复位和异步复位的实现方式。4、掌握软件时钟的参加方法。二、实验器材:计算机、 Quartus II 软件或 xilinx ISE三、实验内容:1、设计带使能的递加计数器2、在步骤 1 的基础上设计一带使能的同步异步复位的递加递减计数器四、实验步骤:参照程序:library i
16、eee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ycounter isport(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 isbeginPROCESS (clk)VARIABLE cnt :std_logic_vector(7 downto 0);BEGINIF (clkEVENT AND clk = 1) THENIF(clear = 0) THENcnt := 00000000; ELSEIF(ld = 0) THEN cnt := d;ELSE IF(enable = 1) THENcnt := 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 Defi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1