EDA实验指导书.doc_第1页
EDA实验指导书.doc_第2页
EDA实验指导书.doc_第3页
EDA实验指导书.doc_第4页
EDA实验指导书.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

EDAEDA 实实 验验 指指 导导 书书 艾艾 明明 晶晶 北京航空航天大学计算机学院北京航空航天大学计算机学院 20052005 年年 4 4 月月 前前 言言 电子设计自动化(EDA,Electronic Design Automation)技术是微电子技术中的 核心技术之一,是现代集成系统设计的重要方法。它是在计算机的辅助下完成电子产品 设计方案的输入、处理、仿真和下载的一种硬件设计技术。对于理工科类的大学生,学 习和掌握 EDA 技术,是非常有必要的。 由于 EDA 课程具有极强的工程实践性,所以配合理论教学,同时开设了 EDA 实验课。 为此笔者结合课堂教学的相关内容,编写了这本实验指导书。 本书提供了一系列由浅入深的 EDA 基本实验项目和扩展实验项目,包括基本数字逻 辑实验和数字系统实验,计算机接口类实验,自动控制类实验以及应用类实验。学生除 完成教学内容规定的实验外,还可自主选做难度较大的实验。 通过这些实验及 EDA 工具软件 MAX + PLUS、Quartus和 ModelSim 的使用,学生 可在较短时间内掌握 EDA 技术的原理和方法,熟悉 EDA 设计的全过程,包括器件的选 择、逻辑设计、输入、编译、仿真以及器件的编程下载、在线校验等环节;同时有助于 学生拓宽知识面,进一步深化对数字逻辑、计算机接口和通信以及可编程逻辑器件等知 识的理解,综合运用所学知识,熟练应用 EDA 技术进行 PLD 的设计与开发,并能基于 PLD 自行设计、开发出复杂数字系统。 目目 录录 实验一 时钟分频电路 .1 实验二 按钮消抖电路 .1 实验三 带清零和启动/停止计数的 2 位十进制加法计数器 1 实验四 电子秒表电路 .1 实验五 交通红绿灯控制器 .1 在做每一个实验之前,先在资源管理器中为该实验建立一个子文件夹,以便将该实验 的所有相关文件都存于此文件夹下。 实验一 时钟分频电路 一、实验目的 1了解时钟分频电路的原理。 2掌握使用 always 块结构和 if-else 语句实现时序逻辑电路的方法。 3掌握使用 reg 型变量实现同步计数器的方法。 4掌握 Verilog HDL 语言中 parameter 常量及 if 语句的用法。 5学习和掌握采用 ModelSim 软件进行功能仿真的方法。 二、实验要求 设计一个时钟分频电路,其输入信号为输入时钟信号 clki,清零脉冲 clr(高有效) ;输出信号为 输出时钟 clko。 1假设输入时钟周期为 1ms,试设计一个分频电路,使其输出时钟的周期为 10ms。 2假设输入时钟频率为 50MHz,即周期为 20ns,试设计一个分频电路,使其输出时钟的周期为 1ms。 三、实验原理 1 时钟分频电路的原理 对于下降沿触发的异步二进制加法计数器,可用 n 个 T触发器,实现对输入时钟的 2n分频。 将低位触发器的输出,接到高一位触发器的 CP 端(下降沿触发时) ,最高位触发器的输出,即为对输 入时钟的 2n分频信号。 而对于同步二进制加法计数器,是用 n 个 T 触发器,实现对输入时钟的 2n分频。即第一级触发 器的 T1=1;第二级触发器在第一级触发器为 1 时,再来计数脉冲才翻转,因此 T2=Q1;第三级触发器 在第一级、第二级触发器都为 1 时,再来计数脉冲才翻转,因此 T3=Q2Q1;依此类推,第 n 级触发器 的 Tn=Qn-1 Q2Q1。最高位触发器的输出,即为对输入时钟的 2n分频信号。 注意:通常是采用同步二进制加法计数器来实现时钟分频电路的! 2如何实现非 2n分频的整数分频? 可使用 reg 型变量实现计数器的功能。用 parameter 常量设定计数器的宽度,当计数器的值达到 此宽度时,计数器重新回到 0 状态,否则继续计数。 若电路没有特殊要求,可用加法计数器的最高位输出作为分频电路的输出;否则根据实际要求对 分频电路的输出进行赋值。 四、实验内容 1用 Verilog HDL 语言设计第一个分频电路(1ms10ms) 。 (1)用加法计数器的最高位输出作为分频电路的输出。 (2)同样采用加法计数器,使输出时钟的波形如下图所示。即 clko 在计够 10 个数后才有一个 正跳变。 (3)如何使输出时钟信号的前半周为低电平,后半周为高电平?试设计此种分频电路。 设计输入后,选择 Stratix 系列的 EP1S10F780C6 器件,对设计项目进行编译和仿真(提示:仿 真时 clock 的 T = 1ms,Grid Size = 1ms,End Time = 100ms;并且可用“EditInsert Node or Bus” 命令将计数器的输出显示在波形编辑器上) 。然后建立一个默认的逻辑符号,以供后面的电子秒表电 路中使用。 2用 Verilog HDL 语言设计第二个分频电路(20ns1ms) 。 (1)设计输入后,选择 Stratix 系列的 EP1S10F780C6 器件,对设计项目进行编译和仿真。 (2)采用 ModelSim 软件进行功能仿真。 五、实验报告 1在第一个分频电路中,三种方法的仿真波形有何不同?哪种波形更合理? 2仿真中是否出现竞争冒险?若有,是如何解决的? 3给出每种方法的仿真波形截图,并结合自己的设计思路加以说明。 4思考与练习:利用 10MHz 的时钟,设计一个单周期形状如下图所示的周期波形。 实验二 按钮消抖电路 一、实验目的 1掌握按钮消抖电路的原理。 2掌握定时器的实现方法。 3掌握 Verilog HDL 语言中采用 reg 型变量作为中间变量的用法。 二、实验原理 1在 Altera 编程下载实验板上有四个按钮开关,可用来提供低电平有效的脉冲信号。它们属于 机械开关,在按下时机械触点有可能接触不可靠,在动作初期会产生多次抖动,从而对其后的电路形 成多次输入。因此有必要设计一个按钮消抖电路,将抖动屏蔽掉。 2输入信号为时钟信号 clk(fclk = 1000Hz) ,及按钮提供的脉冲信号 pbn(低有效) ;输出信号为 signal(负脉冲) 。一旦按钮按下,则此电路输出一个持续时间一定的有效信号。在此期间,即使按钮 有几个连续的负脉冲,但电路输出仍保持低电平,从而将按钮的抖动屏蔽掉。 0T 20s20s 10s 3使用几个 reg 型变量构成加法或减法计数器来实现输出有效信号的定时。定时的长短可根据按 钮的实际抖动时间来确定(这里为 0.12s) 。 4因为 pbn 只是一个负脉冲信号,而不是电平信号,故应考虑使用一个中间变量 enable 来控制 计数。 若采用加法计数器,采用 if 语句描述:当 pbn 有效或 enable 为“1”时(靠靠 pbnpbn 来启动计数,用来启动计数,用 enableenable 来维持记数来维持记数) ,计数器加 1 计数;当计到 121 时,使计数器清零。采用阻塞赋值语句描述:当 计数器的值=0 时,signal 为“1” ,enable 为“0” ;而在计数器的值不为 0 时,signal 为“0” ,enable 为“1” 。 若采用减法计数器,当计数值为初值 120 时,enable 变为低电平,此时靠靠 pbnpbn 来启动计数来启动计数;当计 数值不为 120 时,enable 为高电平,此时不论 pbn 为高电平或低电平,计数器都继续减 1 计数,直到 减到零为止,也即用 enableenable 来维持记数来维持记数。 采用加法计数器的仿真波形如下所示。 三、实验内容 1用 Verilog HDL 语言进行设计输入。 2选择 Stratix 系列的 EP1S10F780C6,对设计项目进行编译和仿真。若仿真波形出现毛刺,试分 析原因并修改程序,消除毛刺。 3采用 ModelSim 软件进行功能仿真。 4创建一个默认的逻辑符号,供以后的高层设计文件调用。 四、实验报告 1分析按钮消抖电路的原理。 2在设计中是否遇到问题?是如何解决的? 3给出采用 ModelSim 软件进行功能仿真的测试文件和仿真波形,并对照波形对按钮消抖电路的 功能加以说明。 实验三 带清零和启动/停止计数的 2 位十进制加法计数器 一、实验目的 1掌握 2 位 8-4-2-1 编码的二-十进制同步加法计数器的原理。 2掌握用 T触发器实现启动/停止计数的方法。 二、实验要求 1设计一个 2 位 8-4-2-1 编码的二-十进制同步加法计数器,具有清零和启动/停止计数功能。 2启动计数和停止计数使用同一个输入信号。当第一次按下启/停按钮时,启动计数;第二次按 下启/停按钮时,则暂停计数;第三次按下启/停按钮时,在原来的数值基础上继续计数。这里可使用 一个 T触发器来控制计数器的时钟。 3仿真时输入时钟信号的周期为 0. .1s。 其仿真波形如下: 三、实验内容 1用 Verilog HDL 语言设计。 2设计输入后,选择 Stratix 系列的 EP1S10F780C6 器件,对设计项目进行编译和仿真(注意必 须仿真计到 9.9s 后的结果) 。并创建一个默认的逻辑符号,供电子秒表电路调用。 3采用 ModelSim 软件进行功能仿真。 四、实验指导 程序中关键是采用了一个 reg 型变量 enable 来根据启/停信号控制计数。 这里采用了两个 always 模块。第一个模块用于产生 enable 信号,enable 构成 T触发器触发器来控制计 数器的计数。即启/停信号作为 TFF 的时钟输入,enable 作为 TFF 的输出信号,采用语句 enable=enable+1; 或 enable=!enable;即可实现 TFF。当第 1 次 startstop 有效时,enable 由“0” “1” ;当第 2 次 startstop 有效时,enable 由“1”“0” ;当第 3 次 startstop 有效时,enable 由 “0”“1” 第二个 always 模块根据 enable 信号控制计数器的启/停。当 enable 为“1” ,计数器进行加 1 计数; 否则停止计数,维持原计数值。 五、实验报告 1在设计中是否遇到问题?是如何解决的? 2给出采用 ModelSim 软件进行功能仿真的测试文件和仿真波形,并对照波形对计数器的功能加 以说明。 实验四 电子秒表电路 一、实验目的 1了解掌握电子秒表电路的结构与原理。 2掌握创建顶层图形设计文件的方法。 3熟练掌握引脚锁定及编程下载的方法。 二、实验要求 1利用前面设计的 2 位十进制计数器、时钟分频电路模块(将 T = 0.1ms 分频为 T = 0.01s) ,参 照教材上的 7 段 LED 数码管译码器,设计一个电子秒表电路,使其按 0.01s 的步长进行计时。该电子 秒表具有清零和启动/停止计数功能,并用数码管显示其秒高位、秒低位,百分秒高位、百分秒低位。 为便于显示,秒和百分秒信号均采用 BCD 码计数方式。 2设计此电路的关键在于 BCD 码计数器的计数时钟,它应由启/停按钮来控制:当启动计数时, 计数时钟输出为 T = 0.01s 的时钟信号;当停止计数时,计数时钟输出维持在高电平或低电平,同时 产生计数时钟信号的计数器(即分频计数器)保持原计数值! 3利用 Altera 公司的 Stratix 开发板实现设计的编程下载。编程器件为 EP1S10F780C6。使用开发 板上的晶振提供的全局时钟信号(fclk = 50MHz) (Pin-K17) ,用其上的按钮式开关 SW0(Pin-W5) 、 SW1(Pin-W6) (低有效低有效)实现清零和启动/停止计数功能,用其上的 2 个 7 段码显示数码管(共阳级共阳级) U8、U9 显示计数器秒高位和秒低位的值。注意电路中还设计了百分秒高位和百分秒低位输出信号, 但由于开发板的数码管只有两个,故在本实验中对百分秒高位和百分秒低位输出信号经过译码后的输 出信号,将不进行引脚锁定。 三、实验内容 1创建顶层图形设计文件。 2选择 Stratix 系列的 EP1S10F780C6 器件,对设计项目进行编译。 3进行仿真。 要求要求: (1)输入时钟周期为 0.1ms;仿真的结束时间为 64s。 (2)为便于观察仿真波形,必须仿真 BCD 码计数器的 4 位输出信号,而不是 7 段 LED 数码 管译码器的输出。 (3)注意仿真启动计数、暂停计数以及继续计数的功能。在计到 59.99s 后,计数器应回到 0 状态,并重新开始计数。 (4)另外还应仿真清零功能。 顶层图形设计文件和仿真波形分别如下图所示。 注意这里 startstop 和 clr 信号都是低有效! 注意观察注意观察: (1)计数步长是否精确为 0.01s?若不是,试设法解决。 (2)当启/停按钮第一次按下后,0.01 秒位计数器是否从 0 开始计数,并持续 0.01s 后才跳为 1?若不是,试修改设计,解决此问题。 (3)观察当按一下清零按钮时,4 个计数器是否被清零,并保持 0;clkout 是否变为“0”并一 直保持“0” ,直到又按下启/停按钮重新开始计数并计到 99 时才变为“1” ,然后再变为“0” 。如果不 是,试修改设计,解决此问题。 4上述仿真完全正确后,将原顶层图形设计文件另起名保存,并在其时钟输入引脚后增加一个时 钟分频模块,将输入时钟 fclk = 50MHz 分频为 f = 10KHz,即 T = 0.1ms。编译通过后,再进行引脚锁 定。 (1)信号定义及下载板资源分配)信号定义及下载板资源分配 输入信号输入信号: clk:系统时钟信号,50MHz,接 Pin-K17; clr:时间清零信号,负脉冲有效,接按钮开关 SW0(Pin-W5) ; startstop:启/停信号,负脉冲有效,接按钮开关 SW1(Pin-W6) 。 输出信号输出信号: dsec60:驱动数码管 U8,显示秒高位,对应数码管的 ag,分别连 Pin-A18、Pin-C18、Pin- D18、Pin-A19、Pin-B19、Pin-C19、Pin-E19; sec60:驱动数码管 U9,显示秒低位,对应数码管的 ag,分别连 Pin-B18、Pin-B20、Pin- A20、Pin-C20、Pin-A21、Pin-B21、Pin-C21; dp2: 让 U8 数码管的小数点 dp2 始终接 VCC,使其点亮,连 Pin-D21; cn:分钟的进位信号,接发光二极管 D7(Pin-L19) 。 secd60、secm60是设计用来分别显示百分秒高位和百分秒低位,但由于开发板的数码管不 够,在本实验中将不进行引脚锁定。 5编程下载(具体操作参见Nios2 开发板使用说明开发板使用说明 ) 。 6在线校验。 根据电子秒表电路的实际工作过程,验证电路的各种功能。 四、实验报告 1仿真中是否出现竞争冒险?若有,是如何解决的? 2设计中遇到了哪些问题,是如何解决的? 3给出主要仿真波形的截图,根据仿真波形分析并说明电子秒表电路的工作过程。 实验五 交通红绿灯控制器 一、实验目的 1了解交通红绿灯控制器的工作原理。 2掌握建立状态机的逻辑模型的方法。 3掌握状态机的实现和多个状态机的组合使用方法。 二、实验要求 建立能完成以下功能的交通红绿灯控制器的逻辑模型: 假定十字交叉路的两个方向各有一组红、黄、绿三个灯组成的交通灯,可以由交通警察人工控 制的红绿灯控制器功能如下:正常时,交替放行十字交叉路的两个方向,放行时间相等;交通堵塞时, 由交通警察人工控制某方向的放行时间,以便按照交通负荷疏导阻塞车辆。 在正常运行状态下,两组交通灯按以下规律自动进行转换,在不同时刻分别放行不同方向上的 车辆: (绿,红)2s(绿黄,红)0.5s(黄,红)2s(黄红,红)2s(红,黄)1s(红,绿) 5s(红,绿黄)0.5s(红,黄)2s (红,黄红)2s(黄,红)1s(绿,红)3s 注注:括号内以逗号分隔的分别为 A、B 两个方向点亮的交通灯。 人工控制放行的方法是,在欲放行某方向时按下该方向的“放行”按钮,则红绿灯自动将相应 方向的道路放行,此后不会自动放行另一个方向的道路,这时候若按一次“恢复到正常状态”按钮, 则整个系统恢复到正常运行状态。 限制规则限制规则为,若现在正处于放行与不放行之间的切换过程中,即有黄灯亮时,则不允许立刻改 变放行方向,必须按正常运行到所需放行的方向时,才保持放行该方向;而且每个方向的放行时间不 得小于某一最小值(假定为 3 秒钟) ,以免车辆频繁起停。只有在(绿,红)(绿,红)2s 和(红,绿)(红,绿)2s 状态 下,可以人工控制改变放行方向,即直接跳转到下一状态直接跳转到下一状态。 另外如果某方向处于人工放行的状态,应有指示灯指示这一情况。 三、实验指导 1基于状态机的设计 (1)有限状态机 有限状态机有限状态机(FSM,Finite State Machine)是时序电路设计中经常采用的一种方式,尤其适合于 设计数字系统的控制模块。在 Verilog HDL 中采用 case、if-else 语句语句可以很好地描述基于状态机的设 计。 状态机可以认为是组合逻辑和寄存器逻辑的特殊组合,它一般包括两个部分:组合逻辑部分和 寄存器部分。组合逻辑部分又包括次态逻辑和输出逻辑,分别用于状态译码和产生输出信号;寄存器 部分用于存储状态。 状态机的次态是现态及输入信号的函数,输出信号根据状态机的现态或输入信号而定。 根据输出信号产生方法的不同,状态机可分为两类:摩尔(Moore)型状态机和米里(Mealy) 型状态机。对于 MooreMoore 型状态机,其输出只为状态机当前状态的函数,而与输入无关。而对于 MealyMealy 型状态机,其输出不仅与状态机当前状态有关,而且与输入有关。如下图所示。 输出 现态次态 现态 输入 次态 逻辑 状态 寄存器 输出 逻辑 输出 现态 次态 现态 输入 次态 逻辑 状态 寄存器 输出 逻辑 (1)Moore 型状态机 (2)Mealy 型状态机 图图 1 1 两种有限状态机两种有限状态机 实用的状态机一般都设计为同步同步时序电路,它在时钟信号的触发下,完成各状态之间的转移。 (2)状态机的表示方法 状态机有 3 种表示方法:状态图、状态表和流程图。这 3 种表示方法是等价的,相互之间可以 转换。其中状态图最常用。 图 2 为 Mealy 型状态图的表示。图中每个圆圈表示状态机的一个状态,每个箭头表示状态的一 次转移,引起状态转移的输入信号及产生的输出信号标注在箭头上。 图图 2 2 MealyMealy 型状态图的表示型状态图的表示 图 3 为 Moore 型状态图的表示。图中每个圆圈内横线上方文字为状态机的状态,横线下方文字为 状态机的输出(因为状态机的输出与输入无关,它只是当前状态的函数) 。 图图 3 Moore 型状态图的表示型状态图的表示 (3)起始状态的选择 起始状态指电路复位后所处的状态,选择一个合理的起始状态将使整个系统简捷高效。 对于有限状态机,必须有时钟和复位输入信号必须有时钟和复位输入信号! (4)状态编码 对于具有 N 个状态的状态机,常用有两种状态编码方式。一种是采用 log2N 个触发器来表示这 N 个状态,比如某状态机有 6 个状态,则只需 3 个触发器实现状态编码。 另一种采用 N 个触发器来表示这 N 个状态称为一位热码状态机编码一位热码状态机编码(One-Hot State Machine Encoding) 。采用此方法,虽然使用的触发器较多,但可有效地节省和简化组合电路。对于寄存器数 量多,而门逻辑相对缺乏的 FPGA 器件,采用 1 位热码编码,可有效提高电路的速度和可靠性,并可 充分利用器件资源。因此,对于 FPGA 器件,建议采用此编码方法。 采用采用 Verilog HDL 语言实现基于状态机的设计,就是在时钟信号的触发下,完成两项任务:语言实现基于状态机的设计,就是在时钟信号的触发下,完成两项任务: (1)用)用 case 或或 if-else 语句描述出状态的转移,语句描述出状态的转移, (2)描述状态机的输出信号。)描述状态机的输出信号。 2设计思路 设计此控制器的关键在于根据其功能要求(如正常运行状态下的交通灯自动转换规律,人工放行 功能及限制规则) ,确定其输出信号,以便控制两组交通灯的亮或灭,并在交通岗内向交通警察显示 人工放行的状态。 该控制器的逻辑模型可分为三个部分:工作状态控制器、操作规则实现电路以及红绿灯信号生成 器。三个部分之间紧密联系互相影响,因此在初始模型建立之后还要进行调整使它们能够配合工作。 输入 现态 输出 次态 输出 输入/输出 现态 次态 (1)工作状态控制器 工作状态控制器是一个简单的具有三状态(normal,fr1,fr2)的有限状态机(normal 为“正常运行” 状态,fr1 和 fr2 分别为“A 一直放行”和“B 一直放行”状态) 。其输入分别为人工放行 A 信号、人 工放行 B 信号及复位信号,其输出为人工控制时 A 方向、B 方向的放行状态。可画出其状态转移图。 (2)操作规则实现电路 此部分电路是根据交通红绿灯控制器的功能要求,确定不同工作状态下计时器的计数值。可用 8 位寄存器来实现定时计数。 根据功能要求中的操作规则,红绿灯信号生成器只要按照规定的定时要求运转,就可以保证正 常运行。若要人工放行某方向,只要使红绿灯信号生成器运行到该放行状态时,计时器保持此时的计若要人工放行某方向,只要使红绿灯信号生成器运行到该放行状态时,计时器保持此时的计 数值,使红绿灯信号生成器暂停状态的转移即可。数值,使红绿灯信号生成器暂停状态的转移即可。 限制规则可以通过红绿灯信号生成器和工作状态控制器这两个状态机的恰当配合实现。即在有 黄灯亮时,或是某方向的最小放行时间内(即 3 秒钟) ,计时器正常计数;只有在(绿,红)2s 和 (红,绿)2s 状态下,根据人工控制时两个方向的放行状态,计时器有可能跳到某一计数值,以便人 工控制信号灯的变化,从而人工控制改变放行方向。 限制规则示意图如下: 在操作规则 实现电路中,可将放行某方向的整个时间(5s)分为两段,前 3s 为正常运行状态下的最小放行 时间,在此时间内计时器正常计数;后 2s 为允许人工放行时间,在此时间内可进行判断,是否欲人 工放行另一方向,或是继续放行原方向,或是正常运行,然后根据判断结果来确定计时器的计数值。 (3)红绿灯信号生成器 这是一个简单的状态机,共有 10 个不同状态,有 6 个输出,为 s120和 s220,分别用于控制 两个方向的红、黄、绿灯的亮或灭。根据正常运行状态下两组交通灯的自动转换规律,可画出其状态 转移图。 交通红绿灯信号的变化比较复杂,各状态持续的时间也不相同,可以使用基于计时器的状态机实 现之,即计时器的计数值作为状态转移的条件,也即作为状态机的输入。计时器的一个工作循环为一 个正常的红绿灯工作周期,即 21 秒;可根据计时器的计数值来确定红绿灯信号生成器的输出。 根据控制器的逻辑模型,可将整个电路分为 3 个子模块,工作状态控制器 state_ctrl.v、操作规则 实现电路 rule.v 和红绿灯信号生成器 sig_gen.v,采用 Verilog HDL 语言实现。然后形成顶层图形设计 文件 trgl_top.gdf。 或者全部用 Verilog HDL 语言实现也可以。 0s2s10.5s12.5s21s7.5s18s (绿,红) 正常运行正常运行 可人工放行可人工放行 (红,绿)(红,绿) (绿,红) 3输入信号 时钟信号 clk(T=0.1s) ; A 方向、B 方向的放行信号 f1 和 f2(分别由“放行”按钮产生,低有效) ; 恢复信号 reset(由“恢复到正常状态”按钮产生,低有效) 。 4输出信号 人工控制时 A 方向、B 方向的放行状态 f1s 和 f2s; 交通灯信号输出 s120和 s220,分别用于控制两个方向的红、黄、绿灯的亮或灭。 四、实验内容 1预习时分别画出红绿灯信号生成器和工作状态控制器的状态转移图,并画出操作规则实现电 路的程序流程图。 2采用 Verilog HDL 语言或顶层图形文件进行设计。 3进行仿真。 (1)使输入信号均无效,仿真至少一个循环周期的正常运行状态。观察状态机 ctrl 以及输出信 号 f1s,f2s,s120和 s220的变化。 (2)在不同的时段给定不同的输入信号,在每种情况下观察状态机 ctrl 以及输出信号 f1s,f2s,s120和 s220的变化: 在循环周期的头 2 秒内,即当 s120 为“001” ,s220为“100” ,处于 A 方向放行状态 时,使 f2 为一负脉冲,即人工放行 B 方向。 在 14s 处,使 reset 为一负脉冲,对控制器进行复位。 在 17.1s 处,使 f1 为一负脉冲,即人工放行 A 方向。 在 25.5s 处使 f2 为一负脉冲,即人工放行 B 方向。 在 37.5s 处,使 f1、f2 同时为一负脉冲。 在 40s 处,使 f1 为一负脉冲,即人工放行 A 方向。 在 51s 处,使 reset 为一负脉冲,对控制器进行复位。 在 60 秒处,即当 s120 为“100” ,s220为“001” ,处于 B 方向放行状态时,使 f2 为 一负脉冲,即继续放行 B 方向。 注:若完全采用注:若完全采用 Verilog HDL 语言进行设计,则采用语言进行设计,则采用 Verilog HDL 语言编写相应的测试文件,并语言编写相应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论