1、定义器件封装形式 【Speed Grade】:定义芯片工作速度等级 【Top-Level Module Type】:定义顶层模块类型 【Synthesis Tool】:定义综合工具 【Simulator】:定义仿真测试工具 【Generated Simulation Language】:定义硬件描述语言针对本试验所用开发板我们选择 “CoolRunner XPLA3 CPLDs”系列的 “XCR3256XL-7PQ208”器件作为目标芯片进行仿真,如图2所示。图2完成具体选择后点击【Next】弹出对话框,在该对话框内创建文件资源。打开【New Source】标签,弹出如图3所示对话框,在左侧方
2、框中包含了用户可以创建的文件类型,包括以下内容: 【Schematic】:原理图类型文件 【State Diagram】:状态图类型文件 【Test Bench Waveform】:波形类型测试文件 【User Document】:用户类型文件 【Verilog Module】:Verilog类型文件 【Verilog Test Fixture】:Verilog语言描述类型测试文件 【VHDL Library】:VHDL库文件 【VHDL Module】:VHDL类型模块文件 【VHDL Package】:VHDL类型文件封装库 【VHDL Test Bench】:VHDL语言描述类型测试文件
3、图3在【File】标签下对话框内写入用户自定义的文件名称,标签【Locatior】下显示了新定义文件的创建路径,选中标签【Add to projet】前的对号标记,将新创建的文ls74138添加到工程 “Shiyan”中。点击【Next】,弹出如图4所示对话框,在此对话框中输入三线八线译码器(74LS138)的的端口信息。图4点击【Next】弹出【New Source Information】对话框,在该对话框内显示了新建文件的属性及信息,如图5所示。图5点击【Finish】返回资源创建对话框,其中显示了新建文件“LS74138.vhdl”,如图6。图6点击【Next】弹出工程信息对话框【Ne
4、w 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- provided for
5、instantiating Xilinx primitive components.-library UNISIM;-use UNISIM.VComponents.all;entity ls74138 is Port ( G1 : in std_logic; G2 : 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) if(G1 and G2)=1)
6、 then case inp is when 000=Y00000000 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; wait for 90 us; wait; END PROCESS u1;u2: G2 END PROCESS u2;u3: INP【Run】-【Restart】,将仿真时间点置零。在【transcript】窗口中输入仿真时间。在波形【Wave】窗口内使用按钮实现仿真图的“放大”
7、“缩小”“全局”功能。图11即为电路仿真结果,由图中时序及逻辑关系可知该三线八线译码器行为仿真正常。图11实验二 组合逻辑电路的VHDL语言实现验证性 实验级别:信息与通信工程学院通信工程系 学时:2学时1、掌握VHDL语言设计基本单元及其构成2、掌握用VHDL语言设计基本的组合逻辑电路的方法。3、掌握VHDL语言的主要描述语句。1、本实验以1位全加器为例,在Xilinx ISE软件平台上完成设计电路的VHDL文本输入,编辑,编译,仿真。芯片选择Xilinx公司的CoolRunner XPLA3 CPLDs系列XCR3256XL-7PQ208作为目标仿真芯片。2、用实验内容1所设计的全加器的V
8、HDL文件生成一个adder的元件,在Xilinx ISE软件原理图设计平台上完成adder元件的调用。(一)、全加器是带进位位信号的加法器,起逻辑表达式为: 。它的真值表如表1所示,其中和为加数与被加数,是输入的进位位信号,而是和数,是输出进位位信号。表1 输入输出1一)1位加法器的VHDL源程序参考如下:entity adder is Port ( a : b : cin : sum : out std_logic; cout : out std_logic);end adder;architecture Behavioral of adder is sum = (a xor b) xor
9、 cin; cout a, b = b, cin = cin, sum = sum, cout = cout ); u1: PROCESS a wait for 10 us; a wait for 20 us; wait; END PROCESS u1; u2:process begin b wait for 10 us; wait for 20 us; wait; END PROCESS u2; u3: process begin cin wait for 40 us; cin wait; end process u3;END behavior;二)用实验内容1所设计的全加器的VHDL文件生
10、成一个adder的元件,在Xilinx ISE软件原理图设计平台上完成adder元件的调用,在processer for Source:”adder”窗口点击Create Schematic Symbol,生成adder的元件,在Sources in Project 窗口新建Schematic 文件 命名adder8 ,在Xilinx ECS平台上点Symbols,仿真结果如下图:(二)、用VHDL语言实现优先编码器的设计并实现功能仿真优先计编码器常用于中断的优先级控制,以8输入,3位二进制输出的优先级编码器为例,当其中一个输入有效时,就可以输出一个对应得3位二进制编码。另外,当同时有几个输入
11、有效时,将输出优先级最高的那个输入所对应得二进制编码。其真值表如下所示:表2 优先编码器真值表二进制编码输出Input7Input6Input5Input4Input3Input2Input1Input0Y2Y1Y0x用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 IS PROCESS (input) IF(input(0)=) THEN y input, y = y tb : input11011010 input11101101101100111101011101101111110111111011111111111111011111111101101111111001 END PROCESS tb;仿真图如下:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1