当前位置:文档之家› 专用集成电路

专用集成电路

实验一 EDA软件实验一、实验目的:1、掌握Xilinx ISE 9.2的VHDL输入方法、原理图文件输入和元件库的调用方法。

2、掌握Xilinx ISE 9.2软件元件的生成方法和调用方法、编译、功能仿真和时序仿真。

3、掌握Xilinx ISE 9.2原理图设计、管脚分配、综合与实现、数据流下载方法。

二、实验器材:计算机、Quartus II软件或xilinx ISE三、实验内容:1、本实验以三线八线译码器(LS74138)为例,在Xilinx ISE 9.2软件平台上完成设计电路的VHDL文本输入、语法检查、编译、仿真、管脚分配和编程下载等操作。

下载芯片选择Xilinx公司的CoolRunner II系列XC2C256-7PQ208作为目标仿真芯片。

2、用1中所设计的的三线八线译码器(LS74138)生成一个LS74138元件,在Xilinx ISE9.2软件原理图设计平台上完成LS74138元件的调用,用原理图的方法设计三线八线译码器(LS74138),实现编译,仿真,管脚分配和编程下载等操作。

四、实验步骤:1、三线八线译码器(LS 74138)VHDL电路设计(1)三线八线译码器(LS74138)的VHDL源程序的输入打开Xilinx ISE 6.2编程环境软件Project Navigator,执行“file”菜单中的【New Project】命令,为三线八线译码器(LS74138)建立设计项目。

项目名称【Project Name】为“Shiyan”,工程建立路径为“C:\Xilinx\bin\Shiyan1”,其中“顶层模块类型(Top-Level Module Type)”为硬件描述语言(HDL),如图1所示。

图1点击【下一步】,弹出【Select the Device and Design Flow for the Project】对话框,在该对话框内进行硬件芯片选择与工程设计工具配置过程。

图2完成具体选择后点击【下一步】弹出如图3所示对话框,在该对话框内创建文件资源。

图3 图4打开【New Source】标签,弹出如图4所示对话框在【File】标签下对话框内写入用户自定义的文件名称,标签【Locatior】下显示了新定义文件的创建路径,选中标签【Add to proje】前的对号标记,将新创建的文件74ls138添加到工程“Shiyan”中。

点击【下一步】,弹出如图5所示对话框,在此对话框中输入三线八线译码器(LS 74138)的的端口信息。

图5点击【下一步】弹出【New Source Information】对话框,在该对话框内显示了新建文件的属性及信息,如图6所示。

图6点击【完成】标签结束新建工程过程。

进入Xilinx ISE文本编辑方式,在文本框中编辑输入3线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 isPort ( 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"=>Y<="00000001"; when "001"=>Y<="00000010";when "010"=>Y<="00000100"; when "011"=>Y<="00001000";when "100"=>Y<="00010000"; when "101"=>Y<="00100000";when "110"=>Y<="01000000"; when "111"=>Y<="10000000";when others=>Y<="00000000"; end case;else Y<="00000000";end if; end process;end Behavioral;在VHDL源程序中,G1和G2为两个使能控制信号,INP为命令码输入信号,Y为8位译码输出信号。

(2)、设计文件存盘与语法检查完成程序代码输入后单击高亮“ls74138-behavioral”标签,此时工具窗口将显示“Process for Source(ls74138-behavioral)”。

用鼠标右键点击Process窗口中【Check Syntax】标签,点击运行选项,进行程序语法检查,当显示一绿色对号标志时即表示程序中不存在语法问题。

或双击【Synthesize-XST】当显示一绿色对号标志时即表示程序综合成功。

(3)、仿真文件设计为了验证所设计电路功能,需要输入测试文件对电路程序功能进行测试。

在【Process】菜单中选择【New Source】选项,即可弹出对话框,选择【VHDL Test Bench】添加测试向量文件,并将文件添加到LS74138模块中运行行为仿真选项卡【Behavioral Simulation】,在测试向量文件中填写代码,完成后保存,Xilinx ISE自动调用ModelSim SE 6.1c仿真平台作为仿真工具。

运行ModelSim SE 6.1c,。

在【transcript】窗口中输入仿真时间。

在波形【Wave】窗口内使用按钮实现仿真图的“放大”“缩小”“全局”功能,由图中时序及逻辑关系可知该三线八线译码器行为仿真正常。

图11测试向量参考程序如下:-- VHDL Test Bench Created from source file ls74138.vhd ---- Notes:-- This testbench has been automatically generated using types std_logic and -- std_logic_vector for the ports of the unit under test. Xilinx recommends -- that these types always be used for the top-level I/O of a design in order -- to guarantee that the testbench will bind correctly to the post-implementation-- simulation model.--LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.numeric_std.ALL;ENTITY ls74138_ls74138_vhd_tb ISEND ls74138_ls74138_vhd_tb;ARCHITECTURE behavior OF ls74138_ls74138_vhd_tb ISCOMPONENT 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 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 INP<="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 Pins】选项卡,Xilinx ISE 将弹出管脚分配窗口,输入各个端口管脚位置并保存,完成芯片管脚定义。

相关主题