《可编程逻辑电路设计》
实验指导书
南京工程学院
2007-5
第一章概述
当今,电子电路越来越复杂,数字电路被更多应用到电路设计中,可编程逻辑器件已经广泛地用在电子设计中,而且在电路中的占有比例越来越大,它一方面提高了可靠性,另一方面也增加设计的灵活性和可维护性,使电子电路的设计更加方便快捷。在硬件的设计思路上,要改变原来传统的设计方式,用设计软件的方式方法来设计硬件。在学习新方法的过程中,一款功能强大、使用方便的辅助学习工具必不可少。南京伟福公司结合多年EDA开发经验,分析国内外多种EDA 实验仪,取长补短,研发出了伟福EDA6000/EDA2000 型实验仪,伟福EDA6000/EDA2000 实验仪的出现为您学习EDA 提供巨大帮助。综合起来EDA6000/EDA2000 实验仪具有以下多种特点:
综合型实验仪:EDA6000/EDA2000 实验仪可以完成SOPC/DSP/FPGA/EPLD/iPAC 等各种实验,并且板上自带仿真器(EDA6000),可以完成各种实验。
软开放:全开放的实验仪,由学生自己连线,对于学生来讲,费时费力过于麻烦,而且还容易出错,对于所设计的电路来讲,工作频率不会高,干扰大。再看完全不开放的实验仪,接线全部固定,所做的实验就有限,只能局限于设计好的几种实验内容,限制了学生的开发能力。伟福EDA6000/EDA2000 采用软开放式结构,对实际电路接线固定,即能工作高频状态,干扰、辐射也小,但对于学生来说,他又可以用软件方式按设计要求将各IO脚连接起来。
逻辑分析仪:在EDA 实验或EDA 设计中,单凭有限的输出设备(数码管、发光二极管)是不能完全发现设计中的错误,更不能观察、理解信号的先后时序关系。在电路工作于高频状态时,这种情况尤其突出。当设计中出现一些不可知的错误,只能拍脑袋苦想,或借助于其它的设备,例如示波器等,操作麻烦,还不一定能和电路同步。伟福EDA6000/EDA2000提供了8 路逻辑分析仪,采样频率可达50MHz,采样深度达32K,并可指定采样的触发条件。可以将电路的工作状态采样回来,以波形的方式显示出来,让学生直观地看到电路的工作时序,查出产生错误的原因。
软件连接:由于是软开放的结构,学生在实验或设计时,需要自己连线,伟福
EDA6000/EDA2000 采用“软件配置” 技术,在软件上接好需要的连线,下载到实验仪即可实现接线,如果连线过程有冲突,软件还会给出提示,如果是硬接线,接错线可能导致实验仪故障,甚至是损坏,而“软件配置”技术就能有效避免这种现象。这种软件接线还有一个好处,就是将定义好接线保存在磁盘上,下次做实验或设计时,从盘上读出即可,如果是硬件接线,学校中有很多人共用实验仪,否则根本无法将接线保留下来。伟福EDA6000/EDA2000 实验仪的频率选择也是采用软件方式设置,无需用跳线跳来跳去,使用跳线不仅烦琐,而且容易出错。
智能译码:在 EDA 实验中,最常用到的显示电路,如果显示电路接到固定的 IO 脚,占用供实验用的 IO 脚,不但如此,这还要求学生在做 EAD 实验时,要连显示电路和译码电路一起设计,对于初学者有一定的难度。即使到了学生能熟练地写出译码电路,这些电路也浪费了器件内部大量资源,这些功能本来应该是由实验仪提供的。在提供这些译码显示功能时,大部分实验仪采用的外接译码器件,这种方法接线固定不能改变,使用起来有局限性。伟福 EDA6000/EDA2000 实验仪采用智能译码技术,与软件连接技术相似,软件上设置好连译码方式后,下载到实验仪上即可在实验仪实现所要求的译码电路。智能译码不是只提供几
种模式由学生,如果超出了这有限的几种接线之外,学生就束手无策。伟福的智能译码技术在安全的条件下,可以由学生任意定义接线方式,灵活多变,而且可以将接线定义保存在磁盘上。
软、硬件结合:国内外众多的EDA 实验仪几乎都是单硬件工作方式,接线要在实验板上接,模式要在实验板上选择,观察结果只能看板上的LED 或八段数码管,如果是高速信号只能看最终的输出结果,工作时序,信号波形一无所知,如果有RAM 相关的实验,因为RAM 数据无法下载,只能以ROM 代替,外部设备的选择只能用跳线来实现或干脆拔掉有冲突的芯片。伟福EDA6000/EDA2000 实验系统采用软、硬件结合技术,可以在PC 机的软件上定义实验所要连线,下载到实验仪上即可。实验仪运行的结果可以在软件上观察到,如果想观察高速信号,就用逻辑分析仪采样,传上来进行分析。软件可以将RAM 的数据下载到实验仪上,供实验仪做VGA、DAC 等数据输出类实验。也可将ADC 采样的到数据上载到PC 机的软件中,供学生分析、观察、保存。
模式可变:不开放结构的实验仪,由于接线全部固定,模式无法改变,或者在器件中浪费大量资源来设置模式,这样既不实用,也不利于学习;全开放的结构,用手工接线来设置模式,干扰大不说,不小心连错线还会造成仪器的损坏,有些半开放的实验仪,由于不能与上位机相连,只能在硬件实验上选择有限的几种模式,既不灵活,观察也不方便。伟福EDA6000/EDA2000 由于采用“软件配置”技术,可以用软件设置模式,下载到实验仪,灵活多变。在软件设置模式时,如果器件之间有冲突,软件会给出警告,避免接错线的可能。
适配板与实验仪独立:伟福EDA6000/EDA2000 实验仪采用FPGA/EPLD 适配板与实验仪主体相互独立的结构,实验仪的显示译码、键盘输出均不占用适配板的资源。适配板与实验仪之间用IO 脚连接,从理论上讲,这种结构可以无限扩展FPGA/EPLD 实验种类,只要在FPGA/EPLD 适配板上将正确的IO 信号接到实验仪上,就可以对这种FPGA/EPLD 进行实验和设计,加上伟福的“软件配置”技术,更是如虎添翼,不但可扩展性强,使用也灵活,不再束手束脚。采用这种相互独立的结构,可以在适配板上正对每种FPGA/EPLD 来设计制做与芯片完全吻全的编程下载电路,使FPGA/EPLD 的编程下载更加可靠、稳定。可编程下载器件的种类也不会有限制了,只要有该器件的适配板就行。用户所要做的事就是将编程并行口接到实验仪上。
多种外部设备:实验仪提供了多种常用外部设备,为学生提供典型的学习电路。这些电路包括并行ADC、串行ADC、并行DAC、串行DAC、VGA、PS2 鼠标、USB、三线EEPROM 读写控制、I2C(二线)EEPROM 读写控制、8X8 显示点阵扫描、存储器读写控制等电路,这些电路真实地体现了EDA 设计的高速、时序严格、抗干扰等特点,
用户控制电路:在EDA 的学习中,应强调真实性和实用性。在实际的EDA 电路中,一般都有CPU 控制电路与之相结合,完成一个应用系统。伟福EDA6000/EDA2000 实验仪提供了一个用户CPU,并且有外围的键盘、八段数码显示、液晶显示屏。使得学生不仅能做EDA的分部实验和设计,而且可以将各部分组合起来,做完整的系统级的设计。
第二章硬件结构
伟福EDA6000/EDA2000 实验仪的功能框图如上图。FPGA/EPLD 为EDA 实验适配板,通过IO 脚与外部设备和配置电路连接。外部设备有喇叭(蜂鸣器)、并行
ADC(ADC0809)、串行ADC(TLC549)、并行DAC(DAC0832)、串行DAC(TLC5620)、VGA 控制器、PS2 鼠标接口、三线EEPROM(93C46)、二线EEPROM(24C02)、8x8 显示点阵、存储器。用户控制CPU 与EDA 适配板结合组成完整的系统。“软件配置” 技术由配置电路来实现,配置电路从计算机中的EDA6000/EDA2000 软件开发环境中下载配置定义,将FPGA/EPLD 的IO 脚按用户要求做相应配置,将八段数码管、发光二极管、键盘接到要接的IO 脚上,如果FPGA/EPLD 在运行状态,配置电路还会将FPGA/EPLD 的各IO 脚的状态传到计算机上,在软件界面中显示。在实验仪上也保存了我们所提供的样例实验的配置定义,即使实验仪没有连接到计算机上,也可以直接在实验仪上根据不同的实验内容,用设置键来选择IO 脚配置。实验仪的布局如图,系统的控制、IO 管脚的配置在FPGA/EPLD 适配板的下方。
第三章ALTERA 开发环境使用入门
世界各大FPGA/EPLD生产商都有自己的EDA开发环境,也有专业的第三方EDA软件。ALTERA公司的MAX+plusII是其中较常被使用的EDA开发环境,它操作方便、功能强大,提供了原理图输入和VHDL 语言输入功能,在环境中可以完成编译、查错、设计驱动信号、逻辑功能模拟、时序功能模拟、对FPGA/EPLD 芯片编程等功能。下面以VHDL 语言输入设计为例,一步一步描述在MAX+plusII 开发环境中如何完成EDA 的设计流程。
1.建立工作文件目录。我们将一个设计称为一个项目,在硬盘上建立一个工作文件
目录,目录名应重名命名为英文名。以后与该项目有关的所有设计文件都保存在此目录下。MAX+plusII 软件安装好后,会在硬盘上生成一个MAX2WORK 目录,我们在MAX2WORK 之下建立一个工作文件目录,名命为“EX”,本例中所有文件都存在此目录下。
2.新建设计文件。启动MAX+plusII 开发环境,选择菜单[File]下的[New]功能,出现对话框,要求确认“新建”何种类型的文件,有四种类型文件可选择,因为我们新建VHDL 文本,所以选择第三个“Text Editor file”。对话框如图。确认对话框后,开发环境生成一空的文本编辑窗口用于输入VHDL 文本。
3.输入VHDL 设计描述。在窗口输入如下VHDL 程序,本例完成的是一个一位全加器的功能。
LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;
ENTITY EX1 IS
PORT ( a : IN STD_LOGIC;
b : IN STD_LOGIC;
c_in : IN STD_LOGIC;
sum : OUT STD_LOGIC;
c_out: OUT STD_LOGIC
);
END EX1;
ARCHITECTURE behv OF EX1 IS
BEGIN
sum <= a XOR b XOR c_in;
c_out <= (a AND b) OR (c_in AND (a OR b));
END behv;
其中“a”和“b”表示全加器的“输入 1”和“输入 2”,“c_in”表示“
前级进位输入”,“sum”
表示全加器的“和”,“c_out”表示全加器的进位。
4.保存 VHDL 文本。 输入 VHDL 语言后,选择菜单[File]下的
[Save As]功能,出现如图对话框,在“Directories”
中选择刚才 新建的项目文件目录“C:
\MAX2WORK\EX”,在“File Name :”处填上
文件名“EX1.VHD”。 按“OK”确认退出。
5.将当前文件设为项目的主文件。因为
在 EDA 设计中,一个项目按功能不同或层次
不同,可以包括很多设计描述文件,这些文
件 可以是原理图也可以是 VHDL ,也可以是混
合的。设计时,可以按功能分模块来完成,
也可以自底向上逐步完成。将当前文件设为
项目的主文件后,以后所进行的编译、仿真、
测试都是以此文件为顶层文件,包括其下层
文件来完成的,而此文件的上层文件和并行
文件都不受影响。选择菜单[File]的
[Project]的“Set Project to Current File”
功能可以将当前文件设成项目的主文件。
6.选择设计所使用的器件。这里的器件就是
指每个设计所使用的 FPGA 或 EPLD 芯片,
ALTERA 公司具有代表性的 FPGA 为 FLEX 10K 系列的 EPF10K10LC84-4。具有代表性的 EPLD 为 MAX7000S 系列的 EPM7128SLC84-15。选择菜单[Assign]的[Device...]功能,出现如图对话框,在“Device Family”中选择 ALTERA 公司的器件系列,当选定了器件系列后,“Devices”框内出现该系列的各种芯片,如果“Show Only Fastest Speed Grades”被
选中,则器件框中只显示最快速度的器件,去掉“只显示最快芯片”前的勾,器件框中显示该系列所有芯片。本例中,我们选择 MAX7000S 系列中的 EPM7128SLC84-15 芯片。
7.编译设计项目。选择[MAX+plus II]菜单的[Compiler]功能,出现如图窗口,按“Start” 开始编译。如果有错,程序会自动停止并指出错误,用户解决错误后,再重新编译,直到全部编译完成。
8.建立输入控制波形。在对设计进行验证时,要给输入信号加上
驱动,用波形文件来描述驱动信号的高低状态和前后时序,并加在芯
片相应的管脚上。选择[File]的[New]功能,在对话框中选择
“Waveform Editor file”,开发环境打开一空的波形编辑窗口。
9.加入信号接点。 在窗口中加入需要驱动的
信号和想要观察的信号,选择波形窗口上方的
[Node]菜单的[Enter Node from SNF]功能。出现
如图对话框,按“LIST”按钮,在左边“Available
Nodes & Groups”出现设计中所有信号名,可以
在窗口中选中其中想要观察的信号和需要驱动的
信号,按“=>”按钮将信号加入右边选中窗口。
确认退出。
10
的信号状态和时序,在本例中只有三路输入信号:
c_in 、b 、a,三路信号共有 8 只要列举出这 8 个状态就可以从输出波形中观察到
定义的信号名,按鼠标右键,选择弹出菜单的
[Overwrite]下的[Clock...]功能,出现如图的时钟
脉冲波形定义对话框,来定义等宽度的时钟信号,
“ Starting Value ” 表 示 该 信 号 的 初 始 状 态
“Multiplied By”表示信号脉冲的宽度。分别选中
三个信号,在弹出菜单中分别将 c_in 信号的宽度填
为 4、b 信号的宽度填为 1、a 信号的宽度填为 2,完
成定义后三路信号的波形如图。
三路时钟信号组成了 8 种状态,sum 和 c_out 两
路为输出信号,现暂时无法显示,要等待模拟完
成后才会有波形输出。
11. 保存波形文件。选择菜单[File]的[Save as]功能
将波形文件保存下来,便于下次模拟时调用。
波形文件的后缀为“.SCF”。
12. 软件模拟仿真。当有了驱动信号以后,就可以对设计
进行模拟仿真,验证设计是否正确。选择[MAX+plus II]菜单的
[Simulator]功能,出现如图对话框,按“Start”按钮,开始
运行软件模拟仿真,下图为仿真后的波形,可以看到仿真输出
的 sum 和 c_out 信号,“Value”表示标尺位置上各信号的当前
值,在窗口内拖动标尺,观察各信号的当前值
是否符合设计要求。在波形窗口中,上方有几
个显示框用来显示标尺的时间位置,鼠标的时
间位置及两者的时间差,可以用这种方法来观
察两信号间的延时。如果信号过多,可用垂直
滚动棒移动窗口,如果想要观察的时间不在当
前窗口内,可用水平滚动棒将窗口移动到相应
的时间段,用窗口左边的放大、缩小功能可以
将波形时间展开、收缩,以观察波形的局部细
节或全局概况。
13. 时序分析。为了能了解软件模拟仿真中各信号之间的具体延时量,可以用
MAX+plusII 提供的时序分析功能来做时序分析。选择[MAX+plus II]菜单的[Timing
Analyzer]功能,出现如图对话框,按“Start”按钮,启动时序分析,分析完成后,各信号之间的延时时间以表格形式显示出来。
14.将信号锁定到芯片的管脚。前面所做的只是逻辑功能的软件模拟仿真,即使模拟仿真、时序分析都达到设计要求,这只是理论上的结果,实际硬件的执行与软件模拟不一定完全一样,最后必须做硬件的验证。在做硬件验证时,各个输入、输出信号必须锁定到具体芯片的脚上,才能将外部信号加进来,将输出信号接出去,根据你的外部电路设计或根据 EDA 实验仪的要求,将设计中各个输入、输出信号锁定到芯片的管脚上。选择菜单[Assign]下的
[Pin/Location/Chip...]功能,出现如图信号与芯片管脚锁定的对话框,在“Node Name”框内填入需要输入、输出的信号名,在“Pin Type”框内显示出该信号的输入、输出类型,在“Pin”复选框内选择芯片的管脚,按右下角的“Add”按钮将信号与管脚的锁定关系加入“Existing Pin / Location / Chip Assignments”框内,当所有的信号都加入后,按“OK”确认退出。注意:如果你的设计中有时钟信号、复位信号、输出允许信号等可以全局使用的信号,编译器会自动将这些信号分配到芯片的相应全局信号管脚,如果你锁定的管脚不是全局信号脚,在编译综合时,系统会提示有错,解决的方法是,选择[Assign]菜单下的[Global Project Synthesis] 功能,在弹出的对话框的“Automatic Global”栏内,去掉所使用全局信号前的选中勾,使其不会被自动分配。按“OK”钮确认退出。
15.重新编译设计项目。当设计项目中的信号被锁定到芯片的各管脚上后,需要对项目 重新进行编译,重新编译产生的数据文件就会包含管脚的定义。选择[MAX+plus II]菜单的
[Compiler]功能,出现编译窗口,按窗口内的“Start”按钮,重新编译。
16.数据下载到芯片上。当用软件仿真验证设计的电路工作正
常。就可以将编译产生的位图文件编程下载到 FPGA 或 EPLD 的芯
片上,与外围电路一起共同对设计进行硬件验证。在本例中用
EDA6000/EDA2000 的实验仪来验证前面所设计的全加器的功能是
否正确。在编程下载之前,首先用下载电缆将计算机的打印口连
接到有 FPGA/EPLD 芯片目标板(或 EDA6000/EDA2000 实验仪上),
接通目标板(实验仪)的电源。选择[MAX+plus II]菜单的
[Programmer]功能,启动编程下载程序,如果是第一运行编程功能,软件会自动弹出对话框,让用户设置编程下载硬件连接方式,如图,在对话框中的“Hardware Type”选择框内选择“ByteBlaster(MV)”编程下载方式,在软件安装好后只需设置编程下载方式一次,设置好以后如果下载的硬件没有变化,无需再次设置。
在编程下载窗口中,EPLD 的下载与FPGA 下载略有不同,EPLD 的下载按“Program”钮,软件会对目标板上的芯片检测、编程、校验,完成后显示“编译完成”,FPGA 的下载要按“Configure”钮,软件将程序下载到目标板上芯片中。
17.设置/选择实验仪的工作模式。当程序下载到芯片上后就可以用实验仪进行实验来验证我们所做设计是否正确,在进行实验之前,要对实验仪的模式进行设置,以便将芯片的输入输出管脚接到实验仪的键盘和LED 上,工作模式可以从计算机上的
EDA6000/EDA2000软件下载到实验仪中,在没有计算机时,也可以在实验仪上选择相应模式,这些模式已经固化在实验仪中。
在实验仪上选择工作模式:按下实验仪上“MODE SELECT”模式选择按钮不松,八段数码管显示“------XX”,其中“XX”为当前模式号,按“K7”钮,模式号减1,按“K6”钮模式号加1,本例实验中对应的工作模式为“模式1”,按动“K6”或“K7”直到模式号显示为“------01”,松开“MODE SELECT”按钮确认,再次按下、松开此按钮,实验仪进行工作状态。在“模式1”情况下,K0 键接信号“a”,K 1 键接信号“ b”,K2 键接信号“c_in”,同时这三个输入信号的状态也在L0、L1、L2 上显示,两个输出信号“c_out”接L9,“sum”接L8,同时八段数码管也显示五个信号的值,S0 接信号“a”,S1 接信号“b”,S2 接信号“c_in”,S4 接信号“sum”,S5 接信号“c_out”。
18.在实验仪验证设计。设计电路已经下载到实验仪的适配板上,实验仪的工作模式也选择好,下面就可对设计进行硬件上验证。分别按下K0、K1、K2 键,改变其状态,表示三个输入信号“a”“b”“c_in”的状态的改变,观察发光管L8 和L9,以及八段数码管的S4和S5 的输出是否有相应变化。
至此,用户已经一步一步地学会了在ALTERA 的EDA 开发环境MAX+Plus II 中,从最初的新建项目直到最后用硬件来实现设计思想的各个主要步骤,为了易于学习,中间有一些环节没有介绍,这需要用户在以后的学习和开发过程中逐步了解,逐步提高。在开发过程中,也可以参考EDA 开发环境的说明和软件中的帮助。
注意:在ALTERA 的MAX+Plus II 开发环境中,如果用户在设
计中使用了时钟信号、复位信号、输出允许信号等可以全局使用
的信号,编译器会自动将这些信号分配到芯片的相应全局信号管
脚,如果你锁定的管脚不是全局信号脚,在编译综合时,系统会
提示有错,解决的方法是,选择[Assign]菜单下的[Global
Project Synthesis] 功能,在弹出的对话框的“Automatic
Global”栏内,去掉所使用全局信号前的选中勾,使其不会被自
动分配。按“OK”钮确认退出。
实验一D触发器设计
一.实验目的
1.掌握用VHDL语言设计时序电路的方法。
2.掌握用VHDL语言设计D触发器的方法。
3.熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
用VHDL设计一个同步复位的D触发器。
三.设计思路
本程序即采用RTL描述的方法,编写VHDL源程序。
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序。
3.在MAX+plus软件环境下调试,并进行波形仿真。
4.下载到仿真开发系统中,检验正误。
5.完成实验报告,包括源程序、仿真波形和实验结果分析。
实验二七人表决电路
一.实验目的
1. 掌握用VHDL语言设计时序电路的方法。
2.学会运用CASE或IF语句。
3. 熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
设计一个七人表决器,并行输入,当大多数赞成时,电路输出为“1”,反之,当没有超过半数以上的赞成,电路则输出“0”。
三.设计思路
分析七人表决器的输入输出关系,可利用全加器电路或者行为描述方式实现表决器的功能。
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序。
3.在MAX+plus软件环境下调试,并进行波形仿真。
4.下载到仿真开发系统中,检验正误。
5.完成实验报告,包括源程序、仿真波形和实验结果分析。
五. 实验思考
程序可采用for loop语句编写的VHDL源程序。程序还可考虑采用另外几种编写方式,如采用元件组合的方式,或利用计数器形式来实现。比较几种不同实现方式的复杂程度和对器件资源利用的效率高低。
实验三全加器设计
一.实验目的
1.熟悉用VHDL语言设计组合逻辑电路的方法。
2. 熟悉全加器的设计方法。
3.熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
设计一个一位全加器,两个加数a,b,低进位c-in,高进位c-out,和为sum,动态测量,记录输入、输出同步波形。
三.设计思路
真值表:
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序;在MAX+plus软件环境下调试,并进行波形仿真。
3.下载到仿真开发系统中,检验正误。
4. 完成实验报告,包括源程序、仿真波形和实验结果分析。
五,实验思考
本实验可以用三种不同风格的描述方式来描述,即行为描述方式、数据流(或寄存器传输)描述方式和结构描述方式。
实验四8分频器设计
一.实验目的
1.掌握用VHDL语言设计时序电路的方法。
2.掌握用VHDL语言设计分频器的方法。
3.熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
用VHDL设计一个8分频器。
三.设计思路
可利用多个D 触发器连接而成。本程序也可以采用行为描述的方法,编写VHDL源程序。
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序。
3.在MAX+plus软件环境下调试,并进行波形仿真。
4.下载到仿真开发系统中,检验正误。
5.完成实验报告,包括源程序、仿真波形和实验结果分析。
实验五8移位寄存器设计
一.实验目的
1.掌握用VHDL语言设计时序电路的方法。
2.掌握用VHDL语言设计移位寄存器的方法。
3.熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
用VHDL设计一个8位的普通寄存器。要求能够实现数据的锁存功能。
三.设计思路
普通寄存器通常用来存放二进制数据或一组二进制代码,一般有多个触发器连接而成。本程序即采用行为描述的方法,编写VHDL源程序。
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序。
3.在MAX+plus软件环境下调试,并进行波形仿真。
4.下载到仿真开发系统中,检验正误。
5.完成实验报告,包括源程序、仿真波形和实验结果分析。
实验六奇校验收发电路的实现
一.实验目的
1.掌握用VHDL语言设计时序电路的方法。
2.掌握用VHDL语言设计通信奇校验收发电路的方法。
3.熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
用VHDL设计一个奇校验收发电路;要求能够实现数据的检错功能。
三.设计思路
发送端将通信码流每8个比特分为一组,在后面插入一个比特,组成新的码组,使每个码组1的个数为奇数。接收端则进行反向变换,对码组1的个数进行检测,还原出信息比特。
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序。
3.在MAX+plus软件环境下调试,并进行波形仿真。
4.下载到仿真开发系统中,检验正误。
5.完成实验报告,包括源程序、仿真波形和实验结果分析。
实验七24小时数字钟
一.实验目的
1.掌握用VHDL语言设计时序电路的方法。
2.掌握用VHDL语言设计数字钟的方法。
3.熟悉电路设计的系统仿真和实验箱仿真过程。
二.实验内容
用VHDL设计一个24小时数字钟。要求能够实现时钟的置位和复位功能。
三.设计思路
先实现24进制计数器和60进制计数器,十位和个位分别通过不同端口输出,通过结构描述方式或者RTL描述方式实现24小时数字钟。
四.实验步骤
1.分析实验要求,看懂设计思路。
2.编写VHDL源程序。
3.在MAX+plus软件环境下调试,并进行波形仿真。
4.下载到仿真开发系统中,检验正误。
5.完成实验报告,包括源程序、仿真波形和实验结果分析。
上海百睿机电设备有限公司– https://www.doczj.com/doc/e311540860.html, 机械设计试验指导书 第一次机械设计结构展示与分析 一、实验目的 1.了解常用机械传动的类型、工作原理、组成结构及失效形式; 2.了解轴系零部件的类型、组成结构及失效形式; 3.了解常用的润滑剂及密封装置; 4.了解常用紧固联接件的类型; 5.通过对机械零部件及机械结构及装配的展示与分析,增加对其直观认识。 二、实验设备 机构模型;典型机械零件实物;若干不同类型的机器。 三、实验内容、步骤 在实验室要认识的典型机械零件主要有螺纹联接件、齿轮、轴、轴承、弹簧,具体内容如下: 1.各种类型的螺纹联接实物,各种类型的螺栓、螺母及垫圈实物,螺纹联接的失效实物,各种类型的键、销实物,各种类型的键、销失效实物,各种类型的焊接、铆接实物; 2.各种类型及各种材质的齿轮、齿轮加工刀具、蜗轮蜗杆、带、带轮、链条、链轮、螺旋传动的零部件实物,失效零件实物; 3.各种类型的轴、轴承实物,轴上零件的轴向固定和周向固定实物,轴瓦和轴承衬实物,轴承、轴、轴瓦失效实物; 4.各种类型的弹簧和弹簧失效实物,各种联轴器、离合器实物模型。 四、注意事项 注意保护零件陈列柜中的零件。 五、实验作业 1.请回答在实验室所见到的零部件如螺栓、键、销、弹簧、滚动轴承、联轴器、离合器各 有哪些类型? 2.请举出螺栓、键、齿轮、滚动轴承的一种使用情况以及相应的失效形式。 六、问题思考 1.传动带按截面形式分哪几种?带传动有哪几种失效形式? 2.传动链有哪几种?链传动的主要失效形式有哪些? 3.齿轮传动有哪些类型?各有何特点?齿轮的失效形式主要有哪几种? 4.蜗杆传动的主要类型有哪几种?蜗杆传动的主要失效形式有哪几种? 5.轴按承载情况分为哪几种?轴常见的失效形式有哪些? 6.联轴器与离合器各分为哪几类?各满足哪些基本要求? 7.弹簧的主要类型和功用是什么? 8.可拆卸联接和不可拆卸联接的主要类型有哪些? 9.零件和构件的本质区别是什么? 常用带传动效率测试分析实验台
优化设计实验指导书 潍坊学院机电工程学院 2008年10月 目录
实验一黄金分割法 (2) 实验二二次插值法 (5) 实验三 Powell法 (8) 实验四复合形法 (12) 实验五惩罚函数法 (19)
实验一黄金分割法 一、实验目的 1、加深对黄金分割法的基本理论和算法框图及步骤的理解。 2、培养学生独立编制、调试黄金分割法C语言程序的能力。 3、掌握常用优化方法程序的使用方法。 4、培养学生灵活运用优化设计方法解决工程实际问题的能力。 二、实验内容 1、编制调试黄金分割法C语言程序。 2、利用调试好的C语言程序进行实例计算。 3、根据实验结果写实验报告 三、实验设备及工作原理 1、设备简介 装有Windows系统及C语言系统程序的微型计算机,每人一台。 2、黄金分割法(0.618法)原理 0.618法适用于区间上任何单峰函数求极小点的问题。对函数除“单峰”外不作 其它要求,甚至可以不连续。因此此法适用面相当广。 0.618法采用了区间消去法的基本原理,在搜索区间内适当插入两点和,它们把 分为三段,通过比较和点处的函数值,就可以消去最左段或最右段,即完成一次迭代。 然后再在保留下来的区间上作同样处理,反复迭代,可将极小点所在区间无限缩小。 现在的问题是:在每次迭代中如何设置插入点的位置,才能保证简捷而迅速地找到极小点。 在0.618法中,每次迭代后留下区间内包含一个插入点,该点函数值已计算过,因此以后的每次迭代只需插入一个新点,计算出新点的函数值就可以进行比较。 设初始区间[a,b]的长为L。为了迅速缩短区间,应考虑下述两个原则:(1)等比收缩原理——使区间每一项的缩小率不变,用表示(0<λ<1)。 (2)对称原理——使两插入点x1和x2,在[a,b]中位置对称,即消去任何一边区间[a,x1]或[x2,b],都剩下等长区间。 即有 ax1=x2b 如图4-7所示,这里用ax1表示区间的长,余类同。若第一次收缩,如消去[x2,b]区间,则有:λ=(ax2)/(ab)=λL/L 若第二次收缩,插入新点x3,如消去区间[x1,x2],则有λ=(ax1)/(ax2)=(1-λ)L/λL
《机械设计实验指导书》 徐双满洪建平编 王青温审 机械工程实验教学中心 2011年 2月
螺栓联接实验指导书 一.实验目的 1.掌握测试受轴向工作载荷的紧螺栓联接的受力和变形曲线(即变形协调图)。 2.掌握求联接件(螺栓)刚度C 1、被联接件刚度C 2、相对刚度C 1/C 1+C 2。 3.了解试验预紧力和相对刚度对应力幅的影响,以考察对螺栓疲劳的影响。 二.实验设备 图1—1为螺栓联接实验机结构组成示意图,手轮1相当于螺母,与螺栓杆2相连。套筒3相当于被联接件,拧紧手轮1就可将联接副预紧,并且联接件受拉力作用,被联接件受压力作用。在螺栓杆和套筒上均贴有电阻应变片,用电阻应变仪测量它们的应变来求受力和变形量。测力环4是用来间接的指示轴向工作载荷的。拧紧加载手轮(螺母)6使拉杆5产生轴向拉力,经过测力环4将轴向力作用到螺杆上。测力环上的百分表读数正比于轴向载荷的大小。 1.螺栓联接实验机的主要实验参数如下: 1).螺栓材料为45号钢,弹性模量E 1=2.06×105N/mm 2,螺栓杆直径d=10mm ,有效变形计算长度L 1=130mm 。 2).套筒材料为45号钢,弹性模量E 2=2.06×105N/mm 2,两件套筒外径分别为D=31和32,径为D 1=27.5mm ,有效变形计算长度L 2=130mm.。 2.仪器 1)YJ-26型数字电阻应变仪。 2)YJ-26型数字电阻应变仪。 3)PR10-26型预调平衡箱。
ΔF Dn λb λm λ λm ’ θn λ F θ0 D0 Q p F Q p Q 图4-3 力-变形协调图 图4-2 LBX-84型实验机结构图 1-加载手轮 2-拉杆 3-测力计百分表 4-测力环 5-套筒 6- 电阻应变片 7-螺栓 8-背紧手轮 9-予紧手轮 三.实验原理 1.力与变形协调关系 在螺栓联接中,当联接副受轴向载荷后,螺栓受拉力,产生拉伸变形;被联接件受压力,产生压缩变形,根据螺栓(联接件)和被联接件预紧力相等,可把二者的力和变形图线画在一个坐标系中,如4-3所示。当联接副受工作载荷后,螺栓因受轴 向工作载荷F 作用,其拉力由预紧力Qp 增加到总拉力Q ,被联接件的压紧力Q p 减少到剩余预紧力Q ˊp ,这时,螺栓伸长变形的增量Δλ1,等于被联接件压缩变形的恢复Δλ2,即Δλ1=Δλ2=λ,也就是说变形的关系是协调的。因此,又称为变形协调图。 知道了力和变形的大小便可计算出连接副的刚度的大小,即力与变形之比Q/λ称
设计模式实验指导 一、实验目的 使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括简单工厂模式、工厂方法模 式、抽象工厂模式、单例模式、适配器模式、组合模式、装饰模式、外观模式、、命令模式、迭代器模式、观察者模式、策略模式等12种模式。 二、实验内容 根据以下的文档描述要求,使用合理的UML建模工具(ROSE或者Visio)和任意一种面向对象编程语言实现以下设计模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。 (1)、简单工厂模式 使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,请实现该场景。现需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象,对代码进 行修改并注意女娲的变化。 (2)、工厂方法模式 海尔工厂(Haier)生产海尔空调(HaierAirCondition),美的工厂(Midea)生产美的空调(MideaAirCondition) 。使用工厂方法模式描述该场景,绘制类图并编程实现。 (3)、抽象工程模式 电脑配件生产工厂生产内存、CPU等硬件设备,这些内存、CPU的品牌、型号并不一定相同,根据下面的“产品等级结构-产品族”示意图,使用抽象工厂模式实现电脑配件生产过程并绘制相应的类图,绘制类图并编程实现。
(4)、单例模式 用懒汉式单例实现在某系统运行时,其登录界面类LoginForm只能够弹出一个,如果第二次实例化该类则提示“程序已运行”。绘制类图并编程实现。 提示:不要求做界面,用类模拟界面就可以了。 (5)、组合模式 使用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既可以对某个文件夹(Folder)杀毒,也可以对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、音频视频文件MediaFile。绘制类图并编程实现。 (6)、适配器模式 现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。现使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。绘制类图并编程实现。(要求实现快速排序和二分查找) (7)、装饰模式 某图书管理系统中,书籍类(Book)具有借书方法borrowBook()和还书方法returnBook() 。现需要动态给书籍对象添加冻结方法freeze()和遗失方法lose()。使用装饰模式设计该系统,绘制类图并编程实现。 (8)、外观模式 在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可调用其他硬
《网站设计与开发》实验指导书 辽宁工程技术大学营销管理学院 电子商务系
目录 实验 1 HTML网页制作 (1) 实验 2 C#.NET基本程序设计 (4) 实验 3 HTML控件和Web服务器控件的使用 (7) 实验 4 验证控件的使用 (8) 实验 5 访客计数器 (9) 实验 6 数据库基本操作 (11) 实验7 使用DataSet对象访问数据 (14) 实验8 用户控件、自定义控件和Web服务的使用 (21)
实验1 HTML网页制作 一、目的与要求 1. 掌握HTML常用网页标记的使用。 2. 掌握表格的建立方法。 3. 掌握表单的建立方法。 二、实验环境 任何一个文本编辑器、IE或者其它网页浏览器 三、内容和步骤 【实验题1】在网页上创建一个课表。 步骤如下。 1. 打开记事本,输入如下代码,并以testl_1.html为文件名保存该文件:
节次 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 |
---|---|---|---|---|---|
1、2 | 专业英语 | 操作系统 | 网络基础 | 专业英语 | 数据库 |
3、4 | Java | 数据库 | 实验 | Java | 操作系统 |
课号 | 课程名 | 学分 |
1002201 | 《网络原理》 | 6 |