VHDL可编程逻辑结构设计实验七
GAL实验指导g

实验一通用阵列逻辑GAL实现基本门电路的设计一、实验目的1.了解GAL22V10的结构及其应用;2.掌握GAL器件的设计原则和一般格式;3.学会使用VHDL语言进行可编程逻辑器件的逻辑设计;4.掌握通用阵列逻辑GAL的编程、下载、验证功能的全部过程。
二、实验原理1. 通用阵列逻辑GAL22V10通用阵列逻辑GAL是由可编程的与阵列、固定(不可编程)的或阵列和输出逻辑宏单元(OLMC)三部分构成。
GAL芯片必须借助GAL的开发软件和硬件,对其编程写入后,才能使GAL芯片具有预期的逻辑功能。
GAL22V10有10个I/O口、12个输入口、10个寄存器单元,最高频率为超过100MHz。
ispGAL22V10器件就是把流行的GAL22V10与ISP技术结合起来,在功能和结构上与GAL22V10完全相同,并沿用了GAL22V10器件的标准28脚PLCC封装。
ispGAl22V10的传输时延低于7.5ns,系统速度高达100MHz以上,因而非常适用于高速图形处理和高速总线管理。
由于它每个输出单元平均能够容纳12个乘积项,最多的单元可达16个乘积项,因而更为适用大型状态机、状态控制及数据处理、通讯工程、测量仪器等领域。
ispGAL22V10的功能框图及引脚图分别见图1-1和1-2所示。
另外,采用ispGAL22V10来实现诸如地址译码器之类的基本逻辑功能是非常容易的。
为实现在系统编程,每片ispGAL22V10需要有四个在系统编程引脚,它们是串行数据输入(SDI),方式选择(MODE)、串行输出(SDO)和串行时钟(SCLK)。
这四个ISP控制信号巧妙地利用28脚PLCC封装GAL22V10的四个空脚,从而使得两种器件的引脚相互兼容。
在系统编程电源为+5V,无需外接编程高压。
每片ispGAL22V10可以保证一万次在系统编程。
ispGAL22V10的内部结构图如图1-3所示。
2.编译、下载源文件用VHDL语言编写的源程序,是不能直接对芯片编程下载的,必须经过计算机软件对其进行编译,综合等最终形成PLD器件的熔断丝文件(通常叫做JEDEC文件,简称为JED文件)。
可编程逻辑器件中的设计流程

可编程逻辑器件中的设计流程可编程逻辑器件(Programmable Logic Device,PLD)是一种集成电路器件,可以按照用户需求进行编程,实现特定的逻辑功能。
在现代电子技术领域中,PLD的应用越来越广泛。
本文将介绍可编程逻辑器件中的设计流程,并分为几个步骤进行详细阐述。
第一步:需求分析在进行PLD设计之前,首先需要明确设计的目标和需求。
根据具体的应用场景和功能要求,确定需要实现的逻辑功能和性能参数。
例如,如果设计一个控制系统,需要明确所需控制的信号类型、输入输出接口及相关约束等。
需求分析在PLD设计中起着至关重要的作用,也是后续设计的基础。
第二步:逻辑设计逻辑设计是PLD设计的核心步骤之一。
在逻辑设计中,需要使用硬件描述语言(Hardware Description Language,HDL)对电路进行建模和描述。
常用的HDL语言包括VHDL和Verilog。
通过使用HDL语言,可以将电路中的逻辑功能用代码的形式实现,对电路中的逻辑门、触发器等基本元件进行逻辑连接,形成电路结构。
逻辑设计的结果是一个逻辑电路图,该电路图描述了各个逻辑元件之间的连接关系。
第三步:仿真验证在进行PLD设计之前,通常需要进行仿真验证。
通过仿真可以对逻辑设计进行功能验证和时序验证,确保设计的正确性。
仿真可以使用专门的仿真软件,例如ModelSim等。
在仿真中,要对输入信号进行赋值,通过观察输出信号的波形来验证设计的正确性。
如果设计存在问题,可以进行调试和修改。
第四步:综合与布局布线综合是将逻辑设计转换为物理器件的过程。
在综合过程中,需要将逻辑电路图转换为与目标器件相兼容的网表描述。
综合工具会根据约束条件和目标器件的特性,对逻辑电路图进行优化,以达到提高性能、降低功耗等目标。
综合完成后,将得到一个包含逻辑门和触发器等元件的网表描述。
布局布线是将综合生成的网表映射到目标器件上的过程。
布局是指将逻辑元件放置在芯片上的具体位置,布线是指根据元件之间的连接关系,将导线进行布线,最终形成物理布图。
可编程逻辑器件 课件

10 可编程逻辑器件(不讲)概述:一、数字集成电路的分类(从逻辑功能特点上分):1、通用型数字集成电路:各种中小规模数字集成电路特点:逻辑功能简单,且固定不变。
从理论上讲,可以用其组成任何复杂的数字系统,但电路体积大、重量大、功耗大、可靠性差。
2、专用型数字集成电路:为专门用途设计的大规模数字集成电路(Application Specific Integrated Circuit,简称ASIC)特点:体积小、重量轻、功耗小、可靠性好。
缺点:用量不大的情况下,成本高,设计、制造周期长。
矛盾!如何解决?※3、可编程逻辑器件(Programmable Logic Device,简称PLD )特点:芯片本身作为通用器件生产,但其逻辑功能是由用户通过对器件编程来设定的。
由于PLD 集成度很高,足以满足一般数字系统设计的需要,设计人员只要自行编程,把一个数字系统“集成”在一片PLD 上,而不必请芯片制造厂商设计和制作专用芯片。
二、PLD开发系统:包括硬件和软件两部分开发系统软件:指专用的编程语言和相应的汇编程序或编译程序。
分为汇编型、编译型和原理图收集型。
80年代后,功能更强、效率更高、兼容性更好的编译型开发系统软件得到广泛应用,软件输入的源程序采用专用的高级编程语言(硬件描述语言VHDL)有自动化简和优化设计的功能,除了能自动完成设计外,还有模拟仿真和自动测试的功能。
特别是90年代后推出的在系统可编程器件(In-System Programmable PLD,简称ISP-PLD),及与之配套的开发系统软件,为用户提供了更为方便的设计手段。
其最大特点是编程时既不需要使用编程器,也不需要将芯片从电路板上取下,可以在系统内进行编程。
而所有的开发系统软件都可以在PC机上运行。
目前应用最多的ISP器件是FPGA和CPLD,均称为高密度ISP-PLD。
生产厂家有Lattice、Xilinx、Atmel公司等。
1、PLD 的分类PROMPLA PAL GAL低密度可编程逻辑器件(LDPLD )EPLD CPLDFPGA高密度可编程逻辑器件(HDPLD )可编程逻辑器件(PLD )按集成密度划分为三、可编程器件简介:1、简单PLD (PAL ,GAL)(1)结构框图与门阵列或门阵列乘积项和项PLD 主体输入电路输入信号互补输入输出电路输出函数反馈输入信号•可由或阵列直接输出,构成组合输出;•通过寄存器输出,构成时序方式输出。
VHDL数字钟

课程设计报告设计题目:用VHDL语言实现数字钟的设计班级:学号:姓名:指导老师:设计时间:摘要本设计是基于VHDL语言的数字钟,硬件平台是Xilinx的Virtex2系列FPGA 开发板。
该数字钟具备预置年月日时分秒的功能,通过按键还可以改变数字钟显示的内容和进入不同的设置状态,并通过加减按键调整系统时间。
在整个VHDl数字电路系统中,采用层次化设计方法,自顶向下进行设计。
设计中根据系统的功能要求合理划分出层次,进行分级设计和仿真验证,将较为复杂的数字系统逻辑简化为基本的模型从而降低实现的难度。
工程中底层实体实现了年月日、时分秒的双向计数器功能,另外还单独设计了系统的时钟模块,用来生成周期为125Hz的按键扫描时钟和周期为1Hz单位脉冲时钟。
为了消除按键的抖动,为此设计了按键消抖模块,采用了状态机来对按键进行消抖。
为了实现根据年份和月份对当前月的天数的判断逻辑,采用了函数对该逻辑进行分析,给出正确的判断结果。
为了提高利用率,在工程中建立了一个包集文件,对底层实体进行了统一封装,方便顶层的调用。
底层的所有实体系统的顶层主要完成了底层的元件例化,主控状态机对系统的状态转换进行控制,按键响应和时钟重新分配电路则完成了整个系统的控制逻辑。
关键词:层次化设计,元件例化,函数,状态机目录摘要 (2)一、课程设计目的 (4)二、课程设计内容及其要求 (4)三、VHDL程序设计 (5)1.设计方案论证 (5)2.设计思路与方法 (6)3.VHDL源代码及其仿真结果 (7)1、六进制可逆计数器 (7)2、十进制可逆计数器, (9)3、十二进制可逆计数器, (11)4、二十四进制可逆计数器 (13)5、天数计数器 (16)6、判断闰年和月份 (18)7、时钟分频模块 (22)8、按键消抖模块 (24)9、程序包 (27)10、顶层实体(主控状态机) (29)四、编程下载 (38)五、课程设计总结 (38)六、参考文献 (38)一、课程设计目的诞生于1983年的VHDL语言,在1987年被美国国防部和IEEE指定为标准硬件描述语言。
VHDL教程

LE2 进位输出 (到 LAB中的下一个逻辑单元) 27
FLEX 系列的级联链
性能优越, 适合扇入大的逻辑功能
“与”级联链
2.4 ns
“或”级联链
LE 1
0.6 ns
LE1 IN [3..0] LUT
IN [3..0]
LUT
LE2 IN [4..7] LUT IN [4..7] LUT
LE2
16位地址译码速度可达 2.4 + 0.6x3=4.2 ns
23
连续布线和分段布线的比较
连续布线 ( Altera 基于查找表(LUT)的 FPGA )
LAB
LE
24
连续布线 = 每次设计重复的可预测性和高性能
FLEX 10K系列FPGA结构图
IOC IOC IOC IOC IOC IOC IOC IOC
. . .
. . .
. . .
. . .
嵌入式 阵列块
• EAB的大小灵活可变 256x8 512x4 2048x1
1024x2
• 通过组合EAB 可以构成更大的模块 • 不需要额外的逻辑单元,不引入延迟, EAB 可配置为深度达2048的存储器 512x4 512x4
256x8 256x8
256x16
512x8
30
FLEX 10K 系列的EAB
数据宽度 8,4,2,1 地址宽度 8,9,10,11
什么是查找表?
• 一个N输入查找表 (LUT,Look Up Table)可以实现N个输入 变量的任何逻辑功能,如 N输入“与”、 N输入“异或” 等。 • 输入多于N个的函数、方程必须分开用几个查找表( LUT) 实现
输入1 输入2 查黑 找盒 表子
EDA实验 七人表决器

河北科技大学实验报告2010级电信专业101 班学号13年4月1日姓名同组人指导教师于国庆实验名称实验一七人表决器成绩实验类型设计型批阅教师一、实验目的(1)掌握MUXPLUS II语言输入的设计过程。
(2)初步了解VHDL语言。
(3)熟悉FPGA项目设计的基本流程。
二、实验原理:用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为逻辑“0”时表示表决者“不赞同”;输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”;当表决器的七个输入变量中有4个及以上为“1”时,则表决器输出为“1”,否则为“0”。
表决器输入采用试验箱K1~K16,输出采用试验箱L15、L16指示;同意红灯亮,否则黄灯亮。
三、实验内容及步骤1.打开MUXPLUS II VHDL编辑器,完成七人表决器的设计。
包括VHDL程序输入、编译、综合。
实验程序如下:library ieee;use ieee.std_logic_1164.ALL;entity GSL isport(a:in std_logic_vector(6 downto 0);b:out std_logic;c:out std_logic);end entity GSL;architecture number of GSL isbeginprocess(a)variable cnt:integer range 0 to 7;begin cnt:=0;for i in 6 downto 0 loopif a(i)='1'thencnt:=cnt+1;end if;end loop;if cnt>3 then b<='1';c<='0';else b<='0';c<='1';end if;end process;end architecture number;2、建立仿真波形文件,使用MAXPLUS II Simulator功能进行功能仿真。
VHDL与Verilog语言
VHDL与Verilog语言VHDL(VHSIC hardware description language)和Verilog是用于电子系统设计的硬件描述语言(HDL)。
这两种语言被广泛应用于数字逻辑设计和仿真,以及硬件描述、验证和综合。
1. VHDL(VHSIC hardware description language)VHDL是一种结构化的硬件描述语言,最初由美国国防部高速集成电路计划办公室(VHSIC,Very High Speed Integrated Circuits)开发。
VHDL以其强大的功能和灵活性而闻名,并被广泛用于数字系统的设计和验证。
VHDL的编写包括实体(Entity)和体(Architecture)两个主要部分。
实体部分描述了数字系统的输入输出接口、信号和组件的声明,而体部分描述了实体的内部结构、信号处理和逻辑功能。
VHDL具有丰富的数据类型、运算符和控制结构,可以方便地描述数字电路的行为和结构。
它还提供了强大的仿真和验证功能,使设计人员能够在开发和测试阶段快速迭代和调试设计。
2. VerilogVerilog是一种硬件描述语言,最初由Gateway Design Automation公司(现在是Cadence Design Systems的一部分)开发。
Verilog以其简洁的语法和易学易用的特性而受到广泛欢迎,并成为工业界标准。
Verilog的设计由模块(Module)组成,每个模块描述了一个黑盒子,包含输入和输出端口以及内部的逻辑功能。
模块可以进行层次化组合,从而实现较复杂的系统级设计。
Verilog的语法类似于C语言,具有类似的数据类型、运算符和控制结构。
它还提供了时序建模的能力,使设计人员能够描述数字电路的时序行为。
3. VHDL与Verilog的比较VHDL和Verilog在语法和功能上有一些区别,但它们都可以用于数字电路的设计和仿真。
以下是它们之间的一些比较:3.1 语法风格VHDL采用结构化的编程风格,需要明确的体、过程和信号声明,可以更好地控制和描述系统的结构和行为。
《VHDL硬件描述语言》课程教学大纲
《VHDL硬件描述语言》课程教学大纲课程代码:ABJD0414课程中文名称: VHDL硬件描述语言课程英文名称:Very-High-Speed Integrated Circuit HardwareDescription Language课程性质:必修课程学分数:2学分课程学时数:32学时授课对象:自动化专业本课程的前导课程:电路,模拟电子,C语言程序设计一、课程简介本课程是电类专业的专业基础课,要求学生通过本课程的学习和实验,初步掌握常用EDA工具的使用方法、FPGA的开发技术以及VHDL语言的编程方法。
能比较熟练地使用QuartusII等常用EDA软件对FPGA和CPLD作一些简单电路系统的设计,同时能较好地使用VHDL语言设计简单的逻辑电路和逻辑系统,学会行为仿真、时序仿真和硬件测试技术,为现代EDA工程技术的进一步学习,ASIC器件设计以及超大规模集成电路设计奠定基础。
作为一门专业基础课,除了为现代电子线路课程,软件无线电课程奠定理论和实践方面的基础外,还是其他一些课程的先修课,如微电子导论、现代ASIC设计、硬件描述语言仿真/综合器设计、大规模集成电路设计等。
二、教学基本内容和要求(一)概论介绍现代EDA技术,VHDL概况,介绍自顶向下的系统设计方法以及FPGA和CPLD的基本技术,要求对现代EDA技术及实现工具的使用方法和发展情况有一初步了解。
重点与难点:EDA技术的设计工具(二)EDA设计流程及工具首先介绍基于EDA软件的FPGA/CPLD开发流程和ASIC设计流程,然后分别介绍与这些设计流程中各环节密切相关的EDA工具软件,最后简述QuartusII的基本情况和IP。
重点与难点:EDA仿真设计流程。
(三)FPGA/CPLD结构与应用主要介绍几类常用的大规模可编程逻辑器件的结构和工作原理。
对CPLD的乘积项原理和FPGA的查找表原理分别进行剖析。
最后介绍相关的编程下载和测试技术。
重点与难点:FPGA/CPLD的工作作原理及编程技术。
《Verilog HDL数字系统设计——原理、实例及仿真》课件第7章
1
第7章 门电路设计与实现
7.1 基本门电路 7.2 组合门电路 7.3 三态门电路 7.4 双向总线缓冲器
第7章 门电路设计与实现
2
7.1 基 本 门 电 路
基本门电路包括与门、或门、非门。表7.1是二输入与门、 或门和非门的真值表。
第7章 门电路设计与实现
3
表 7.1 二输入与门、或门和非门真值表
第7章 门电路设计与实现
24
图7.7 8位双向总线缓冲器的逻辑符号
逻辑符号
第7章 门电路设计与实现
25
表 7.4 8 位双向总线缓冲器的真值表
EN
DIR
数据传输
0
X
高阻
1
0
A→B
1
1
A←B
第7章 门电路设计与实现
26
实现双向数据传输的总线缓冲器可以用图7.8来表示,其 中的dir是数据传送方向的控制信号,bus_a、bus_b分别表示A、 B两端的数据信号。代码7.4是一个8位双向总线数据缓冲器的 Verilog HDL描述。
22
图7.6 三态门电路的功能仿真波形
第7章 门电路设计与实现
23
7.4 双向总线缓冲器
在数字电路中,总线缓冲器主要用于将设备与总线互连。 常用的缓冲器有单向和双向两种。例如,一个8位的单向缓冲 器可以实现从A端到B端的单向数据传送,需要8个三态门, 并将这8个三态门的控制段连接在一起由一个共同的使能信号 来进行控制。一个8位的双向缓冲器是指能够实现从A端到B 端或从B端到A端的双向数据传送,因此需要16个三态门,8 个门用于实现 A端到B端的数据传送,另外8个门用于实现从 B端到A端的数据传送。图7.7是8位双向总线缓冲器的逻辑符 号。表7.4是双向总线缓冲器的真值表。
VHDL十六进制计数器
徐州工程学院信电工程学院可编程器件及应用实验课题名称设计一个十六进制计数器王旭辉20100504144姓名赵永发 20100504133谢臻 20010504121学号杨红艳20100504111院、班级10电信1班专业电子信息科学与技术指导教师贾燕玲2013年 1月 2日一、实验目的1.进一步了解VHDL设计方法2.熟悉数码管和LED的显示二、实验所用仪器及元器件1、计算机2、Q uartus II 7.2 (32-Bit)软件3、E P2C5实验箱三、实验内容(1)、设计一个十六进制计数器,用一个数码管、8个彩灯循环显示计数状态。
(2)、有清零信号控制,按下后从零开始。
四、设计思路与过程根据实验要求,需要实现在拨码开关或者按键的控制下实现十六进制计数器。
首先,确定输入输出变量:输入:拨码开关a:清零;时钟clk::提供有效时钟沿;输出SEL-LED:8维向量b:连接8个发光二极管。
输出SEL-DATA :8维向量c:连接数码管。
其次,确定电路工作状态因为要实现计数十六进制计数器,所以首先要实现在时钟控制下实现计数;还要考虑到清零信号;再次,实现对计术状态的表示;也就是让计数状态用数码管和LED显示出来。
五、VHDL程序LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY count16 ISPORT(CLK5 :IN STD_LOGIC;RST :IN STD_LOGIC;SEG_SEL :OUT STD_LOGIC_VECTOR(2 DOWNTO 0);SEG_DA :OUT STD_LOGIC_VECTOR(7 DOWNTO 0);LED :OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END count16;ARCHITECTURE BEHAVE OF count16 ISSIGNAL SHIFT_CNT,TEMP :STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNAL CNT_VALUE :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(CLK5)BEGINIF RST='1' THEN TEMP <="0000";ELSIF CLK5'EVENT AND CLK5='1' THENIF TEMP="1111" THENTEMP <="0000";ELSETEMP<=TEMP+1;END IF;END IF;END PROCESS;SHIFT_CNT<=TEMP;SEG_SEL<="000";PROCESS(SHIFT_CNT)BEGINCASE SHIFT_CNT ISWHEN "0000" => SEG_DA<=x"3F";LED<="00000001";WHEN "0001" => SEG_DA<=x"06";LED<="00000010";WHEN "0010" => SEG_DA<=x"5B";LED<="00000100";WHEN "0011" => SEG_DA<=x"4F";LED<="00001000";WHEN "0100" => SEG_DA<=x"66";LED<="00010000";WHEN "0101" => SEG_DA<=x"6D";LED<="00100000";WHEN "0110" => SEG_DA<=x"7D";LED<="01000000";WHEN "0111" => SEG_DA<=x"07";LED<="10000000";WHEN "1000" => SEG_DA<=x"7F";LED<="00000001";WHEN "1001" => SEG_DA<=x"6F";LED<="00000010";WHEN "1010" => SEG_DA<=x"77";LED<="00000100";WHEN "1011" => SEG_DA<=x"7C";LED<="00001000";WHEN "1100" => SEG_DA<=x"39";LED<="00010000";WHEN "1101" => SEG_DA<=x"5E";LED<="00100000";WHEN "1110" => SEG_DA<=x"79";LED<="01000000";WHEN "1111" => SEG_DA<=x"71";LED<="10000000";END CASE;END PROCESS;END BEHAVE;六、实验 QuarterII原理图:七、实验过程1、用Quartus II 7.2 打开已经写好的程序,编译,建立仿真文件,进行仿真。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南石油大学计算机科学学院
实验/上机报告
课程名称:可编程逻辑系统设计 专业:计科09(嵌入式) 成绩:
指导教师:XXXXXX 姓名:XXXX 日期:2012.5.11
项目序号:实验七 学号:XXXXXX 时间:
项目名称:乘法器的设计
组号:
地点:明理楼
B319
一、实验目的
1. 通过8位移位相加乘法器的设计,理解可编程逻辑系统设计中的自顶向下设计
思想
2. 掌握原理图与VHDL编程相结合的混合设计方法
二、实验环境
1. 硬件:PC 机、EDA/SOPC/DSP 实验系统
2. 软件:Quartus II 9.0
三、实验内容
1. 验证课堂实例8位移位相加乘法器的VHDL设计并完成功能仿真
2. 为前述乘法器增加键盘输入和数码管输出接口设计,并下载到实验仪中运行
四、实验过程
(一) 实验前准备
新建工作目录exp7;新建工程exp7并设置未使用管脚为三态输入。
(二) 设计8位移位相加乘法器
1. 根据课堂实例,自行设计8位移位相加乘法器的VHDL模型,并完成功能仿真;
注:实验的元件图和实验的结果见附录1。
(三) 为乘法器增加对最终乘积的锁存
1. 新建一个VHDL文件,输入下列参考程序,以gated_reg命名保存:
2. 为上述VHDL文件生成一个元件符号,并将其添加在顶层原理图中,
3. 以上述原理图为顶层实体,重新进行功能仿真,
4.将上述顶层原理图生成一个元件符号(如multiplier),以备后续实验调用。
注:实验的元件图和实验的结果见附录2。
(四)为乘法器增加乘积显示接口
1. 新建一个VHDL文件,输入下列参考程序,以pro_ab命名保存:
2. 为上述程序生成元件符号,将用于为乘法器提供两个操作数a、b及start信号:
3. 新建一个VHDL文件,输入下列参考程序,以fre_divider_100k命名保存:
4. 为上述程序生成元件符号,将用于为数码管动态扫描提供合适的频率信号;
5. 新建一个VHDL文件,输入下列参考程序,以cutter命名保存:
6. 为上述程序生成元件符号,将用于将15位二进制形式乘积分解为4组4位,并
依次分配到4个数码管上以十六进制数字形式动态扫描输出;
7. 新建一个VHDL文件,自行设计一个4位二进制数到七段数码管显示代码的译码
器,以decoder_bto7命名保存,并为其生成元件符号;
8. 新建一个原理图文件,逐个调入上述有关器件, 完成连接,并以
multi_with_led命名保存;
注:实验的元件图见附录3
(五)为乘法器增加矩阵键盘接口
1. 新建一个VHDL文件,输入下列参考程序,以kb_decoder命名保存:
2. 为上述程序生成元件符号,将用于对实验系统4×4键盘进行扫描,并解析出
按键的编码;
3. 新建一个VHDL文件,输入下列参考程序,以constr命名保存:
4. 为上述程序生成元件符号,将用于根据两个不同按键确定乘法器的两组操作
数,并产生出乘法器所需要的start信号;
5. 在multi_with_led顶层原理图中,去掉pro_ab和k1、k2元件,调入上述新生
成的kb_decoder和constr元件,完成连接;
注:实验的元件图见附录4
五、实验总结
六、附录
1.8位移位相加乘法器
结论:
2.为乘法器增加对最终乘积的锁存
结论:
3.为乘法器增加乘积显示接口
4.为乘法器增加矩阵键盘接口