收藏 分销(赏)

数字电路及逻辑(软件).doc

上传人:仙人****88 文档编号:8923190 上传时间:2025-03-08 格式:DOC 页数:13 大小:4.71MB 下载积分:10 金币
下载 相关 举报
数字电路及逻辑(软件).doc_第1页
第1页 / 共13页
数字电路及逻辑(软件).doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
数字电路及逻辑实验指导书 (部分实验) 计算机科学与技术学院 实验教学中心 洪国铭 编写 目 录 第一章 实验平台简介 1.1 LP-2900逻辑设计实验平台 1.2 逻辑门 第二 PLD开发软件MAX+PLUSII的使用指导 2. 1 基于MAX+PLUSII的设计输入 2.2 基于MAX+PLUSII的平面编辑 2.3 基于MAX+PLUSII的模拟仿真 2.4 基于MAX+PLUSII的编程下载 第三章 数字电路及逻辑实验 3.1 译码器的设计 3.2 数据比较器的设计 3.3 同步计数器的设计 3.4 分频(除频)器的设计 第一章 实验平台简介 1.1 LP-2900逻辑设计实验平台 LP-2990逻辑设计实验平台由CPLD晶片板、I/O元件实验板、PC下载界面电路和电源四部分组成。 1、CPLD晶片板 在CPLD晶片板上,有一片Altera 10K系列晶片,Altera EPF10K10TC144-4 CPLD,该晶片提供不断重新下载新电路的弹性与便利。 2、I/O元件实验板 在I/O元件实验板上,有12种I/O元件:4组红绿黄LED;6个共阴极七段显示器;一个蜂鸣器;两个电子骰子;一个时序电路;3组8位开关;4个脉冲按键;一个4x3键盘;一块8x8点矩阵LED显示器;一个液晶显示器;A/D与D/A电路组件;8051单片机模组。这些I/O元件,提供了调试逻辑电路必要的环境。为了便于实验,给出LP-2900的部分I/O元件的脚位: 4组红绿黄LED 代号 L1 L2 L3 L4 L5 L6 L7 L8 装置 红LED 黄LED 绿LED 红LED 黄LED 绿LED 红LED 黄LED 脚位 Pin7 Pin8 Pin9 Pin10 Pin11 Pin12 Pin13 Pin14 代号 L9 L10 L11 L12 LED_COM 装置 绿LED 红LED 黄LED 绿LED LED1---LED12的共阴点 脚位 Pin17 Pin18 Pin19 Pin20 Pin141 6个共阴极七段显示器 代号 a b c d e f g dp 脚位 Pin23 Pin26 Pin27 Pin28 Pin29 Pin30 Pin31 Pin32 代号 DE1 DE2 DE3 脚位 Pin33 Pin36 Pin37 DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0- - -Y5为C1- - -C6,C1- - -C6分别为6个显示器阴极共点端。 4x3键盘 代号 DE1 DE2 DE3 RK1 RK2 RK3 脚位 Pin33 Pin36 Pin37 Pin42 Pin43 Pin44 RK1 RK2 RK3 为键盘列输出。 DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0- - -Y3为C1- - -C4,C1- - -C4分别为键盘的扫描输出。 3组8位开关 代号 Sw1 Sw2 Sw3 Sw4 Sw5 Sw6 Sw7 Sw8 脚位 Pin47 Pin48 Pin49 Pin51 Pin59 Pin60 Pin62 Pin63 代号 Sw9 Sw10 Sw11 Sw12 Sw13 Sw14 Sw15 Sw16 脚位 Pin64 Pin65 Pin67 Pin68 Pin69 Pin70 Pin72 Pin73 代号 Sw17 Sw18 Sw19 Sw20 Sw21 Sw22 Sw23 Sw24 脚位 Pin78 Pin79 Pin80 Pin81 Pin82 Pin83 Pin86 Pin87 蜂鸣器 代号 Sp1 脚位 Pin46 时序电路 代号 SOC 脚位 Pin55(10MHZ) 3、PC下载界面电路 PC与LP2900的通信电路。 1.2 逻辑门 为了便于在图形方式下选取逻辑器件和在文本方式下使用门原语设计逻辑电路,下面给出部分逻辑门符号以供使用。 1、图形方式逻辑门名称 and2 两输入端与门 andi i输入端与门 or2 两输入端或门 (i = 2 8) nand2 两输入端与非门 nor2 两输入端或非门 not 非门 xor 异或门 xnor 同或门 tri 三态门 2、门原语设计使用逻辑符号 and 与 如:一位半加器 nand 与非 module fadd(s,c,a,b);//端口列表 or 或 input a,b; //输入 nor 或非 output s,c; //输出 not 非 xor (s,a,b); //s=a异或b xor 异或 and (c,a,b); //c=a与b xnor 同或 andmodule 第二 PLD开发软件MAX+PLUSII的使用指导 3.1 基于MAX+PLUSII的设计输入 1、 点击桌面图标Max+plusII或开始菜单程序的Max+plusII程序项。 2、电路输入(图形方式) (1) 新建工程:File>Project>Name>输入工程名>ok。 (2) 新建文件:File>New>选择Graphic Editor File>ok。 (3) 保存文件名:File>Save As>ok,出现图形编辑窗口。 (4) 电路输入:在画面上点击鼠标右键>Enter symbol>输入电路符号>ok。 (5) 电路连接:使用窗口左侧的绘图工具连接电路。 (6) 管角命名:鼠标移动到管角名称处>点击鼠标右键>Edit pin name>输入管 角名>ok。 (7) 存储检查:File>Projiect>Save&check。如果有错,按4、5、6步修改。 3、文本输入(文本方式) (1) 新建工程:File>Project>Name>输入工程名>ok。 (2) 新建文件:File>New>选择Text Editor File>ok>输入文名。 (3) 保存文件名:File>Save As>将文件的扩展名 .dtf改成 .v或.vhd。Verilog HDL文本用.v>ok;VHDL文本用.vhd>ok,出现文本编辑窗口。 (4) 入文本文件。 (5) 存储检查:File>Projiect>Save&check。如果有错,修改文本文件。 3.2 基于MAX+PLUSII的平面编辑 (1)、设备选择:Asign>device family>flex10k Devices:EPF10k10tc144-4 (2)、平面规划:Max+plusII>Floorplan editor>(将右上角框内的信号管角拖到下方的窗口芯片的对应管角上)。如未出现上述窗口,操作:layout,将lab view改选为Current Assignment Floorplan。 (3)、平面编译:Max+plusII>Compiler>Stsrt。 3.3 基于MAX+PLUSII的模拟仿真 (1) 选择波形文件:File>New>waveform Editor file>ok。 (2) 选择仿真节点:Node>Enter Nodes form SNF>List> => >ok。 (3) 设置波形或数据:利用窗口左侧图标进行设置。 (4) 存储波形文件:File>Save As>ok。 (5) 波形模拟仿真:Max+plus>Simulator>Start。 3. 4 基于MAX+PLUSII的编程下载 (1) 编程下载:Max+plusII>Programmer>Configure (hardtype : ByteBlaster MV)。 (2) 功能调试:在LP-CPLD2900数字实验平台上验证电路功能。 第三章 数字电路及逻辑实验 逻辑电路根据输出信号对输入信号响应的不同分为两类:组合逻辑电路(简称组合电路) 与时序逻辑电路(简称时序电路)。 在组合逻辑电路中,电路在任一时刻的输出信号仅仅决定于该时刻的输入信号,而与电路的原有的输出状态无关。从电路的结构上看,组合逻辑电路的输出端和输入端之间没有反馈回路。 在时序逻辑电路中,任何时刻电路的输出不仅取决于该时刻的输入信号,也取决于电路过去的输入。一般来说,它是由组合逻辑电路和存储电路两部分组成,并形成反馈回路。 3.1 译码器的设计 3.1.1概念 译码器是一种多输出组合逻辑部件,它能将n个输入变量变换成2的n次方个输出函数,并且每个输出函数对应于n个输入变量的一个最小项。 3.1.2设计内容 试设计一个具有使能端的2:4译码器,要求使能输入端g = 0时,允许对输入的二进制代码进行译码,对应的输出端输出0,其它输出端输出均为1。当使能输入端g = 1时,禁止对输入的二进制代码进行译码,译码器的输出y0、y1、y2、y3均为1。 3.1.3设计方法 1、建立真值表,利用公式法或卡诺图法写出最简与或逻辑表达式 使能控制 G 输入端 A1 A0 输 出 端 Y3 Y2 Y1 Y0 1 0 0 0 0 X X 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 逻辑符号名:nand3---三输入与非门 ; not---非门。 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路 3、存储检查、平面编辑及下载调试 4、用三目条件运算符描述 module decoder (g,a1,a0,y3,y2,y1,y0,ledcom) ; input a1,a0,g ; output y3,y2,y1,y0 ; output ledcom ; assign ledcom=1 ; assign y0=(!g&&!a1&&!a0)?0 :1 ; // 信号=条件?表达式1:表达式2; assign y1=(!g&&!a1&&a0)?0 :1 ; assign y2=(!g&&a1&&!a0)?0 :1 ; assign y3=(!g&&a1&&a0)?0 :1 ; endmodule 5、试用Verilog HDL case语句描述上述逻辑功能(考核点) 3.2数据比较器的设计 3.2.1概念 在数字系统中,经常需要比较两个数的大小,用来完成两个数码比较的数字逻辑电路称为数据比较器。 3.2.2内容 试设计一个两位数据比较器,当a1a0>b1b0时g=1, 当a1a0<b1b0时s=1,当a1a0=b1b0时e=1。 3.2.3设计方法 1、建立功能表,利用公式法或卡诺图法写出逻辑表达式 比较输入 a1 b1 a0 b0 比较输出 g s e a1 > b1 X a1 < b1 X a1 = b1 a0 > b0 a1 = b1 a0 < b0 a1 = b1 a0 = b0 1 0 0 0 1 0 1 0 0 0 1 0 0 0 1 注: X 表示任意植 符号名:xnor---同或门;xor---异或门;and2---与门;or2---或门;not---非门。 2、根据最简逻辑表达式,用MAX+PLUSII图形输入法,画出逻辑电路 3、存储检查、平面编辑及下载调试 通过上面设计可以看出比较器电路是较复杂的,当两个数的位数越大电路就越发复杂。因此用硬件描述语言设计比较器就越发显示出优势。 4、用Veri HDL if-else条件语句描述 module comp(a,b,g,s,e,ledcom); input [1:0]a,b; output g,s,e; output ledcom; reg g,s,e; assign ledcom=1; always @(a or b) begin if(a>b) begin g=1;s=0;e=0;end else if(a<b) begin s=1;g=0;e=0;end else begin e=1;g=0;s=0;end end endmodule 5、试用Verillog HDL三目条件运算符描述(考核点) 3.3 同步计数器的设计 3.3.1 概念 计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。构成计数器的核心元件是触发器。同步计数器特点是各触发器的CP端连在一起,既受同一个 脉冲信号控制。 3.3.2 设计内容及方法 试设计一个三位二进制加1同步计数器(模=8),其步骤如下: 1、根据逻辑要求写出计数器的状态转移表 计数脉冲 cp 触发器现态 q2 q1 q0 触发器次态 q2+1 q1+1 q0+1 输出 z 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 2、 根据状态转移表写出输出方程和激励方程 3、 在MAX+PLUSII图形编辑窗口,调出7474正边沿触发的双D触发器元件及所需的逻辑门,然后根据输出方程和激励方程连接电路,检查与编辑、平面配置、编辑、波形仿真或下载调试 z (7) q2(8) q1(9) q0(10) reset(47) cp(48) ledcom(141) 5、 Verlog HDL描述(1) Verlog HDL描述(2) module conter3(cp,reset,q,z,ledcom); module conter3(cp,reset,q,z,ledcom); input cp,reset ; input cp,reset ; output[2:0]q ; output[2:0]q ; output z,ledcom ; output z,ledcom ; reg [2:0]q ; reg [2:0]q ; reg z ; reg z ; assign ledcom=1; assign ledcom=1; always @(posedge cp ) always @(posedge cp or negedge reset) begin begin if(!reset) if(!reset) begin q<=0;z<=0;end begin q<=0;z<=0;end else else begin begin if(q!=3'b111) if(q!=3'b111) begin q<=q+1;z<=0;end begin q<=q+1;z<=0;end else else begin q<=0; z<=1;end begin q<=0; z<=1;end end end end end endmodule endmodule 6、试用Verlog HDL语言设计四位可逆计数器,当load=1时将d0数据加载到可逆计数器;load=0时,控制信号as=01进行加1计数,当 as=10进行减1计数,当as=00或11停止计数。 3.4 分频器(除频器)的设计 在数字系统中,常需要各种不同的时钟频率,从HZ、KHZ到MHZ。而各种频率的产生, 一般依赖主频率(例如石英振荡器产生的频率)分频得到。分频器是计数器应用只一。 3.4.1实验内容 利用例化器件7474,试设计一个5分频器(对主频率除5)。 3.4.2 设计方法 1、写出5分频器(对主频率除5)状态转移表 主频 clk 触发器现态 q2 q1 q0 触发器次态 q2+1 q1+1 q0+1 分频输出 f 0 0 0 0 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 2、根据状态转移表写出输出方程和激励方程并化简(包含无关项) 3、启动MAX+PLUS2设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。存储检查、编辑、波形仿真。 clk=1/T=1/0.0000002s=500khz f=clk/5=100khz 4、硬件语言描述 用Verlog HDL描述(占空比可设置的除5分频器) module div5 (clk , reset , f) ; input clk , reset ; output f ; reg q2 , q1 , q0,f ; always @(posedge clk) begin if (!reset) begin {q2,q1,q0}<=0 ; f<=0 ; end else begin case ({q2,q1,q0}) 0 : begin {q2,q1,q0}<=1 ; f<=1;end 1 : begin {q2,q1,q0}<=2 ; f<=1;end 2 : begin {q2,q1,q0}<=3 ; f<=0;end 3 : begin {q2,q1,q0}<=4 ; f<=0;end 4 : begin {q2,q1,q0}<=0 ; f<=0;end default: begin {q2,q1,q0}<=0 ; f<=0 ; end endcase end end endmodule 用Verlog HDL描述(2+2*N的分频器) module divfx(clk,reset,fx,ledcom); input clk,reset; output fx , ledcom; reg [24:0]n; reg fx; assign ledcom=1; always @(posedge clk) begin if(!reset) begin n<=0;fx<=0;end else if(n= =3) //(n= =N) N为整数 begin fx<=!fx;n<=0;end else begin n<=n+1;end end endmodule 5、试用Verlog HDL设计能对主频进行2、4、8、16分频的时序电路。(考核点)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服