1、数字电路与逻辑实验指导书Quartus数 字 电 路 及 逻 辑实 验 指 导 书 计算机科学与技术学院实验教学中心 第一章 实验平台简介11 LP-2900逻辑设计实验平台12 逻辑门第二章 QuartusII开发软件的使用2 1 基于QuartusII的设计输入22 基于QuartusII的平面编辑23 基于QuartusII的模拟仿真24 基于QuartusII的编程下载第三章 数字电路及逻辑实验30 一位半加器设计31 译码器的设计32 数据比较器的设计33 同步计数器的设计34 分频(除频)器的设计35 移位寄存器的设计36 数字显示电路的设计第一章 实验平台简介11 LP-2900
2、逻辑设计实验平台LP-2990逻辑设计实验平台由CPLD晶片板、I/O元件实验板、PC下载界面电路和电源四部分组成。1CPLD晶片板在CPLD晶片板上,有一片Altera 10K系列晶片,Altera EPF10K10TC144-4 CPLD,该晶片提供不断重新下载新电路的弹性与便利。2I/O元件实验板 在I/O元件实验板上,有12种I/O元件:4组红绿黄LED;6个共阴极七段显示器;一个蜂鸣器;两个电子骰子;一个时序电路;3组8位开关;4个脉冲按键;一个4x3键盘;一块8x8点矩阵LED显示器;一个液晶显示器;A/D与D/A电路组件;8051单片机模组。这些I/O元件,提供了调试逻辑电路必要
3、的环境。为了便于实验,给出LP-2900的部分I/O元件的脚位:4组红绿黄LED代号L1L2L3L4L5L6L7L8装置红LED黄LED绿LED红LED黄LED绿LED红LED黄LED脚位Pin7Pin8Pin9Pin10Pin11Pin12Pin13Pin14 代号L9L10L11L12 LED_COM装置绿LED红LED黄LED绿LED LED1-LED12的共阴点脚位Pin17Pin18Pin19Pin20Pin141 6个共阴极七段显示器代号abcdefgdp脚位Pin23Pin26Pin27Pin28Pin29Pin30Pin31Pin32 代号DE1DE2DE3脚位Pin33Pin
4、36Pin37DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0- - -Y5为C1- - -C6,C1- - -C6分别为6个显示器阴极共点端。 4x3键盘代号DE1DE2DE3RK1RK2RK3脚位Pin33Pin36Pin37Pin42Pin43Pin44 RK1 RK2 RK3 为键盘列输出。 DE1、DE2、DE3为译码器(74LS138)的输入端,译码器(74LS138)输出端Y0- - -Y3为C1- - -C4,C1- - -C4分别为键盘的扫描输出。 3组8位开关代号Sw1Sw2Sw3Sw4Sw5Sw6Sw7Sw8脚位Pin47Pin
5、48Pin49Pin51Pin59Pin60Pin62Pin63代号Sw9Sw10Sw11Sw12Sw13Sw14Sw15Sw16脚位Pin64Pin65Pin67Pin68Pin69Pin70Pin72Pin73 代号Sw17Sw18Sw19Sw20Sw21Sw22Sw23Sw24脚位Pin78Pin79Pin80Pin81Pin82Pin83Pin86Pin87 蜂鸣器 代号 Sp1脚位Pin46时序电路 代号 SOC脚位Pin55(10MHZ)3PC下载界面电路 PC与LP2900的通信电路。12 逻辑门为了便于在图形方式下选取逻辑器件和在文本方式下使用门原语设计逻辑电路,下面给出部分逻
6、辑门符号以供使用。(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异或bxor 异或 and (c,a,b); /c=a与bxnor 同或 andmodule 第二章 Quartu
7、s II开发软件的使用2.1 基于QuartusII的设计输入1. 点击桌面图标QuartusII或开始菜单程序的Altera程序项。2电路输入(图形方式)(1) 新建工程: Project Wizard。在E盘创建工程。(2) 新建文件:Design FilesBlock Diagram/schematic,出现图形编辑窗口。(3) 电路输入:在图形编辑窗口点击鼠标右键InsertSymbol输入电路符号。(4) 电路连接:使用窗口左侧的绘图工具连接电路。(5) 管角命名:鼠标移动到管角名称处双击鼠标输入管角名。(6) 保存文件名: As。生成的文件扩展名为.bdf,并自动添加到工程。(7)
8、 编译工程:ProgressingStart Compilation。或者在工具栏中选项编译工具按钮。 3文本输入(文本方式)(1) 新建工程: Project Wizard。(2) 新建文件:Design FilesVerilog HDL Filles,出现文本编辑窗口。编写Verilog程序。(3) 保存文件名: As。生成的文件扩展名为.v,并自动添加到工程。(4) 编译工程:ProgressingStart Compilation。或者在工具栏中选项编译工具按钮。2.2 基于QuartusII的平面编辑(1) 设备选择:Assignmentsdevice。Device family:
9、FLEX10K Available devices:EPF10K10TC144-4 (2) 平面规划:AssignmentsPins。出现图形界面,对管脚进行编辑,在Location中输入管脚分配号,同时可以在上面的芯片上看到引脚锁定。 (3)编译工程:ProgressingStart Compilation。或者在工具栏中选项编译工具按钮。2.3 基于QuartusII的模拟仿真 仿真可以分为功能仿真和时序仿真(*功能仿真需用工具生成功能仿真网表文件)。 功能仿真生成网表文件方法: 菜单ProcessingGenerate Functional Simulation Netlist。 仿真步
10、骤如下:(1) 在工具栏中选择SettingsSimulator SettingsSimulation mode,设置仿真方式为功能仿真或时序仿真。(2) 创建波形文件:Vector Waveform File。(3) 选择仿真节点:ViewNode Finder。添加波形文件的引脚。(4) 设置仿真时间: EditEnd time :1us Grid Size:100us(5) 设置波形或数据:利用窗口左侧图标进行设置。(6) 存储波形文件: As。(7) 波形模拟仿真:ProgressingStart Simulation。或点击工具栏中仿真图标。2.4 基于QuartusII的编程下载(
11、1) 编程下载: Tools ProgrammerConfigure (hardtype : ByteBlaster MV)。(2) 功能调试:在LP-CPLD2900数字实验平台上验证电路功能。第三章 数字电路及逻辑实验逻辑电路根据输出信号对输入信号响应的不同分为两类:组合逻辑电路(简称组合电路)与时序逻辑电路(简称时序电路)。在组合逻辑电路中,电路在任一时刻的输出信号仅仅决定于该时刻的输入信号,而与电路的原有的输出状态无关。从电路的结构上看,组合逻辑电路的输出端和输入端之间没有反馈回路。在时序逻辑电路中,任何时刻电路的输出不仅取决于该时刻的输入信号,也取决于电路过去的输入。一般来说,它是由
12、组合逻辑电路和存储电路两部分组成,并形成反馈回路。30 一位半加器的设计301实验内容试设计两个一位二进制变量a、b相加,输出本位和s及进位c的逻辑电路。302设计方法1、利用真值表法,写出最简与或逻辑表达式 输入变量a b输出变量s c1 01 12 0 1 11 02 01 00 1 s = ab+ab=ab c =ab逻辑符号名:xor-异或门 ; and2-两输入与门。2、根据最简逻辑表达式,用QUARTUSII图形输入法,画出逻辑电路。3、平面编辑、编译及下载调试。4、用Verilog HDL连续赋值语句assign描述。 module fadd(a,b,s,c,ledcom); i
13、nput a,b; output s,c,ledcom ; wire a,b,s,c ; assign ledcom=1; assign s=!a&b|a&!b; assign c=a&b; endmodule 5、用Verilog HDL门原语设计上述逻辑功能(考核点)设计发挥:设计一位全加器(学生自选)真值表如下:A B Cin Sum Cout 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 1 1表达式如下:S=ABCinCi=(AB) Cin+AB31 译码器的设计311概念译码器
14、是一种多输出组合逻辑部件,它能将n个输入变量变换成2的n次方个输出函数,并且每个输出函数对应于n个输入变量的一个最小项。312设计内容试设计一个具有使能端的2:4译码器,要求使能输入端g = 0时,允许对输入的二进制代码进行译码,对应的输出端输出0,其它输出端输出均为1。当使能输入端g = 1时,禁止对输入的二进制代码进行译码,译码器的输出y0、y1、y2、y3均为1。313设计方法1、建立真值表,利用公式法或卡诺图法写出最简与或许逻辑表达式 使能控制 G输入端A1 A0输 出 端Y3 Y2 Y1 Y0 1 0 0 0 0X X1 01 12 01 11 1 1 11 1 1 01 1 0 1
15、1 0 1 10 1 1 1 y0=ga1a0; y1=ga1a0 ; y2=ga1 a0; y3=ga1 a0;y0=(ga1a0);y1=(ga1a0);y2=(ga1 a0);y3=(ga1 a0);逻辑符号名:nand3-三输入与非门 ; not-非门。 2、根据最简逻辑表达式,用QUARTUSII图形输入法,画出逻辑电路 3、平面编辑、编译及下载调试。4、用三目条件运算符描述 module decoder (g,a1,a0,y3,y2,y1,y0,ledcom) ;input a1,a0,g ;output y3,y2,y1,y0 ;output ledcom ;assign led
16、com=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语句描述上述逻辑功能(考核点) 32 数据比较器的设计321概念在数字系统中,经常需要比较两个数的大小,用来完成两个数码比较的数字逻辑电路称为数据比较器。322内容 试设计一个两位数据比较器,当a1a0b1b0时g=1, 当a1a0 b1 X a1 b0 a1
17、= b1 a0 b) begin g=1;s=0;e=0;end else if(ab) begin s=1;g=0;e=0;end else begin e=1;g=0;s=0;end endendmodule5、试用Verillog HDL三目条件运算符描述(考核点) 33 同步计数器的设计331 概念计数器的功能是记忆脉冲的个数,它所记忆脉冲的最大数目称为该计数器的模。计数器可分为同步计数器(又称并行计数器)和异步计数器(又称串行计数器)。构成计数器的核心元件是触发器。同步计数器特点是各触发器的CP端连在一起,既受同一个脉冲信号控制。332 设计内容及方法试设计一个三位二进制加1同步计数
18、器(模=8),其步骤如下: 1、根据逻辑要求写出计数器的状态转移表计数脉冲 cp触发器现态q2 q1 q0触发器次态q2+1 q1+1 q0+1输出 z0 0 0 0 0 1 00 0 1 0 1 0 00 1 0 0 1 1 00 1 1 1 0 0 01 0 0 1 0 1 01 0 1 1 1 0 01 1 0 1 1 1 01 1 1 0 0 0 12、根据状态转移表写出输出方程和激励方程dz = q2q1q0 ;d2 = m(3,4,5,6)= q2q1q0 + q2q1+q2q0; d1=m (1,2,5,6)=q1q0; d0= m (0,2,4,6)=q03、在QUARTUSI
19、I图形编辑窗口,调出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 ;output2:0q ; output2:0q ;out
20、put z,ledcom ; output z,ledcom ; reg 2:0q ; reg 2:0q ;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!=3b111) if(q!=3b111) begin q=q+1;z=0;end be
21、gin 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 endmodule6、试用Verlog HDL语言设计四位可逆计数器,当load=1时将d0数据加载到可逆计数器;load=0时,控制信号as=01进行加1计数,当 as=10进行减1计数,当as=00或11停止计数。34 分频器(除频器)的设计 在数字系统中,常需要各种不同的时钟频率,从HZ、KHZ到MHZ。而各种频率的产生,一般依赖主频率(例如石英振荡器产生的频率)分频得到。分频器是计数器应用之一。341实验
22、内容利用例化器件7474,试设计一个5分频器(对主频率除5)。342 设计方法1、写出5分频器(对主频率除5)状态转移表 主频clk触发器现态q2 q1 q0触发器次态q2+1 q1+1 q0+1分频输出 f 0 0 00 0 1 10 0 1 0 1 0 10 1 0 0 1 1 00 1 1 1 0 0 01 0 0 0 0 0 02、根据状态转移表写出输出方程和激励方程并化简(包含无关项) f = m(0,1)=q2q1d2= m(3)+ (5,6,7)=q1q0 d1= m(1,2)+ (5,6,7)=q1q0+q1q0=(q1q0) d0= m(0,2)=q2q03、启动MAX+PL
23、US2设计软件,调出例化器件7474及所需逻辑门,根据输出方程和激励方程连接电路。存储检查、编辑、波形仿真。clk=1/T=1/0.0000002s=500khz f=clk/5=100khz4、硬件语言描述用Verlog HDL描述(占空比可设置的除5分频器) module div5 (clk , reset , f) ; input clk , reset ; output f ; reg q2 , q1 , q0,f ; always (posedge clk) beginif (!reset) begin q2,q1,q0=0 ; f=0 ; endelse begin case (q
24、2,q1,q0) 0 : begin q2,q1,q0=1 ; f=1;end 1 : begin q2,q1,q0=2 ; f=1;end2 : begin q2,q1,q0=3 ; f=0;end3 : begin q2,q1,q0=4 ; f=0;end4 : begin q2,q1,q0=0 ; f=0;enddefault: begin q2,q1,q0=0 ; f=0 ; end endcaseendendendmodule 用Verlog HDL描述(2+2*N的分频器) module divfx(clk,reset,fx,ledcom);input clk,reset;outp
25、ut fx , ledcom;reg 24:0n;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;endendendmodule5、试用Verlog HDL设计能对主频进行2、4、8、16分频的时序电路。(考核点)35 移位寄存器351 概念在时钟信号控制下,将所寄存的数据向左或向右移位的寄存器称为移位寄存器。352设计内容试设计一个四位同步并入串出的右移寄存器。要求当加载控制信号load高电平时,在时钟作用下将输入四位二进制数据x3x2x1x0加载到移位寄存器q3q2q1q0中; 当load低电平时,在时钟clk作用下将四位移位寄存器中的数据向右移位一位,既0 q3 q2 q1 q0 so 。353设计1、右移操作状态转移表 Q3 Q2 Q1 Q0 Q3+1 Q2+1 Q1+1 Q0+1
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1