当前位置:文档之家› 北航eda实验报告

北航eda实验报告

北航eda实验报告
北航eda实验报告

2014-2015-2-G02A3050-1

电子电路设计训练(数字EDA部分)

实验报告

(2015年5月19日)

教学班学号姓名组长签名成绩120311王天然*

120311马璇

120312唐玥

自动化科学与电气工程学院

目录

( 2015年5月19日).........................................错误!未定义书签。目录 .........................................................错误!未定义书签。实验一、简单组合逻辑和简单时序逻辑............................错误!未定义书签。

简单的组合逻辑设计..................................错误!未定义书签。

实验目的和内容:..................................错误!未定义书签。

实验源代码:......................................错误!未定义书签。

测试模块源代码:..................................错误!未定义书签。

简单分频时序逻辑电路的设计...........................错误!未定义书签。

实验目的和内容:..................................错误!未定义书签。

实验源代码:......................................错误!未定义书签。

实验测试源代码:..................................错误!未定义书签。

(选作)设计一个字节(8位)比较器....................错误!未定义书签。

实验内容:........................................错误!未定义书签。

实验代码:........................................错误!未定义书签。

实验测试源代码:..................................错误!未定义书签。

实验小结.............................................错误!未定义书签。实验二、条件语句和always过程块...............................错误!未定义书签。

实验任务1——利用条件语句实现计数分频时序电路.......错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

测试程序的核心逻辑设计...........................错误!未定义书签。

仿真实验关键结果及其解释.........................错误!未定义书签。

实验任务2——用always块实现较复杂的组合逻辑电路....错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

选做实验一——利用10MHz的时钟,设计一个单周期形状的周期波形错误!未定义

书签。

模块的核心逻辑设计................................错误!未定义书签。

测试程序的核心逻辑设计............................错误!未定义书签。

仿真实验关键结果及其解释..........................错误!未定义书签。

选做实验二——always块设计一个8路数据选择器.........错误!未定义书签。

实验要求..........................................错误!未定义书签。

模块的核心逻辑设计................................错误!未定义书签。

测试程序的核心逻辑设计............................错误!未定义书签。

实验小结.............................................错误!未定义书签。实验三、赋值、函数和任务......................................错误!未定义书签。

实验任务1——阻塞赋值与非阻塞赋值的区别.............错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

测试程序的核心逻辑设计...........................错误!未定义书签。

仿真实验关键结果及其解释.........................错误!未定义书签。

实验任务2——在Verilog HDL中使用函数...............错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

测试程序的核心逻辑设计...........................错误!未定义书签。

仿真实验关键结果及其解释.........................错误!未定义书签。

实验任务3——在Verilog HDL中使用任务(task) ........错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

测试程序的核心逻辑设计...........................错误!未定义书签。

仿真实验关键结果及其解释.........................错误!未定义书签。

实验总结..............................................错误!未定义书签。实验四、有限状态机............................................错误!未定义书签。

实验任务1——基于状态机的串行数据检测器.............错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

测试程序的核心逻辑设计...........................错误!未定义书签。

仿真实验关键结果及其解释.........................错误!未定义书签。

实验任务2——楼梯灯.................................错误!未定义书签。

实验要求.........................................错误!未定义书签。

模块的核心逻辑设计...............................错误!未定义书签。

测试程序的核心逻辑设计...........................错误!未定义书签。

仿真实验关键结果及其解释.........................错误!未定义书签。

实验总结..............................................错误!未定义书签。

实验一、简单组合逻辑和简单时序逻辑简单的组合逻辑设计

实验目的和内容:

目的:

(1)掌握基本组合逻辑电路的实现方法

(2)初步了解两种基本组合逻辑电路的生成方法

(3)学习测试模块的编写

(4)通过综合和布局布线了解不同层次仿真的物理意义

内容:模块源代码的组合逻辑仿真与测试

实验源代码:

module compare(equal,a,b);

input a,b;

output equal;

assign equal=(a>b)1:0;"

module t;

rega,b;

wire equal;

initial

begin

a=0;

b=0;

#100 a=0;b=1;

#100 a=1;b=1;

#100 a=1;b=0;

#100 a=0;b=0;

#100 $stop;

end

compare m(.equal(equal),.a(a),.b(b));

endmodule

实验仿真:

测试模块检测模块设计,给出输入信号,通过波形观察模块的内部信号和输出信号。综合就是将文件送到synplify或其他综合器进行处理,启动综合器编译。

简单分频时序逻辑电路的设计

实验目的和内容:

目的:

(1)掌握最基本时序电路的实现方法

(2)学习时序电路测试模块的编写

(3)学习综合和不同层次的仿真

内容:分频时序电路的仿真测试

实验源代码:

modulehalf_clk(reset,clk_in,clk_out);

inputclk_in,reset;

outputclk_out;

regclk_out

always @(posedgeclk_in)eset(reset),.clk_in(clk),.clk_out(clk_out)); endmodule

实验仿真:

每遇到clk的上升沿一次,输出电平翻转一次

(选作)设计一个字节(8位)比较器

实验内容:

比较两个字节的大小,若a[7:0]大于b[7:0],则输出高电平,否则输出低电平。

实验代码:

module compare(equal,a,b);

input [7:0]a,b;

output equal;

assign equal =(a>b)1:0;"

module t2;

reg [7:0]a,b;

reg clock;

wire equal;

initial

begin

a=0;

b=0;

clock=0;

end

always #50 clock = ~clock;

always @(posedge clock)

begin

repeat(10)

begin

a={$random}%255;qual(equal),.a(a),.b(b));

endmodule

第一个initial块常用于仿真时信号的给出;第二个initial块是系统

任务,暂停仿真以便观察仿真波形。它们的关系是并列关系,仿真一并执行。

实验仿真:

实验小结

这次实验主要学习了简单组合逻辑电路和时序逻辑电路的设计。试验一通过简单的逻辑语句就完成了一个数据比较器的设计,这个试验主要应用到了组合逻辑常用的assign结构和always模块,让我对verilog语言有了初步了解。试验二学习了用always块和@(posedge clk),@(negedge clk)组成时序逻辑电路,做成分频器。在测试模块部分,用{$random}%255随机产生值,给定随机输出。

实验二、条件语句和always过程块

实验任务1——利用条件语句实现计数分频时序电路

实验要求

(1)掌握条件语句在简单时序模块设计中的使用

(2)学习在Verilog模块中应用计数器

(3)学习测试模块的编写、综合和不同层次的仿真

模块的核心逻辑设计

always @(posedge F10M) if(!reset)

module blocking1(clk,a,b,c); output[3:0]b,c;

input [3:0]a;

inputclk;

reg [3:0] b,c;

always@(posedgeclk)

begin

c=b; ,a,b,c);

end

endmodule

3.

module blocking2(clk,a,b,c);

output[3:0]b,c;

input [3:0]a;

inputclk;

reg [3:0] b,c;

always@(posedgeclk) b=a; ,a,b,c); endmodule

测试程序的核心逻辑设计

测试部分

1

`timescale 1 ns/100 ps

`include "./"

`include "./"

`include "./"

`include "./"

modulecompareTop;

wire[3:0]b11,c11,b12,c12,b13,c13,b2,c2; reg[3:0]a;

regclk;

initial

begin

clk=0;

forever#50 clk=~clk;

end

initial

begin

a=4'h3;

$display("%d",a);

#100 a=4'h7;

$display("%d",a);

#100 a=4'hf;

$display("%d",a);

#100 a=4'ha;

$display("%d",a);

#100 a=4'h2;

$display("%d",a);

#100 $stop;

end

blocking blocking(clk,a,b11,c11);

blocking1 blocking1(clk,a,b12,c12); blocking2 blocking2(clk,a,b13,c13); non_blockingnon_blocking(clk,a,b2,c2);

endmodule

2.

`timescale 1ns/100ps

`include"./"

`include"./"

module compareTop2; wire[3:0]b1,c1,b2,c2; reg[3:0]a;

regclk;

initial

begin

clk=0;

forever #50 clk=~clk; end

initial

begin

a=4'h3;

$display("");

#100 a=4'h7;

$display("");

#100 a=4'hf;

$display("");

#100 a=4'ha;

$display("");

#100 a=4'h2;

$display("");

#100

$display("");

$stop;

end

blocking1 blocking1(clk,a,b1,c1);

blocking2 blocking2(clk,a,b2,c2);

endmodule

仿真实验关键结果及其解释

对非阻塞,在上升沿到来时把a的值给b,并同时把b的值给c。如第一个上升沿来时把-1给b2,把7给c2。对阻塞,先把-1给b1,再把变为-1的b1给c1. 2.

思考题1分析:时钟上升沿来时将b的值赋给c并同时将a的值赋给b。

思考题2分析:第一个时钟上升沿来时,将a的值赋给b,第二个时钟上升沿来时,将b的值赋给c。

实验任务2——在Verilog HDL中使用函数

实验要求

1.采用同步时钟触发执行,每个clk时钟周期都会执行一次运算,并且在测试模块中,通过调用系统任务$display及在时钟的下降沿显示每次计算的结果,

2.设计一个带控制端的逻辑运算电路,分别完成正整数的平方,立方和最大数为5的阶乘运算,要求可综合,编写测试模块,并给出各种层次的仿真波形,比较他们的不同。

模块的核心逻辑设计

1、

moduletryfunct(clk,n,result,reset);

output[31:0]result;

input[3:0] n;

inputreset,clk;

reg[31:0] result;

always@(posedgeclk)

`include "./"

`timescale 1ns/100ps

`defineclk_cycle 50

moduletryfunctTop;

reg[3:0] n,i;

regreset,clk;

wire[31:0]result;

initial

begin

clk=0;

n=0;

reset=1;

#100 reset=0; lk(clk),.n(n),.result(result),.reset(reset)); endmodule

2、

`include "./"

`timescale 1ns/100ps

`defineclk_cycle 50

moduletryfunctcombtest;

reg[2:0] n;

regreset,clk;

reg[1:0] cal;

wire[6:0] result;

parameter periods=20;

initial

begin

n=0;

reset=1;

clk=0;

cal=0;

#100 reset=0;

#100 reset=1;

repeat(periods)

begin

#50 cal={$random}%3;

#50 n={$random}%6;

end

#100 $stop;

end

always #`clk_cycleclk=~clk;

tryfunctcomb

m(.clk(clk),.n(n),.result(result),.reset(reset),.cal(cal)); endmodule

仿真实验关键结果及其解释

1.

2.

实验任务3——在Verilog HDL中使用任务(task)

实验要求

用两种不同方法设计一个功能相同的模块,该模块能完成四个8位2进制输入数据的冒泡排序。第一种,模仿原题例子中用纯组合逻辑实现;第二种,假设8位数据是按照时钟节拍串行输入的,要求用时钟触发任务的执行法,每个时钟周期完成一次数据交换操作。

模块的核心逻辑设计

module sort4(ra,rb,rc,rd,a,b,c,d);

output [3:0]ra,rb,rc,rd;

input [3:0]a,b,c,d;

reg [3:0]ra,rb,rc,rd;

reg [3:0]va,vb,vc,vd;

always @(a or b or c or d)

begin

{va,vb,vc,vd}={a,b,c,d};

sort2(va,vc);

(a),.b(b),.c(c),.d(d),.ra(ra),.rb(rb),.rc(rc),.rd(rd));

endmodule

仿真实验关键结果及其解释

将a,b,c,d的值分别赋给va,vb,vc,vd,将va与vc互换,vb与vd互换,va与vb 互换,vc与vd互换,vb与vc互换,换完后,将va,vb,vc,vd的值赋给ra,rb,rc,rd。

实验总结

这次实验主要学习了赋值语句函数和任务。试验四通过在always块中阻塞赋值和非阻塞赋值,让我理解了他们语法上和综合后电路的区别。用=阻塞赋值顺序进行,用<=非阻塞赋值并发进行。试验六学习了在verilog HDL中使用函数,通过在always 块中调用函数完成一个计算。试验其使用任务,不同于函数,调用任务可以输出多个结果不需要返回值。

EDA实验报告

实验一计数器设计 一、实验目的 计数器是实际中最为常用的时序电路模块之一,本实验的主要目的是掌握使用HDL描述计数器类型模块的基本方法。 二、实验仪器与器材 1.EDA开发软件一套 2.微机一台 3.实验开发系统一台 4.其他器材与材料若干 三、实验说明 计数器是数字电路系统中最重要的功能模块之一,设计时可以采用原理图或HDL语言完成。下载验证时的计数时钟可选连续或单脉冲,并用数码管显示计数值。 四、实验要求 1.设计一个带有计数允许输入端、复位输入端和进位输入端的十进制计数器。 2.编制仿真测试文件,并进行功能仿真。 3.下载并验证计数器功能。 4.为上述设计建立元件符号。 5.在上述基础上设计计数器。 五、实验结果

十进制计数器程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity counter10 is port(en,reset,clk:in std_logic; q:buffer std_logic_vector(3 downto 0); co:out std_logic); end counter10; architecture behav of counter10 is begin process(clk,en) begin if clk'event and clk='1' then if reset='1' then q<="0000"; elsif en='1' then if q<"1001" then q<=q+'1'; else q<="0000"; end if; end if; end if; end process;

北航电子电路设计数字部分实验报告

电子电路设计数字部分实验报告 学院: 姓名:

实验一简单组合逻辑设计 实验内容 描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出结果1,否则给出结果0。 实验仿真结果 实验代码 主程序 module compare(equal,a,b); input[7:0] a,b; output equal; assign equal=(a>b)1:0; endmodule 测试程序

module t; reg[7:0] a,b; reg clock,k; wire equal; initial begin a=0; b=0; clock=0; k=0; end always #50 clock = ~clock; always @ (posedge clock) begin a[0]={$random}%2; a[1]={$random}%2; a[2]={$random}%2; a[3]={$random}%2; a[4]={$random}%2; a[5]={$random}%2; a[6]={$random}%2; a[7]={$random}%2; b[0]={$random}%2; b[1]={$random}%2; b[2]={$random}%2; b[3]={$random}%2; b[4]={$random}%2;

b[5]={$random}%2; b[6]={$random}%2; b[7]={$random}%2; end initial begin #100000 $stop;end compare m(.equal(equal),.a(a),.b(b)); endmodule 实验二简单分频时序逻辑电路的设计 实验内容 用always块和@(posedge clk)或@(negedge clk)的结构表述一个1/2分频器的可综合模型,观察时序仿真结果。 实验仿真结果

北航实验报告实验实验

实验三UC-OS移植实验 一、实验目的 在内核移植了uCOS-II 的处理器上创建任务。 二、实验内容 1.运行实验十,在超级终端上观察四个任务的切换。 2. 任务1~3,每个控制“红”、“绿”、“蓝”一种颜色的显示,适当增加OSTimeDly()的时间,且优先级高的任务延时时间加长,以便看清三种颜色。 3.引入一个全局变量BOOLEAN ac_key,解决完整刷屏问题。 4. #define rUTRSTAT0 (*(volatile unsigned *)0x50000010) #define RdURXH0()(*(volatile unsigned char *)0x50000024) 当键盘有输入时在超级终端上显示相应的字符。 三、实验设备 硬件:ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。 软件:PC机操作系统Win2000或WinXP、ARM ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序。 四、实验原理 所谓移植,指的是一个操作系统可以在某个微处理器或者微控制器上运行。虽然uCOS-II的大部分源代码是用C语言写成的,仍需要用C语言和汇编语言完成一些与处理器相关的代码。比如:uCOS-II在读写处理器、寄存器时只能通过汇编语言来实现。因为uCOS-II在设计的时候就己经充分考虑了可移植性,所以,uCOS-II的移植还是比较容易的。 要使uCOS一工工可以正常工作,处理器必须满足以下要求: 1)处理器的C编译器能产生可重入代码。 2)在程序中可以打开或者关闭中断。 3)处理器支持中断,并A能产生定时中断(通常在10Hz}1000Hz之间)。 4)处理器支持能够容纳一定量数据的硬件堆栈。 5)处理器有将堆栈指针和其它CPU寄存器存储和读出到堆栈(或者内存)的指

EDA实验报告

目录 第一部分实验开发系统概述及使用说明.............................................................. 1第一章EDA实验系统 ....................................................................................... 1第二章EDA/SOPC实验系统 ............................................................................ 7第二部分实验部分............................................................................................ 10实验一EDA工具基本操作与应用 ........................................................... 10实验二计数器设计..................................................................................... 24实验三串入/并出移位寄存器实现 ........................................................... 26实验四四人抢答器设计............................................................................. 28实验五序列检测器设计............................................................................. 29实验六DDS信号源的设计........................................................................ 30实验七交通灯控制器设计......................................................................... 31实验八数字钟设计..................................................................................... 32实验九出租车计费器设计......................................................................... 33实验十频率计的实现................................................................................. 34附录——FPGA接口对照表 ............................................................................ 35

北航电子电路设计训练模拟分实验报告

北航电子电路设计训练模拟部分实验报告

————————————————————————————————作者:————————————————————————————————日期:

电子电路设计训练模拟部分实验 实验报告

实验一:共射放大器分析与设计 1.目的: (1)进一步了解Multisim的各项功能,熟练掌握其使用方法,为后续课程打好基础。 (2)通过使用Multisim来仿真电路,测试如图1所示的单管共射放大电路的静态工作点、电压放大倍数、输入电阻和输出电阻,并观察 静态工作点的变化对输出波形的影响。 (3)加深对放大电路工作原理的理解和参数变化对输出波形的影响。 (4)观察失真现象,了解其产生的原因。 图 1 实验一电路图 2.步骤: (1)请对该电路进行直流工作点分析,进而判断管子的工作状态。 (2)请利用软件提供的各种测量仪表测出该电路的输入电阻。 (3)请利用软件提供的各种测量仪表测出该电路的输出电阻。 (4)请利用软件提供的各种测量仪表测出该电路的幅频、相频特性曲线。 (5)请利用交流分析功能给出该电路的幅频、相频特性曲线。 (6)请分别在30Hz、1KHz、100KHz、4MHz和100MHz这5个频点利用示波器测出输入和输出的关系,并仔细观察放大倍数和相位差。 (提示:在上述实验步骤中,建议使用普通的2N2222A三极管,并请注 意信号源幅度和频率的选取,否则将得不到正确的结果。) 3.实验结果及分析: (1)根据直流工作点分析的结果,说明该电路的工作状态。 由simulate->analyses->DC operating point,可测得该电路的静态工作点为:

北航计软实验报告一

北航计软实验报告一

————————————————————————————————作者: ————————————————————————————————日期:

计算机软件基础上机实验报告(一) XXXXXX班XXX 1.实验目的 掌握线性表在顺序分配下的插入与删除运算;掌握线性表的链式存储结构;掌握插入排序的方法;并掌握一种产生随机数的方法。 2.实验内容 1.产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件中。 2.编制一个程序,依次实现以下功能: (1)?定义一个有序(非递减)线性表,其最大容量为1000,初始时为空。 (2)?从由1产生的数据文件中依次取前N个随机整数,陆续插入到此线性表中,并要求在每次插入后保持线性表的有序性。最后将此有序线性表打印输出。 (3)?在由(2)产生的线性表中,依在1中产生的次序逐个将元素删除,直至表空为止。 3. 以N=100及N=400分别运行2的程序,并比较它们的运行时间。 4. 编写一个程序,用插入排序依次将1中产生的1000个随机整数链接成有序链表(不改变原随机数在存储空间中的顺序)。 3.源代码与运行结果 #include<stdio.h> #include<stdlib.h> #include /** 1_1 产生1000个0至999间的随机整数,并以产生的次序存入一个数据文件(1_1.txt)中。 **/ main() { FILE *fo=fopen("1_1.txt","w"); int i,j; srand((unsigned)time(0)); for(i=0;i<=999;i++)fprintf(fo,"%d\n",rand()%1000); fclose(fo); printf("1000个随机数已输出至目录下1_1.txt文件\n");

EDA实验报告

EDA 实验报告 实验一:组合电路的设计 实验内容是对2选1多路选择器VHDL 设计,它的程序如下: ENTITY mux21a IS PORT ( a, b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a; ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT; BEGIN d <= a AND (NOT S) ; e <= b AND s ; y <= d OR e ; END ARCHITECTURE one ; Mux21a 仿真波形图 以上便是2选1多路选择器的VHDL 完整描述,即可以看成一个元件mux21a 。mux21a 实体是描述对应的逻辑图或者器件图,图中a 和b 分别是两个数据输入端的端口名,s 为通道选择控制信号输入端的端口名,y 为输出端的端口名。Mux21a 结构体可以看成是元件的内部电路图。最后是对仿真得出的mux21a 仿真波形图。 Mux21a 实体 Mux21a 结构体

实验二:时序电路的设计 实验内容D 触发器的VHDL 语言描述,它的程序如下: 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 BEGIN PROCESS (CLK) BEGIN IF CLK'EVENT AND CLK = '1' THEN Q <= D ; END IF; END PROCESS ; END bhv; D 触发器的仿真波形图 最简单并最具代表性的时序电路是D 触发器,它是现代可编程ASIC 设计中最基本的时序元件和底层元件。D 触发器的描述包含了VHDL 对时序电路的最基本和典型的表达方式,同时也包含了VHDL 中许多最具特色的语言现象。D 触发器元件如上图所示,其在max+plus2的仿真得出上面的波形 D 触发器

北航自动控制原理实验报告(完整版)

自动控制原理实验报告 一、实验名称:一、二阶系统的电子模拟及时域响应的动态测试 二、实验目的 1、了解一、二阶系统阶跃响应及其性能指标与系统参数之间的关系 2、学习在电子模拟机上建立典型环节系统模型的方法 3、学习阶跃响应的测试方法 三、实验内容 1、建立一阶系统的电子模型,观测并记录在不同时间常数T时的响应曲线,测定过渡过程时间T s 2、建立二阶系统电子模型,观测并记录不同阻尼比的响应曲线,并测定超调量及过渡过程时间T s 四、实验原理及实验数据 一阶系统 系统传递函数: 由电路图可得,取则K=1,T分别取:0.25, 0.5, 1 T 0.25 0.50 1.00 R2 0.25MΩ0.5M Ω1MΩ C 1μ1μ1μ T S 实测0.7930 1.5160 3.1050 T S 理论0.7473 1.4962 2.9927 阶跃响应曲线图1.1 图1.2 图1.3 误差计算与分析 (1)当T=0.25时,误差==6.12%; (2)当T=0.5时,误差==1.32%; (3)当T=1时,误差==3.58% 误差分析:由于T决定响应参数,而,在实验中R、C的取值上可能存在一定误差,另外,导线的连接上也存在一些误差以及干扰,使实验结果与理论值之间存在一定误差。但是本实验误差在较小范围内,响应曲线也反映了预期要求,所以本实验基本得到了预期结果。 实验结果说明 由本实验结果可看出,一阶系统阶跃响应是单调上升的指数曲线,特征有T确定,T越小,过度过程进行得越快,系统的快速性越好。 二阶系统 图1.1 图1.2 图1.3

系统传递函数: 令 二阶系统模拟线路 0.25 0.50 1.00 R4 210.5 C2 111 实测45.8% 16.9% 0.6% 理论44.5% 16.3% 0% T S实测13.9860 5.4895 4.8480 T S理论14.0065 5.3066 4.8243 阶跃响应曲线图2.1 图2.2 图2.3 注:T s理论根据matlab命令[os,ts,tr]=stepspecs(time,output,output(end),5)得出,否则误差较大。 误差计算及分析 1)当ξ=0.25时,超调量的相对误差= 调节时间的相对误差= 2)当ξ=0.5时,超调量的相对误差==3.7% 调节时间的相对误差==3.4% 4)当ξ=1时,超调量的绝对误差= 调节时间的相对误差==3.46% 误差分析:由于本试验中,用的参量比较多,有R1,R2,R3,R4;C1,C2;在它们的取值的实际调节中不免出现一些误差,误差再累加,导致最终结果出现了比较大的误差,另外,此实验用的导线要多一点,干扰和导线的传到误差也给实验结果造成了一定误差。但是在观察响应曲线方面,这些误差并不影响,这些曲线仍旧体现了它们本身应具有的特点,通过比较它们完全能够了解阶跃响应及其性能指标与系统参数之间的关系,不影响预期的效果。 实验结果说明 由本实验可以看出,当ωn一定时,超调量随着ξ的增加而减小,直到ξ达到某个值时没有了超调;而调节时间随ξ的增大,先减小,直到ξ达到某个值后又增大了。 经理论计算可知,当ξ=0.707时,调节时间最短,而此时的超调量也小于5%,此时的ξ为最佳阻尼比。此实验的ξ分布在0.707两侧,体现了超调量和调节时间随ξ的变化而变化的过程,达到了预期的效果。 图2.2 图2.1 图2.3

EDA设计课程实验报告数码管动态显示实验报告

EDA设计课程实验报告 实验题目:数码管动态显示实验 学院名称: 专业:电子信息工程 班级: 姓名:高胜学号 小组成员: 指导教师: 一、实验目的 学习动态扫描显示的原理;利用数码管动态扫描显示的原理编写程序,实现自己的学号的显示。 二、设计任务及要求

1、在SmartSOPC实验箱上完成数码管动态显示自己学号的后八个数字。 2、放慢扫描速度演示动态显示的原理过程。 三、系统设计 1、整体设计方案 数码管的八个段a,b,c,d,e,f,g,h(h是小数点)都分别连接到SEG0~SEG7,8个数码管分别由八个选通信号DIG0~DIG7来选择,被选通的数码管显示数据,其余关闭。如果希望8个数码管显示希望的数据,就必须使得8个选通信号DIG0~DIG7分别被单独选通,并在此同时,在段信号输入口SEG0~SEG7加上该对应数码管上显示的数据,于是随着选通信号的扫描就能实现动态扫描显示的目的。虽然每次只有1个数码管显示,但只要扫描显示速率足够快,利用人眼的视觉余辉效应,我们仍会感觉所有的数码管都在同时显示。 2、功能模块电路设 (1)输入输出模块框图(见图1) 图1 (2)模块逻辑表达(见表1) 表1(数码管显示真值表) clk_1k dig seg ↑01111111 C0 ↑10111111 F9

注:数码管显示为01180121 (3)算法流程图(见图2) (4)Verilog源代码 module scan_led(clk_1k,d,dig,seg); //模块名scan_led input clk_1k; //输入时钟 input[31:0] d; //输入要显示的数据output[7:0] dig; //数码管选择输出引脚

北航数字图象处理实验报告

数字图像处理实验报告 实验二图像变换实验 1.实验目的 学会对图像进行傅立叶等变换,在频谱上对图像进行分析,增进对图像频域上的感性认识,并用图像变换进行压缩。 2.实验内容 对Lena或cameraman图像进行傅立叶、离散余弦、哈达玛变换。在频域,对比他们的变换后系数矩阵的频谱情况,进一步,通过逆变换观察不同变换下的图像重建质量情况。 3. 实验要求 实验采用获取的图像,为灰度图像,该图像每象素由8比特表示。具体要求如下: (1)输入图像采用实验1所获取的图像(Lena、Cameraman); (2)对图像进行傅立叶变换、获得变换后的系数矩阵; (3)将傅立叶变换后系数矩阵的频谱用图像输出,观察频谱; (4)通过设定门限,将系数矩阵中95%的(小值)系数置为0,对图像进行反变换,获得逆变换后图像; (5)观察逆变换后图像质量,并比较原始图像与逆变后的峰值信噪比(PSNR)。 (6)对输入图像进行离散余弦、哈达玛变换,重复步骤1-5; (7)比较三种变换的频谱情况、以及逆变换后图像的质量(PSNR)。 4. 实验结果 1. DFT的源程序及结果 J=imread('10021033.bmp'); P=fft2(J); for i=0:size(P,1)-1 for j=1:size(P,2) G(i*size(P,2)+j)=P(i+1,j); end end Q=sort(G); for i=1:size(Q,2) if (i=size(Q,2)*0.95) t=Q(i); end end G(abs(G)

北航eda实验报告

2014-2015-2-G02A3050-1 电子电路设计训练(数字EDA部分) 实验报告 (2015年5月19日) 教学班学号姓名组长签名成绩120311王天然* 120311马璇 120312唐玥 自动化科学与电气工程学院

目录 ( 2015年5月19日).........................................错误!未定义书签。目录 .........................................................错误!未定义书签。实验一、简单组合逻辑和简单时序逻辑............................错误!未定义书签。 简单的组合逻辑设计..................................错误!未定义书签。 实验目的和内容:..................................错误!未定义书签。 实验源代码:......................................错误!未定义书签。 测试模块源代码:..................................错误!未定义书签。 简单分频时序逻辑电路的设计...........................错误!未定义书签。 实验目的和内容:..................................错误!未定义书签。 实验源代码:......................................错误!未定义书签。 实验测试源代码:..................................错误!未定义书签。 (选作)设计一个字节(8位)比较器....................错误!未定义书签。 实验内容:........................................错误!未定义书签。 实验代码:........................................错误!未定义书签。 实验测试源代码:..................................错误!未定义书签。 实验小结.............................................错误!未定义书签。实验二、条件语句和always过程块...............................错误!未定义书签。 实验任务1——利用条件语句实现计数分频时序电路.......错误!未定义书签。 实验要求.........................................错误!未定义书签。 模块的核心逻辑设计...............................错误!未定义书签。 测试程序的核心逻辑设计...........................错误!未定义书签。 仿真实验关键结果及其解释.........................错误!未定义书签。 实验任务2——用always块实现较复杂的组合逻辑电路....错误!未定义书签。

FPGA实验报告北航电气技术实验

FPGA电气技术实践 实验报告 院(系)名称宇航学院 专业名称飞行器设计与工程(航天)学生学号XXXXXXXX 学生姓名XXXXXX 指导教师XXXX 2017年11月XX日

实验一四位二进制加法计数器与一位半加器的设计实验时间:2017.11.08(周三)晚实验编号20 一、实验目的 1、熟悉QuartusII的VHDL的文本编程及图形编程流程全过程。 2、掌握简单逻辑电路的设计方法与功能仿真技巧。 3、学习并掌握VHDL语言、语法规则。 4、参照指导书实例实现四位二进制加法计数器及一位半加器的设计。 二、实验原理 .略 三、实验设备 1可编程逻辑实验箱EP3C55F484C8 一台(包含若干LED指示灯,拨码开关等)2计算机及开发软件QuartusII 一台套 四、调试步骤 1四位二进制加法计数器 (1)参照指导书实例1进行工程建立与命名。 (2)VHDL源文件编辑 由于实验箱上LED指示灯的显示性质为“高电平灭,低电平亮”,为实现预期显示效果应将原参考程序改写为减法器,且”q1<= q1+1”对应改为”q1<= q1-1”,以实现每输入一个脉冲“亮为1,灭为0”。 由于参考程序中的rst清零输入作用并未实现,所以应将程序主体部分的最外部嵌套关于rst输入是否为1的判断,且当rst为1时,给四位指示灯置数”1111”实现全灭,当rst为0时,运行原计数部分。 (3)参照指导书进行波形仿真与管脚绑定等操作,链接实验箱并生成下载文件 (4)将文件下载至实验箱运行,观察计数器工作现象,调试拨动开关查看是否清零。 可以通过改变与PIN_P20(工程中绑定为clk输入的I/O接口)相连导线的另一端所选择的实验箱频率时钟的输出口位置,改变LED灯显示变化频率。 并且对照指导书上对实验箱自带时钟频率的介绍,可以通过改变导线接口转换输入快慢,排查由于clk输入管脚损坏而可能引起的故障。

北航电涡流传感器实验报告

电涡流传感器实验报告 38030414蔡达 一、实验目的 1.了解电涡流传感器原理; 2.了解不同被测材料对电涡流传感器的影响。 二、实验仪器 电涡流传感器实验模块,示波器:DS5062CE,微机电源:WD990型,士12V,万用表:VC9804A型,电源连接电缆,螺旋测微仪 三、实验原理 电涡流传感器由平面线圈和金属涡流片组成,当线圈中通以高频交变电流后,在与其平行的金属片上会感应产生电涡流,电涡流的大小影响线圈的阻抗Z,而涡流的大小与金属涡流片的电阻率、导磁率、厚度、温度以及与线圈的距离X有关,当平面线圈、被测体(涡流片)、激励源确定,并保持环境温度不变,阻抗Z只与距离X有关,将阻抗变化转为电压信号V输出,则输出电压是距离X的单值函数。

四. 实验数据及处理 1.铁片 0.5 1 1.52 2.5 3 3.5 电涡流传感器电压位移曲线—铁片 电压/V 位移/mm

0.5 1 1.5 2 2.53 3.5 电涡流传感器电压位移拟合曲线—铁片 电压/V 位移/mm 其线性工作区为0.6——3.4,对该段利用polyfit 进行函数拟合,可得V=-1.0488X-1.2465 2.铜片

电涡流传感器电压位移曲线—铜片 电压/V 位移/mm 2.2 2.4 2.6 2.83 3.2 3.4 3.6 -6-5.95-5.9-5.85 -5.8-5.75-5.7 -5.65-5.6-5.55-5.5电涡流传感器电压位移拟合曲线—铜片 电压/V 位移/mm 其线性工作区为2.4——3.4,对该段利用polyfit 进行函数拟合,可得V= -0.4500X -4.4667

EDA实验报告

湖北民族学院信息工程学院实验报告 (电气、电子类专业用) 班级: 09 姓名:周鹏学号:030940908 实验成绩: 实验地点: EDA实验室 课程名称:数字系统分析与设计实验类型:设计型 实验题目:实验一简单的QUARTUSII实例设计,基于VHDL格雷码编码器的设计 实验仪器:HH-SOC-EP3C40EDA/SOPC实验开发平台,PC机。 一、实验目的 1、通过一个简单的3—8译码器的设计,掌握组合逻辑电路的设计方法。 2、初步了解QUARTUSII原理图输入设计的全过程。 3、掌握组合逻辑电路的静态测试方法。 4、了解格雷码变换的原理。 5、进一步熟悉QUARTUSII软件的使用方法和VHDL输入的全过程。 6、进一步掌握实验系统的使用。 二、实验原理、原理图及电路图 3-8译码器三输入,八输出。当输入信号按二进制方式的表示值为N时,输出端标号为N的输出端输出高电平表示有信号产生,而其它则为低电平表示无信号产生。因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为高电平的情况下,能表示所有的输入组合。其真值表如表1-1所示 输入输出 A B C D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0

1 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 表1-1 三-八译码器真值表 译码器不需要像编码器那样用一个输出端指示输出是否有效。但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。 三、实验步骤及内容 实验内容一: 在本实验中,用三个拨动开关来表示三八译码器的三个输入(A、B、C);用八个LED来表示三八译码器的八个输出(D0-D7)。通过输入不同的值来观察输入的结果与三八译码器的真值表(表1-1)是否一致。实验箱中的拨动开关与FPGA的接口电路如下图1-1所示,当开关闭合(拨动开关的档位在下方)时其输出为低电平,反之输出高电平。实验内容二: 本实验要求完成的任务是变换12位二进制码到12位的格雷码。实验中用12位拨动开关模块的K1~K12表示8位二进制输入,用LED模块的LED1~LED12来表示转换的实验结果十二位格雷码。实验LED亮表示对应的位为‘1’,LED灭表示对应的位为‘0’。通过输入不同的值来观察输入的结果与实验原理中的转换规则是否一致。实验箱中的拨动开关、与FPGA的接口电路,LED灯与FPGA的接口电路以及拨动开关、LED与FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。 实验步骤一: 1、建立工程文件 1)选择开始>程序>Altera>QuartusII8.1> QuartusII8.1(32BIT),运行QUARTUSII 软件。或者双击桌面上的QUARTUSII的图标运行QUARTUSII软件,出现如图1-3所示,如果是第一次打开QUARTUSII软件可能会有其它的提示信息,使用者可以根据自己的实际情况进行设定后进入图1-3所示界面。

北航17系光电子实验报告实验5讲解

光电子技术实验报告

实验五光电池特性实验 一.实验目的: 1.学习掌握硅光电池的工作原理。 2.学习掌握硅光电池的基本特性。 3.掌握硅光电池基本特性测试方法。 二.实验原理: 光电池是一种不需要加偏置电压就能把光能直接转换成电能的PN结光电器件,按光电池的功用可将其分为两大类:即太阳能光电池和测量光电池,本仪器用的是测量用的硅光电池,其主要功能是作为光电探测,即在不加偏置的情况下将光信号转换成电信号。 图(20)图(21)如图(20)所示为2DR型硅光电池的结构,它是以P型硅为衬底(即在本征型硅材料中掺入三价元素硼或镓等),然后在衬底上扩散磷而形成N型层并将其作为受光面。如图(21)所示当光作用于PN结时,耗尽区内的光生电子与空穴在内建电场力的作用下分别向N区和P区运动,在闭合电路中将产生输出电流IL,且负载电阻RL上产生电压降为U。显然,PN结获得的偏置电压U与光电池输出电流IL与负载电阻RL有关,即U=IL?RL,当以输出电流的IL为电流和电压的正方向时,可以得到如图(22)所示的伏安特性曲线。

图(22)图(23)光电池在不同的光强照射下可以产生不同的光电流和光生电动势,硅光电池的光照特性曲线如图(23)所示,短路电流在很大范围内与光强成线性关系,开路电压随光强变化是非线性的,并且当照度在2000lx时就趋于饱和,因此,把光电池作为测量元件时,应把它当作电流源来使用,不宜用作电压源。 硒光电池和硅光电池的光谱特性曲线如图(25)所示,不同的光电池其光谱峰值的位置不同,硅光电池的在800nm附近,硒光电池的在540nm附近,硅光电池的光谱范围很广,在450~1100nm之间,硒光电池的光谱范围为340~750nm。 图(24)图(25)光电池的温度特性主要描述光电池的开路电压和短路电流随温度变化的情况,由于它关系到应用光电池设备的温度漂移,影响到测量精度或控制精度等主要指标,光电池的温度特性如图(24)所示。开路电压随温度升高而下降的速度较快,而短路电流随温度升高而缓慢增加,因此,当使用光电池作为测量元件时,在系统设计中应考虑到温度的漂移,并采取相应的措施进行补偿。 三.实验所需部件: 两种光电池、各类光源、实验选配单元、数字电压表(4 1/2位)自备、微安表(毫安表)、激光器、照度计(用户选配)。

北航verilog实验报告(全)

目录 实验一 (2) 实验二 (8) 实验三 (14) 实验四 (27)

实验一 实验目的:熟悉硬件开发流程,掌握Modelsim设计与仿真环境,学会简单组合逻辑电路、简单时序逻辑电路设计,不要求掌握综合和综合后仿真。 实验内容:必做实验:练习一、简单的组合逻辑设计 练习二、简单分频时序逻辑电路的设计 选做实验:选做一、练习一的练习题 选做二、7段数码管译码电路 练习一、简单的组合逻辑设计 描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出结果1,否则给出结果0。 实验代码: 模块源代码: module compare(equal,a,b); input a,b; output equal; assign equal=(a==b)?1:0; endmodule 测试模块源代码: `timescale 1ns/1ns `include "./compare.v" module t; reg a,b; wire equal; initial begin a=0; b=0; #100 a=0;b=1; #100 a=1;b=1; #100 a=1;b=0; #100 a=0;b=0; #100 $stop; end compare m(.equal(equal),.a(a),.b(b)); endmodule 实验波形

练习二、简单分频时序逻辑电路的设计 用always块和@(posedge clk)或@(negedge clk)的结构表述一个1/2分频器的可综合模型,观察时序仿真结果。 实验代码: 模块源代码: module halfclk(reset,clkin,clkout); input clkin,reset; output clkout; reg clkout; always@(posedge clkin) begin if(!reset) clkout=0; else clkout=~clkout; end endmodule 测试模块源代码: `timescale 1ns/100ps `define clkcycle 50 module tt; reg clkin,reset; wire clkout; always#`clkcycle clkin=~clkin; initial begin clkin=0; reset=1; #10 reset=0; #110 reset=1; #100000 $stop; end halfclk m0(.reset(reset),.clkin(clkin),.clkout(clkout)); endmodule

EDA实验报告

实验一 单级放大电路的设计与仿真 一、实验目的 1)掌握单级放大电路在仿真软件中的设计。 1)掌握放大电路与静态工作点的调整和测试方法。 2)掌握放大电路的动态参数的测试方法。 3)观察静态工作点的选择对输出波形及电压放大倍数的影响。 二、实验要求 1.设计一个分压偏置的单管电压放大电路,要求信号源频率10kHz(峰值1mV) ,负载电阻3.9k Ω,电压增益大于70。 2.调节电路静态工作点(调节偏置电阻),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。 3.调节电路静态工作点(调节偏置电阻),使电路输出信号不失真,并且幅度最大。在此状态下测试: ①电路静态工作点值; ②三极管的输入、输出特性曲线和 、 rbe 、rce 值; ③电路的输入电阻、输出电阻和电压增益; 4.电路的频率响应曲线和L f 、H f 值。 三、实验步骤 1.单级放大电路的原理图及原理

图1.1单级放大电路原理图 放大电路的原理图如上,该电路为一个分压偏置单级共射放大电路,其中信号源为10kHz (峰值为5mV ),该电路的负载为8k Ω。输入输出信号都是通过耦合电容连接信号源和负载的,这样做可以使得静态工作点不受负载和信号源的影响。该电路利用R4和R5从而稳定住三极管基极的电压值。引进了的电容C3对三极管的静态工作点没有影响,而在三极管的动态分析时可以将R2的作用忽略,使得小信号分析更加的简便。分压偏置的电路中引入了一个电位器R6,目的是为了在实验中便于修改三极管的静态工作点。 2.电路的截止失真和饱和失真 (1)电路的饱和失真 调节电位器R6,可以改变三极管的静态工作点,当R6值为1%时(0.7k Ω)在虚拟示波器中可以观察到输出波形明显的出现了饱和失真的现象,输出波形如图1.2所示。利用Multisim 的“直流工作点分析”功能可以测出三极管的静态工作点。由于软件本身的限制,无法直接读取三极管的Vce 值。为了解决这个问题,实验中添加表达式测量项b e V V (本实验电路中的表达式为“V(3)-V(2)”)来表示Vce ,测量结果如图1.3所示。

北航惯性导航综合实验一实验报告

实 验一 陀螺仪关键参数测试与分析实验 加速度计关键参数测试与分析实验 二零一三年五月十二日 实验一陀螺仪关键参数测试与分析实验 一、实验目得 通过在速率转台上得测试实验,增强动手能力与对惯性测试设备得感性认识;通过对陀螺仪测试数据得分析,对陀螺漂移等参数得物理意义有清晰得认识,同时为在实际工程中应用陀螺仪与对陀螺仪进行误差建模与补偿奠定基础。 二、实验内容 利用单轴速率转台,进行陀螺仪标度因数测试、零偏测试、零偏重复性测试、零漂测试实验与陀螺仪标度因数与零偏建模、误差补偿实验。 三、实验系统组成 单轴速率转台、MEMS 陀螺仪(或光纤陀螺仪)、稳压电源、数据采集系统与分析系统。

四、实验原理 1.陀螺仪原理 陀螺仪就是角速率传感器,用来测量载体相对惯性空间得角速度,通常输出与角速率对应得电压信号。也有得陀螺输出频率信号(如激光陀螺)与数字信号(把模拟电压数字化)。以电压表示得陀螺输出信号可表示为: (1-1)式中就是与比力有关得陀螺输出误差项,反映了陀螺输出受比力得影响,本实验不考虑此项误差。因此,式(1-1)简化为 (1-2)由(1-2)式得陀螺输出值所对应得角速度测量值: (1-3) 对于数字输出得陀螺仪,传感器内部已经利用标度因数对陀螺仪模拟输出进行了量化,直接输出角速度值,即: (1-4)就是就是陀螺仪得零偏,物理意义就是输入角速度为零时,陀螺仪输出值所对应得角速度。且 (1-5) 精度受陀螺仪标度因数、随机漂移、陀螺输出信号得检测精度与得影响。通常与表现为有规律性,可通过建模与补偿方法消除,表现为随机特性,可通过信号滤波方法抵制。因此,准确标定与就是实现角速度准确测量得基础。 五、陀螺仪测试实验步骤 1)标度因数与零偏测试实验 a、接通电源,预热一定时间; b、陀螺工作稳定后,测量静止情况下陀螺输出并保存数据;

EDA实验实验报告

数字eda实验实验报告 学院:计算机科学与工程学院专业:通信工程学 号: 0941903207 姓名:薛蕾指导老 师:钱强 实验一四选一数据选择器的设计 一、实验目的 1、熟悉quartus ii软件的使用。 2、了解数据选择器的工作原理。 3、熟悉eda开发 的基本流程。 二、实验原理及内容 实验原理 数据选择器在实际中得到了广泛的应用,尤其是在通信中为了利用多路信号中的一路, 可以采用数据选择器进行选择再对该路信号加以利用。从多路输入信号中选择其中一路进行 输出的电路称为数据选择器。或:在地址信号控制下,从多路输入信息中选择其中的某一路 信息作为输出的电路称为数据选择器。数据选择器又叫多路选择器,简称mux。 4选1数据 选择器: (1)原理框图:如右图。 d0 、d1、d2、d3 :输入数据 a1 、a0 :地址变量 由地址码决定从4路输入中选择哪1路输出。 (2)真值表如下图: (3)逻辑图 数据选择器的原理比较简单,首先必须设置一个选择标志信号,目的就是为了从多路信 号中选择所需要的一路信号,选择标志信号的一种状态对应着一路信号。在应用中,设置一 定的选择标志信号状态即可得到相应的某一路信号。这就是数据选择器的实现原理。 三.实验内容 1、分别采用原理图和vhdl语言的形式设计4选1数据选择器 2、对所涉及的电路进行 编译及正确的仿真。电路图: 四、实验程序 library ieee; use ieee.std_logic_1164.all; entity mux4 is port( a0, a1, a2, a3 :in std_logic; s :in std_logic_vector (1 downto 0); y :out std_logic ); end mux4; architecture archmux of mux4 is begin y <= a0 when s = 00 else --当s=00时,y=a0 a1 when s = 01 else --当s=01时,y=a1 a2 when s = 10 else --当s=10时,y=a2 a3; --当s取其它值时,y=a2 end archmux; 五、运行结果 六.实验总结 真值表分析: 当js=0时,a1,a0取00,01,10,11时,分别可取d0,d1,d2,d3. 篇二:eda实验报告模版 《eda技术》实验报告

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