当前位置:文档之家› 实验一-用VHDL语言设计组合逻辑电路

实验一-用VHDL语言设计组合逻辑电路

实验一-用VHDL语言设计组合逻辑电路
实验一-用VHDL语言设计组合逻辑电路

实验一用VHDL语言设计组合逻辑电路

一、实验目的:掌握用VHDL语言设计组合逻辑电路的方法。熟悉QuartusⅡ的

操作。

二、实验仪器:PC机一台

三、实验内容:

1.用VHDL语言设计4选1数据选择器。

2.用文本输入法输入

3.建立工程,编译,改错,直至编译通过

4.仿真,验证所设计电路的正确性

四、操作步骤:

1、在所使用的计算机数据盘里建立自己的文件夹

2、打开QuartusII

3、单击工具栏中的new,在出现的对话框中选择VHDL File,点击OK。

4、输入设计程序。

输入结束后,将程序保存在自己的文件夹中。注意:存盘的文件名应该跟实体名相同。

5、创建工程。创建工程有两种方法:第一种方法是在保存文件后出现的对话框

中点击‘是’,按提

示进行操作;

第二种方法是在出现的对话框点击

‘否’。

第一种方法的具体过程:

点击‘是’,出项下面的框

点击‘Next’,出项

不需要任何修改,继续点击‘Next’,出项

继续点击

‘Next’,在后面出现的框图中继续点击‘Next’,直到没有‘Next’选项,点击‘Finish’,这样就完成工程的创建。

第二种方法的具体过程:点击‘否’

此时要创建工程,点击菜单File下的“New Preject Wizard”。出现框图:

点击‘Next’,出项

点击最上一行右边的,寻找你的文件所在的文件夹,点击要创建工程的文件名,点击打开(或双击要创建工程的文件名),出现

项目名称和文件名称相同。点击‘Next’,出现

点击,在出现的对话框点击文件名,点击‘打开’,出现

点击右边的‘add’,出现

点击‘Next’,在后面出现的框图中继续点击‘Next’,直到没有‘Next’选项,点击‘Finish’,这样就完成工程的创建。

6、观察QUARTUS 界面

点击箭头所指图标,观察箭头上方的变化,点击+号,双击出项的文件

7、全程编译。

点击箭头所指图标,开始全程编译。如果有错误,编译会自动停止,出现

点击确定,按提示到文件中修改错误,保存文件,继续点击全程编译的图标,如还有错误,继续上面的步骤。如没有错误,会自动完成编译

点击

时序逻辑电路设计

引言 人类社会进步,各种仪器测试设备的以电子设备代替成为趋势,各类测试仪器都希望通过电子设备来实现。电子设备在实现相应参数的测量时,具有简单容易操作,而且数据便于计算机处理等优点。目前科技的飞速进展与集成电路的发展应用,有密不可分的关系。十九世纪工业革命主要以机器节省人力,二十世纪的工业的革命则主要以电脑为人脑分劳。而电脑的发展归于集成电路工业。 集成电路是将各种电路器件集成于半导体表面而形成的电路。近年来集成电路几乎成为所有电子产品的心脏。由于集成电路微小化的趋向,使电子产品得以“轻、薄、短、小”。故集成电路工业又称微电子工业。差不多在同时数字计算机的发展提供了应用晶体管的庞大潜在市场。 20世纪90年代以后,电子科学和技术取得了飞速的发展,其标志就是电子计算机的普及和大规模集成电路的广泛应用。在这种情况下,传统的关于数字电路的内容也随之起了很大的变化,在数字电路领域EDA工具已经相当成熟,无论是电路内容结构设计还是电路系统设计,以前的手工设计都被计算机辅助设计或自动设计所取代。 通过长期的学习微电子专业理论知识,我们应该多动手实践把理论知识与实践相结合,加强对理论知识的把握。本文是十进制同步计数器的设计,对十进制同步计数器的设计进行电路原理图设计以及仿真,版图设计,版图验证。 1 设计技术要求 (1)项目名称:十进制同步计数器的设计 (2)使用工艺:2.0um硅栅工艺(tanner)或者1.0um硅栅工艺(cadence) (3)供电电源:5V (4)输入要求:异步清除,CMOS电平 (5)进行原理图设计,并完成电路的仿真 (6)版图设计,完成LVS一致性检验,生成相应的GDSII文档 2 设计构思及理论 2.1 设计思路 十进制同步计数器的设计可以细化成下列步骤: ①建立最简原始状态图。 ②确定触发器级数,进行状态编码。 ③用状态装换卡诺图化简,求状态方程和输出方程。 ④查自启动特性。 ⑤确定触发类型,求驱动方程。 ⑥画逻辑图。

东南大学 数字电路实验 第4章_时序逻辑电路

东南大学电工电子实验中心 实验报告 课程名称:数字逻辑电路设计实践 第 4 次实验 实验名称:基本时序逻辑电路 院(系):信息科学与工程学院专业:信息工程姓名:学号: 实验室: 实验组别: 同组人员:无实验时间: 评定成绩:审阅教师:

时序逻辑电路 一、实验目的 1.掌握时序逻辑电路的一般设计过程; 2.掌握时序逻辑电路的时延分析方法,了解时序电路对时钟信号相关参数的基本要求; 3.掌握时序逻辑电路的基本调试方法; 4.熟练使用示波器和逻辑分析仪观察波形图,并会使用逻辑分析仪做状态分析。 二、实验原理 1.时序逻辑电路的特点(与组合电路的区别): ——具有记忆功能,任一时刻的输出信号不仅取决于当时的输出信号,而且还取决于电路原来的值,或者说还与以前的输入有关。 2.时序逻辑电路的基本单元——触发器(本实验中只用到D触发器) 触发器实现状态机(流水灯中用到) 3.时序电路中的时钟 1)同步和异步(一般都是同步,但实现一些任意模的计数器时要异步控制时钟端) 2)时钟产生电路(电容的充放电):在内容3中的32768Hz的方波信号需要自己通过 电路产生,就是用到此原理。 4.常用时序功能块 1)计数器(74161) a)任意进制的同步计数器:异步清零;同步置零;同步置数;级联 b)序列发生器 ——通过与组合逻辑电路配合实现(计数器不必考虑自启动) 2)移位寄存器(74194) a)计数器(一定注意能否自启动) b)序列发生器(还是要注意分析能否自启动) 三、实验内容 1.广告流水灯 a.实验要求 用触发器、组合函数器件和门电路设计一个广告流水灯,该流水等由8个LED组成,工作时始终为1暗7亮,且这一个暗灯循环右移。 ①写出设计过程,画出设计的逻辑电路图,按图搭接电路。 ②将单脉冲加到系统时钟端,静态验证实验电路。 ③将TTL连续脉冲信号加到系统时钟端,用示波器和逻辑分析仪观察并记录时钟脉冲 CLK、触发器的输出端Q2、Q1、Q0和8个LED上的波形。 b.实验数据 ①设计电路。 1)问题分析 流水灯的1暗7亮对应8个状态,故可采用3个触发器实现;而且题目要求输出8个信号控制8个灯的亮暗,故可以把3个触发器的输出加到3-8译码器的控制端,对应的8个译码器输出端信号控制8个灯的亮暗。

实验三 时序逻辑电路的VHDL设计

实验三时序逻辑电路的VHDL设计 一、实验目的与要求 1、目的 (1)熟悉VHDL语言的编程方法 (2)学会利用VHDL语言设计实现时序逻辑功能器件的逻辑功能。 (3)总结体会VHDL语言的编程技巧方法 2、要求 (1)调试程序要记录调试过程中出现的问题及解决办法; (2)给出每个问题的算法或画出流程图; (3)编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验; (4)做完实验后给出本实验的实验报告。 二、实验设备、环境 PII以上计算机,装有QuartusII软件 三、方法与步骤 (一)教师简单回顾所需知识并演示较一个简单功能的实现过程。 1、简单回顾组合逻辑电路的特点及常用逻辑功能器件的功能 2、回顾QuartusII的VHDL操作步骤 3、以JKFF为例,重点演示该时序逻辑单元的VHDL设计过程。 (1)JKFF的参考VHDL源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY JK_FF IS PORT(J,K:IN STD_LOGIC; CLK:IN STD_LOGIC; Q:OUT STD_LOGIC); END JK_FF; ARCHITECTURE A OF JK_FF IS SIGNAL QTMP:STD_LOGIC; SIGNAL J_K:STD_LOGIC_VECTOR(0 TO 1); BEGIN J_K<=J&K; PROCESS(CLK,J_K) BEGIN IF CLK'EVENT AND CLK='1' THEN CASE J_K IS WHEN "00"=>NULL;

实验二 组合逻辑电路的VHDL实现

实验二组合逻辑电路的VHDL实现 一、实验目的 掌握使用VHDL语言进行时序逻辑电路设计的方法。 二、实验设备及器件 IBM PC机一台 三、实验内容 (1)用VHDL 语言设计一个D触发器,对程序进行编译和仿真,并记录仿真波形。 CLK接收到上升沿信号时,输入端D的信号被传送到输 出端Q输出,否则输出端Q维持原来的状态不变。 实验代码: D触发器LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF1 IS PORT (CLK : IN STD_LOGIC ; D : IN STD_LOGIC ; Q : OUT STD_LOGIC ); END ; ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1 : STD_LOGIC ; --类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q1 <= D ; END IF;

Q <= Q1 ; --将内部的暂存数据向端口输出 END PROCESS ; END bhv; (2)用VHDL语言设计一个十进制加法计数器,对程序进行编译和仿真,并记录仿真波形。 提示:十进制加法计数器的电路如下图所示,在时钟信号的驱动下,计数器进行累加,每次加1,其输出状态由0000变化到1001,加满回零。当复位输入端reset为低电平时,计数器复位,输出状态回到0000。 十进制加法计数器电路图 实验代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jsq10 IS PORT(CLK,RESET:IN STD_LOGIC; Q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END jsq10; ARCHITECTURE ONE OF jsq10 IS BEGIN PROCESS(CLK,RESET) BEGIN IF(RESET='0') THEN Q<="0000"; ELSIF(CLK' EVENT AND CLK='1') THEN

时序逻辑电路51时序逻辑电路的基本概念1时序逻辑电路

第5章时序逻辑电路 5.1 时序逻辑电路的基本概念 1.时序逻辑电路的结构及特点 时序逻辑电路在任何时刻的输出状态不仅取决于当时的输入信号,还与电路的原状态有关,触发器就是最简单的时序逻辑电路,时序逻辑电路中必须含有存储电路。时序电路的基本结构如图 5.1 所示,它由组合电路和存储电路两部分组成。 图5.1 时序逻辑电路框图 时序逻辑电路具有以下特点: (1)时序逻辑电路通常包含组合电路和存储电路两个组成部分,而存储电路要记忆给定时刻前的输入输出信号,是必不可少的。 (2)时序逻辑电路中存在反馈,存储电路的输出状态必须反馈到组合电路的输入端,与输入信号一起,共同决定组合逻辑电路的输出。 2.时序逻辑电路的分类 (1)按时钟输入方式 时序电路按照时钟输入方式分为同步时序电路和异步时序电路两大类。同步时序电路中,各触发器受同一时钟控制,其状态转换与所加的时钟脉冲信号都是同步的;异步时序电路中,各触发器的时钟不同,电路状态的转换有先有后。同步时序电路较复杂,其速度高于异步时序电路。 (2)按输出信号的特点 根据输出信号的特点可将时序电路分为米里(Mealy)型和摩尔(Moore)型两类。米里型电路的外部输出Z既与触发器的状态Q n有关,又与外部输入X有

关。而摩尔型电路的外部输出Z仅与触发器的状态Q n有关,而与外部输入X无关。 (3)按逻辑功能 时序逻辑电路按逻辑功能可划分为寄存器、锁存器、移位寄存器、计数器和节拍发生器等。 3.时序逻辑电路的逻辑功能描述方法 描述一个时序电路的逻辑功能可以采用逻辑方程组(驱动方程、输出方程、状态方程)、状态表、状态图、时序图等方法。这些方法可以相互转换,而且都是分析和设计时序电路的基本工具。 5.2 时序逻辑电路的分析方法和设计方法 1.时序逻辑电路的分析步骤 (1)首先确定是同步还是异步。若是异步,须写出各触发器的时钟方程。(2)写驱动方程。 (3)写状态方程(或次态方程)。 (4)写输出方程。若电路由外部输出,要写出这些输出的逻辑表达式,即输出方程。 (5)列状态表 (6)画状态图和时序图。 (7)检查电路能否自启动并说明其逻辑功能。 5.2.1 同步时序逻辑电路的设计方法 1.同步时序逻辑电路的设计步骤 设计同步时序电路的一般过程如图5.10所示。 图5.10 同步时序电路的设计过程

组合逻辑电路的VHDL设计

组合逻辑电路的VHDL设计 学院及班级:信工院电子信息工程一班 学号: 2010550428 姓名:王尧 完成时间: 2012年10月11日

(1)实验目的: 熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。 (2)实验内容1:用VHDL语言设计2选1多路选择器。 提示:参考例3-1。 要求:首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入和编译、仿真测试等步骤,给出时序仿真波形。选择目标器件EP1C3,建议选实验电路模式5,如附图1所示。用键1(PIO0,引脚号为1)控制s;a和b分别接clock0(引脚号为93)和clock2(引脚号为17);输出信号y接扬声器speaker(引脚号为129)。通过短路帽选择clock0接256Hz信号,clock2接8Hz信号。引脚锁定后进行编译、下载和硬件测试实验,通过键1控制s,可使扬声器输出不同音调。 (3)实验内容2:将此二选一多路选择器看成是一个元件mux21a,利用元件例 化语句描述图2所示电路,并将此文件放在同一目录中。 图2 双2选1多路选择器 要求:首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入和编译、仿真测试等步骤,给出时序仿真波形。然后进行引脚锁定以及硬件下载测试。选择目标器件EP1C3,建议选实验电路模式5(附图1),用键1(PIO0,引脚号为1)控制s0;用键2(PIO1,引脚号为2)控制s1;a3、a2和a1分别接clock5(引脚号为16)、clock0(引脚号为93)和clock2(引脚号为17);输出信号outy仍接扬声器spker(引脚号为129)。通过短路帽选择clock0接256Hz信号,clock5接1024Hz,clock2接8Hz信号。通过选择键1、键2,控制s0、s1,可使扬声器输出不同音调。 (4)程序设计 程序示例1: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; entity mux21a is

实验三 时序逻辑电路

实验三时序逻辑电路 学习目标: 1、掌握时序逻辑电路的一般设计过程 2、掌握时序逻辑电路的时延分析方法,了解时序电路对时钟信号相关参数的基本要求 3、掌握时序逻辑电路的基本调试方法 4、熟练使用示波器和逻辑分析仪观察波形图 实验内容: 1、广告流水灯(第9 周课内验收)用触发器、组合函数器件和门电路设计一个广告流水灯,该流水灯由8 个LED 组成,工作时始终为1 暗7 亮,且这一个暗灯循环右移。 (1) 写出设计过程,画出设计的逻辑电路图,按图搭接电路 (2) 将单脉冲加到系统时钟端,静态验证实验电路 (3) 将TTL 连续脉冲信号加到系统时钟端,用示波器观察并记录时钟脉冲CP、触发器的输出端Q2、Q1、Q0 和8 个LED 上的波形。 2、序列发生器(第10 周课内实物验收计数器方案)分别用MSI 计数器和移位寄存器设计一个具有自启动功能的01011 序列信号发生器 (1) 写出设计过程,画出电路逻辑图 (2) 搭接电路,并用单脉冲静态验证实验结果 (3) 加入TTL 连续脉冲,用示波器观察观察并记录时钟脉冲CLK、序列输出端的波形。 3、4 位并行输入-串行输出曼切斯特编码电路(第10周课内验收,基础要求占70%,扩展要求占30%) 在电信与数据存储中, 曼彻斯特编码(Manchester coding),又称自同步码、相位编码(phase encoding,PE),它能够用信号的变化来保持发送设备和接收设备之间的同步,在以太网中,被物理层使用来编码一个同步位流的时钟和数据。曼彻斯特编码用电压的变化来分辨0 和1,从高电平到低电平的跳变代表0,而从低电平到高电平的跳变代表1。信号的保持不会超过一个比特位的时间间隔。即使是0 或1 的序列,信号也将在每个时间间隔的中间发生跳变。这种跳变将允许接收设备的时钟与发送设备的时钟保持一致,图3.1 为曼切斯特编码的例子。 设计一个电路,它能自动加载4 位并行数据,并将这4位数据逐个串行输出(高位在前),每个串行输出位都被编码成曼切斯特码,当4 位数据全部传输完成后,重新加载新数据,继续传输,如图3.2 所示。

实验三vhdl时序逻辑电路设计

实验三 VHDL 时序逻辑电路设计 一、实验目的 1.熟悉用VHDL语言设计时序逻辑电路的方法 2.熟悉用Quartus文本输入法进行电路设计 二、实验所用仪器元件及用途 1.计算机:装有Quartus软件,为VHDL语言提供操作场所。 2.直流稳压电源:通过USB接口实现,为实验开发板提供稳定电源。 3.数字系统与逻辑设计实验开发板:使试验结果下载到开发板上,实现整个实验的最终结果。 三、实验内容 1.用VHDL语言设计实现一个8421码十进制计数器。 (1)实验内容及要求:在Quartus平台上设计程序和仿真题目要求,并下载到实验板上验证试验结果。 (2)试验结果:VHDL代码和仿真结果。 2.用VHDL语言设计实现一个分频系数为8,分频输出信号占空比为50%的分频器。 (1)实验内容及要求:在Quartus平台上设计程序和仿真题目要求。 (2)试验结果:VHDL代码和仿真结果。 3.用VHDL语言设计实现一个控制8个发光二极管亮灭的电路。 (1)实验内容及要求:在Quartus平台上设计程序和仿真题目要求,并下载到实验板上验证试验结果。 a.单点移动模式:一个点在8个发光二极管上来回的亮 b.幕布式:从中间两个点,同时向两边依次点亮直至全亮,然后再向中间 点灭,依次往复 c.通过拨码开关或按键控制两种模式的转换 (2)试验结果:VHDL代码和仿真结果。 四、实验设计思路及过程 1.8421码十进制计数器状态转移表 左图为8421码十进制 计数器的状态转移表,abcd 为初状态,ABCD为下一状 态,每当有“1”出现时, 相应的管脚就亮灯,从而从 0000到1001的灯依次出 现。 VHDL代码如下: LIBRARY IEEE;

实验一 组合逻辑电路的VHDL实现

实验一组合逻辑电路的VHDL实现 一、实验目的 掌握使用VHDL语言进行组合逻辑电路设计的方法。 二、实验设备及器件 IBM PC机一台 三、实验内容 按照Quartus II 软件的使用说明进行Quartus II 集成开发环境的仿真调试练习,然后按照以下内容建立文件并编译仿真调试。 (1)用VHDL 语言设计一个2选1多路选择器,对程序进行编译和仿真,并记录仿真波形。 提示:如右图所示,a和b分别为两个数据输入端,s 为通道选择控制信号输入端。当s为低电平时,a输入端的信号传送至y;当s为高电平时,b输入端的信号传送至y。 实验代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT) ; END ENTITY mux21a ; ARCHITECTURE one OF mux21a IS BEGIN y <= a WHEN s = '0' ELSE b ; END ARCHITECTURE one ;

(2)用VHDL 语言设计一个1位半 加器,对程序进行编译和仿真,并 记录仿真波形。 提示:半加器真值表如右所示。 实验代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; ENTITY h_adder IS PORT(a,b:IN STD_LOGIC; so,co:OUT STD_LOGIC); END h_adder; ARCHITECTURE example2 OF h_adder IS BEGIN so<=a XOR b; co<=a AND b; END example2; (3)用VHDL 语言设计一个三态缓冲器,对程序进行编译和仿真,并记录仿真波形。 提示:三态缓冲器电路如右图所示,如果 缓冲器的使能端en 为1,缓冲器的输入端 in1的信号值被复制到输出端;如果使能端 en 为其它数值,缓冲器的输出为高阻态。 实验代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY Threestategate IS PORT(IN1,EN:IN STD_LOGIC; 半加器真值表

实验《二》:组合逻辑与时序逻辑电路的VHDL模型实验

汕头大学实验报告 学院: 工学院系: 电子专业年级成绩: 姓名: 学号组: 实验时间: 2010-04-10 指导教师签字: _______________________________________________________________________________ 实验《二》:组合逻辑与时序逻辑电路的VHDL模型实验 一、实验目的: 1、掌握组合逻辑和时序逻辑电路的设计方法。 2、掌握组合逻辑电路的静态测试方法。加深FPGA设计的过程,并比较原理图输入和 文本输入的优劣。 3、了解通用同步计数器,异步计数器的使用方法。 4、理解积分分频器的原理。 二、硬件要求 1、拨位开关。 2、FPGA主芯片:EP1K30QC208。 3、LED显示模块。 三、实验原理 译码器是输入数码和输出数码之间的对应关系,也就是说,“输入码和输出码之间的对应表”这应该算是设计译码器的必须条件。 译码器常用来做码和码之间的转换器,也常被用于地址总线或用作电路的控制线。 例如下面为常见的3×8译码器的真值表: 实验中可根据需要,为3×8译码器加入使能控制脚。 一般的分频器可获得的分频频率种类分布不均匀,积分分频,能比较好的解决这个问题。 1、分频结果=来源频率×N/(2?-1); 2、频率波形不均匀。

四、实验内容及步骤 本实验内容是完成38译码器和5/8分频器的设计,然后将3×8译码器的结果在实验箱上实现,5/8分频器则能正确仿真、显示,实验步骤如下: 1、编写3×8译码器的VHDL代码。 2、用Quartus II对其进行编译仿真。 3、在仿真确定无误后,选择芯片ACEX1K EP1K30QC208。 4、给芯片进行管脚绑定,在此进行编译。 5、根据自己绑定的管脚,在实验箱上对键盘接口、显示接口和FPGA之间进行正确连 线。 6、给目标板下载代码,在开关输入键值,观看实验结果。 7、编写5/8分频器的VHDL代码。 8、用Quartus II对其进行编译仿真。 9、使用WaveForm进行波形仿真。 五、实验结果与分析 1、对于3×8译码器,设置了3位拨动开关为输入,8位LED为输出。时序仿真结果如下: 由图可知,A的三位为输入,Y的8位为输出。符合三八译码器真值表。经过验证,3位拨 动开关的不同组合输入,都会在LED上得到正确的输出。验证了38译码器的功能。 2、5/8分频器 由图可知,实现了5/8分频器的功能,仿真成功。

实验一 用VHDL语言设计组合逻辑电路

实验一用VHDL语言设计组合逻辑电路 一、实验目的:掌握用VHDL语言设计组合逻辑电路的方法。熟悉QuartusⅡ的 操作。 二、实验仪器:PC机一台 三、实验内容: 1.用VHDL语言设计4选1数据选择器。 2.用文本输入法输入 3.建立工程,编译,改错,直至编译通过 4.仿真,验证所设计电路的正确性 四、操作步骤: 1、在所使用的计算机数据盘里建立自己的文件夹 2、打开QuartusII 3、单击工具栏中的new,在出现的对话框中选择VHDL File,点击OK。 4、输入设计程序。 输入结束后,将程序保存在自己的文件夹中。注意:存盘的文件名应该跟实体名相同。 5、创建工程。创建工程有两种方法:第一种方法是在保存文件后出现的对话框 中点击‘是’,按提 示进行操作;

第二种方法是在出现的对话框点击‘否’。 第一种方法的具体过程: 点击‘是’,出项下面的框 点击‘Next’,出项 不需要任何修改,继续点击‘Next’,出项

继续点击‘Next’,在后面出现的框图中继续点击‘Next’,直到没有‘Next’选项,点击‘Finish’,这样就完成工程的创建。 第二种方法的具体过程:点击‘否’ 此时要创建工程,点击菜单File下的“New Preject Wizard”。出现框图: 点击‘Next’,出项

名,点击打开(或双击要创建工程的文件名),出现 项目名称和文件名称相同。点击‘Next’,出现

点击,在出现的对话框点击文件名,点击‘打开’,出现 点击右边的‘add’,出现

点击‘Next’,在后面出现的框图中继续点击‘Next’,直到没有‘Next’选项,点击‘Finish’,这样就完成工程的创建。 6、观察QUARTUS 界面 点击箭头所指图标,观察箭头上方的变化,点击+号,双击出项的文件

时序逻辑电路习题解答解读

自我测验题 1.图T4.1所示为由或非门构成的基本SR锁存器,输入S、R的约束条件是。A.SR=0B.SR=1C.S+R=0D.S+R=1 Q G 22 Q R S 图T4.1图T4.2 2.图T4.2所示为由与非门组成的基本SR锁存器,为使锁存器处于“置1”状态, 其R S?应为。 A.R S?=.R S?=10D.R S?=11 3.SR锁存器电路如图T4.3所示,已知X 、Y波形,判断Q的波形应为A、B、C、D 中的。假定锁存器的初始状态为0。 X Y X Y A B C D 不定 不定 (a)(b) 图T4.3 4.有一T触发器,在T=1时,加上时钟脉冲,则触发器。 A.保持原态B.置0C.置1D.翻转 5.假设JK触发器的现态Q n=0,要求Q n+1=0,则应使。 A.J=×,K=0B.J=0,K=×C.J=1,K=×D.J=K=1 6.电路如图T4.6所示。实现A Q Q n n+ = +1的电路是。

A A A A A . B . C . D . 图T4.6 7.电路如图T4.7所示。实现n n Q Q =+1的电路是 。 CP CP CP A . B . C . D . 图T4.7 8.电路如图T4.8所示。输出端Q 所得波形的频率为CP 信号二分频的电路为。 1 A . B . C . D . 图T4.8 9.将D 触发器改造成T T Q 图T4.9 A .或非门 B .与非门 C .异或门 D .同或门 10.触发器异步输入端的作用是。 A .清0 B .置1 C .接收时钟脉冲 D .清0或置1 11.米里型时序逻辑电路的输出是。 A .只与输入有关

实验四_基本时序逻辑电路的VHDL模型

实验四基本时序逻辑电路的VHDL模型 一、实验目的 1掌握简单的VHDL程序设计。 2 掌握VHDL语言对基本时序逻辑电路的建模。 二、实验内容 分别设计并实现锁存器、触发器的VHDL模型。(一)寄存(锁存)器 1 实验原理 寄存器用于寄存一组二值代码,广泛用于各类数字系统。因为一个触发器能储存1位二值代码,所以用N个触发器组成的寄存器能储存一组N位的二值代码。 2 实验内容: 实现同步锁存器(同步锁存器指复位和加载功能全部与时钟同步,复位端的优先级最高。在数字系统设计时,采用完全同步的锁存器,可以避免时序错误。) 附:一个8位寄存器的VHDL描述。 LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG IS PORT(D:IN STD_LOGIC_VECTOR(0 TO 7); CLK:IN STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(0 TO 7)); END REG; ARCHITECTURE ART OF REG IS BEGIN PROCESS(CLK) BEGIN IF(CLK'EVENT AND CLK=‘1’)THEN Q<=D; END IF; END PROCESS; END ART; (二)触发器 实验内容: 1、D触发器 1)、带异步置位的D触发器(当时钟信号或置位信号有跳变时激活进程。如果置位信号有效(高电平),D触发器被置位,输出信号高电平,如果置位

信号无效,此时时钟信号出现上升沿,D触发器输出信号变为输入信号); 2)、带异步复位和置位的D触发器(当时钟信号、复位信号或置位信号有跳变时激活进程。如果复位信号有效(高电平),D触发器被复位,输出信号低电平;如果复位信号无效置,而置位信号有效(高电平),D触发器被置位,输出信号高电平,如果复位信号和置位信号都无效,此时时钟信号出现上升沿,D触发器输出信号变为输入信号)。 附:最简单的D触发器,没有复位和职位信号。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DCFQ IS PORT(D,CLK:IN STD_LOGIC; Q:OUT STD_LOGIC); END DCFQ; ARCHITECTURE ART OF DCFQ IS BEGIN PROCESS(CLK) BEGIN IF (CLK'EVENT AND CLK=‘1’)THEN -- 时钟上升沿触发

实验一 组合逻辑电路的设计

实验一 组合逻辑电路的设计 一、实验目的: 1、 掌握组合逻辑电路的设计方法。 2、 掌握组合逻辑电路的静态测试方法。 3、 加深FPGA 设计的过程,并比较原理图输入和文本输入的优劣。 4、 理解“毛刺”产生的原因及如何消除其影响。 5、 理解组合逻辑电路的特点。 二、实验的硬件要求: 1、 EDA/SOPC 实验箱。 2、 计算机。 三、实验原理 1、组合逻辑电路的定义 数字逻辑电路可分为两类:组合逻辑电路和时序逻辑电路。组合逻辑电路中不包含记忆单元(触发器、锁存器等),主要由逻辑门电路构成,电路在任何时刻的输出只和当前时刻的输入有关,而与以前的输入无关。时序电路则是指包含了记忆单元的逻辑电路,其输出不仅跟当前电路的输入有关,还和输入信号作用前电路的状态有关。 通常组合逻辑电路可以用图1.1所示结构来描述。其中,X0、X1、…、Xn 为输入信号, L0、L1、…、Lm 为输出信号。输入和输出之间的逻辑函数关系可用式1.1表示: 2、组合逻辑电路的设计方法 组合逻辑电路的设计任务是根据给定的逻辑功能,求出可实现该逻辑功能的最合理组 合电路。理解组合逻辑电路的设计概念应该分两个层次:(1)设计的电路在功能上是完整的,能够满足所有设计要求;(2)考虑到成本和设计复杂度,设计的电路应该是最简单的,设计最优化是设计人员必须努力达到的目标。 在设计组合逻辑电路时,首先需要对实际问题进行逻辑抽象,列出真值表,建立起逻辑模型;然后利用代数法或卡诺图法简化逻辑函数,找到最简或最合理的函数表达式;根据简化的逻辑函数画出逻辑图,并验证电路的功能完整性。设计过程中还应该考虑到一些实际的工程问题,如被选门电路的驱动能力、扇出系数是否足够,信号传递延时是否合乎要求等。组合电路的基本设计步骤可用图1.2来表示。 3、组合逻辑电路的特点及设计时的注意事项 ①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。(实际电路中 图 1.1 组合逻辑电路框图 L0=F0(X0,X1,···Xn) · · · Lm=F0(X0,X1,···Xn) (1.1) 图 1.2 组合电路设计步骤示意图图

常用组合逻辑电路设计

实 验 报 告 实验日期: 学 号: 姓 名: 实验名称: 常用组合逻辑电路设计 总 分: 一、实验目的 学习常用组合逻辑电路的可中和代码编写,学习并熟悉VHDL 编程思想与调试方法,掌握LPM 元件实现逻辑设计,从而完成电路设计的仿真验证和硬件验证,记录结果。 二、实验原理 VHDL 设计采用层次化的设计方法,自上向下划分系统功能并逐层细化逻辑描述。层次关系中的没一个模块可以是VHDL 描述的实体,上层VHDL 代码中实例化出各个下层子模块。 利用VHDL 语言和LPM 元件设计这两种方法方法实现两个二位数大小比较的电路,根据A 数是否大于、小于、等于B 数,相应输出端F1、F2、F3为1,设A=A2A1,B=B2B1(A2A1、B2B1表示两位二进制数),当A2A1>B2B1时,F1为1;A2A1

port(a2,a1:in STD_LOGIC; b2,b1:in STD_LOGIC; f1,f2:buffer STD_LOGIC; f3:out STD_LOGIC); end bijiao; architecture bijiao_arch of bijiao is begin f1<=(a2 and(not b2))or(a1 and (not b1)and a2)or(a1 and (not b1)and(not b2)); f2<=((not a2)and b2)or((not a2)and(not a1)and b1)or((not a1)and b1 and b2); f3<=not(f1 or f2); end bijiao_arch; (2)波形仿真 网格大小 100ns 结束时间 2μs 功能仿真:时序仿真:输入信号00, 01,10,11 输入信号00, 01,10,11 输出信号001, 010,100 信号均为二 进制表达 输入信号00, 01,10,11

用VHDL设计三八译码器。。超赞版

3-8译码器的设计 1 设计目的与要求 随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。 1.1 设计的目的 本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC

设计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。 1.2 设计要求 根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL 设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。 关键词:输入、输出、译码 2 VHDL的简单介绍 2.1 VHDL的简介 VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在我过的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分

时序逻辑电路设计

时序逻辑电路的设计 一、实验目的 1. 熟悉集成计数器的逻辑功能和各控制端的作用。 2. 掌握计数器的使用方法。 3. 掌握任意进制计数器的设计方法。 4. 了解8421BCD和5421BCD的编码规则。 二、实验器材 集成计数器74LS90、四2输入与非门74LS00、双4输入与非门74LS20、四异或门74LS86、六非门74LS04、显示译码器7447/7448、七段数码管 三、实验任务及要求 1. 设计要求 (1)用1片74LS90和1片与非门设计一个5进制计数器。 (2)用2片74LS90和1片与非门设计一个四十以内(十以上)的任意进制计数器。 2.实验内容 (1)测试所用芯片74LS90的逻辑功能(置0、置9、8421BCD计数输出功能)。(2)组装所设计的时序逻辑电路,并验证其功能是否正确。 提示:计数器的状态输出端分别接在实验箱上的显示译码器的输入端,用七段数码管显示计数状态值。CP接实验箱上的可调连续脉冲。 四、实验原理 1. 74LS90的逻辑功能

74LS90是二-五-十进制异步计数器。 (1)R9(1)=R9(2)=“1”,Q3Q2Q1Q0=1001,置9; (2)R0(1)=R0(2)=“1”,R9(1)‖R9(2)=“0”,Q3Q2Q1Q0=0000,置0; (3)计数脉冲由CP0端输入,输出由Q0端引出,即得二进制计数器; (4)计数脉冲由CP1端输入,输出由Q3,Q2,Q1端引出,即得五进制计数器;(5)将Q0和CP1相连,计数脉冲由CP0端输入,输出由Q3,Q2,Q1,Q0端引出,即得8421BCD码十进制计数器; 2. 时序逻辑电路的基本设计方法 Step 1:明确设计电路功能,作出基于功能涉及到的所有编码排序的状态转换图;Step 2:判断电路是否有输入或输出变量,并根据状态转换图画出状态转换表; Step 3:根据状态转换表,分离出各触发器输出量Q 0~Q m (m=1、2、3…)、输出 变量Y的卡诺图并化简,得到各个触发器的状态方程;

vhdl_参考答案_上机练习三:时序逻辑电路设计 2

VHDL与复杂数字系统设计 上机实验3:时序逻辑电路的VHDL程序设计 一、实验目的: 1.掌握在Max+plus II开发平台上,使用硬件描述语言设计电路的基本操作 步骤; 2.运用所学VHDL的描述语句完成一种时序逻辑电路的设计。 二、要点: 时序逻辑电路在电路结构上有两个显著特点: 第一,时序电路通常包含组合电路和存储电路两个组成部分,而且存储电路是必不可少的。第二,存储电路的输出状态必须反馈到组合电路的输入端,与输入信号一起,共同决定组合逻辑电路的输出。 时序电路的信号变化特点: 时序电路以时钟信号为驱动;电路内部信号的变化(或输出信号的变化)只发生在特定的时钟边沿;其他时刻输入信号的变化对电路不产生影响; 要点:执行条件的控制; 时钟边沿的检测; 1、执行条件的控制 采用进程描述可以有效控制执行条件,若进程以时钟信号(clk)为唯一敏感信号,则只有当时钟信号变化时,进程才执行;在其他时刻,任何输入信号的变化对电路(进程)不起作用; 模版1: process(clock) --敏感信号表中只有时钟 begin if rising_edge(clock) then--监测时钟上升沿,若用falling_edge(clock) ……--则监测时钟下升沿。 end if; end process; 例:时钟上升沿动作的D触发器 library ieee; use ieee.std_logic_1164.all;

entity dff1 is port(clk, d: in std_logic; q: out std_logic); end dff1; architecture rtl of dff1 is begin process(clk) begin if (clk'event and clk='1') then q<=d; end if; end process; end rtl; 时序逻辑电路的初始状态应由复位(或清零)信号来设置,根据复位信号对时序逻辑电路复位操作的不同,可分为同步复位和异步复位。 同步复位:复位信号有效,并且在给定的时钟边沿到来时,触发器才被复位。同步复位在以时钟为敏感信号的进程中定义,且用if 语句来描述复位条件。 模版2: process(clock) --敏感信号表中只有时钟信号 begin if rising_edge(clock) then--监测时钟边沿 if (reset_condition) then --监测同步复位信号的电平值 signal_out<=reset_value; else signal_out<= signal_in; …… end if; end if; end process;

VHDL时序逻辑电路实验报告

北京邮电大学电路实验中心 <数字电路与逻辑设计实验> 实 验 报 告 实验名称:VHDL时序逻辑电路设计

一、实验名称 VHDL时序逻辑电路设计 二、实验目的 1、熟悉VHDL硬件语言 2、掌握分频器的VHDL描述方法 3、掌握异步8421十进制计数器的VHDL描述方法 4、掌握用VHDL连接电路的方法 三、设计任务要求 1、设计8421十进制计数器并仿真验证 2、设计分频系数为10的分频器并仿真验证 3、将计数器、分频器、数码管译码器3个电路进行连接 四、VHDL代码 1、分频器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY fenpinqi IS --分频系数10 PORT( clk : IN STD_LOGIC; clear : IN STD_LOGIC; clk_out : OUT STD_LOGIC); END fenpinqi; ARCHITECTURE behave OF fenpinqi IS SIGNAL tmp: INTEGER RANGE 0 TO 4; SIGNAL clktmp : STD_LOGIC; BEGIN PROCESS(clear,clk) BEGIN IF clear = '1' THEN

tmp <= 0; ELSIF clk'event AND clk = '1' THEN IF tmp = 4 THEN tmp <= 0;clktmp <= NOT clktmp; ELSE tmp <= tmp+1; END IF; END IF; END PROCESS; clk_out <= clktmp; END behave; 2、8421十进制计数器 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY jishuqi IS PORT( clk,clear:IN STD_LOGIC; q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END jishuqi; ARCHITECTURE behave OF jishuqi IS SIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN PROCESS(clk) BEGIN IF clear='1'THEN q_temp<="0000"; ELSIF(clk'EVENT AND clk='1')THEN IF q_temp="1001"THEN q_temp<="0000"; ELSE q_temp<=q_temp+1; END IF; END IF; END PROCESS; q<=q_temp; END behave;

实验一 组合逻辑电路的VHDL设计

组合逻辑电路的VHDL设计 学院及班级: 学号: 姓名: 完成时间:

(1)实验目的: 熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。 (2)实验内容1:用VHDL语言设计2选1多路选择器。 提示:参考例3-1。 要求:首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入和编译、仿真测试等步骤,给出时序仿真波形。选择目标器件EP1C3,建议选实验电路模式5,如附图1所示。用键1(PIO0,引脚号为1)控制s;a和b分别接clock0(引脚号为93)和clock2(引脚号为17);输出信号y接扬声器speaker(引脚号为129)。通过短路帽选择clock0接256Hz信号,clock2接8Hz信号。引脚锁定后进行编译、下载和硬件测试实验,通过键1控制s,可使扬声器输出不同音调。 (3)实验内容2:将此二选一多路选择器看成是一个元件mux21a,利用元件例 化语句描述图2所示电路,并将此文件放在同一目录中。 图2 双2选1多路选择器 要求:首先利用QuartusⅡ完成2选1多路选择器的文本编辑输入和编译、仿真测试等步骤,给出时序仿真波形。然后进行引脚锁定以及硬件下载测试。选择目标器件EP1C3,建议选实验电路模式5(附图1),用键1(PIO0,引脚号为1)控制s0;用键2(PIO1,引脚号为2)控制s1;a3、a2和a1分别接clock5(引脚号为16)、clock0(引脚号为93)和clock2(引脚号为17);输出信号outy仍接扬声器spker(引脚号为129)。通过短路帽选择clock0接256Hz信号,clock5接1024Hz,clock2接8Hz信号。通过选择键1、键2,控制s0、s1,可使扬声器输出不同音调。 (4)程序设计 程序示例1: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; entity mux21a is

相关主题
文本预览
相关文档 最新文档