格雷码、二进制转换电路,vhdl南京理工大学紫金学院实验报告,eda

合集下载

南京理工大学EDA设计(一)实验报告

南京理工大学EDA设计(一)实验报告

南京理⼯⼤学EDA设计(⼀)实验报告(此⽂档为word格式,下载后您可任意编辑修改!)⽬录实验⼀单级放⼤电路的设计与仿真 (2)⼀、实验⽬的 (2)⼆、实验要求 (2)三、实验原理图 (3)四、实验过程及结果 (3)1、电路的饱和失真和截⽌失真分析 (3)2、三极管特性测试 (7)3.电路基本参数测定 (10)五、数据分析 (14)六、实验感想 (14)实验⼆差动放⼤电路的设计与仿真 (15)⼀、实验⽬的 (15)⼆、实验要求 (15)三、实验原理图 (15)四、实验过程及结果 (17)1、电路的静态分析 (17)2.电路电压增益的测量 (23)五、数据分析 (26)六、实验感想 (27)实验三反馈放⼤电路的设计与仿真 (27)⼀、实验⽬的 (27)⼆、实验要求 (27)三、实验原理图 (27)四、实验过程及结果 (28)1.负反馈接⼊前后放⼤倍数、输⼊电阻、输出电阻的测定 (28)2.负反馈对电路⾮线性失真的影响 (32)五、实验结论 (37)六、实验感想 (37)实验四阶梯波发⽣器电路的设计 (38)⼀、实验⽬的 (38)⼆、实验要求 (38)三、电路原理框图 (38)四、实验过程与仿真结果 (39)1.⽅波发⽣器 (39)2.微分电路 (40)3.限幅电路 (42)4.积分电路 (43)5.⽐较器及电⼦开关电路 (45)五、实验思考题 (46)六、实验感想 (47)写在后⾯的话对此次EDA设计的感想 (47)问题与解决 (47)收获与感受 (48)期望与要求 (48)实验⼀单级放⼤电路的设计与仿真⼀、实验⽬的1.掌握放⼤电路静态⼯作点的调整和测试⽅法2.掌握放⼤电路的动态参数的测试⽅法3.观察静态⼯作点的选择对输出波形及电压放⼤倍数的影响⼆、实验要求1.设计⼀个分压偏置的胆管电压放⼤电路,要求信号源频率10kHz(峰值1—10mV),负载电阻,电压增益⼤于80.2.调节电路静态⼯作点(调节偏置电阻),观察电路出现饱和失真和截⽌失真的输出信号波形,并测试对应的静态⼯作点值。

格雷码和二进制的相互转换-vhdl程序剖析

格雷码和二进制的相互转换-vhdl程序剖析

1.B2G_converter1)Screenshot of iSim simulation results:note: from the beginning point at 1,000ns, input(i5binary) changes every other 50nsa)i5binary input from 0 to 6b)i5binary input from 7 to 13c)i5binary input from 14 to 20d)i5binary input from 21 to 27e)i5binary input from 28 to 312)VHDL for Binary-to-Gray-Code converter:------------------------------------------------------------------------------------ Company:-- Engineer:---- Create Date: 13:02:37 09/15/2015-- Design Name:-- Module Name: b2g_converter - Behavioral-- Project Name:-- Target Devices:-- Tool versions:-- Description:---- Dependencies:---- Revision:-- Revision 0.01 - File Created-- Additional Comments:------------------------------------------------------------------------------------library IEEE;use IEEE.STD_LOGIC_1164.ALL;-- Uncomment the following library declaration if using-- arithmetic functions with Signed or Unsigned values--use IEEE.NUMERIC_STD.ALL;-- Uncomment the following library declaration if instantiating-- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity b2g_converter isPort ( i5Binary : in STD_LOGIC_VECTOR (4 downto 0);o5GrayCode : out STD_LOGIC_VECTOR (4 downto 0));end b2g_converter;architecture Behavioral of b2g_converter issignal gbuffer: std_logic_vector (4 downto 0);begino5GrayCode<=gbuffer;gbuffer(4)<=i5Binary(4);label1:for i in 3 downto 0 generategbuffer(i)<= i5Binary(i+1) xor i5Binary(i);end generate;end Behavioral;2.G2B_converter1)Gray-code-to-Binary conversionFrom the combinational logic described for gray-code-to-binary conversion, we obtain:Thus, for a n-bit graycode number g, g=g(n-1)g(n-2)…g(2)g(1)g(0), the corresponding n-bit binary number b, b=b(n-1)b(n-2)…b(2)b(1)b(0) is computed using the following description:b(n-1)=g(n-1) for the MSB, andb(i)= g(i) b(i+1) for bits in position 0 to n-22)Screenshot of iSim simulation results:note: from the beginning point at 1,000ns, input(i5graycode) changes every other 50nsa)i5graycode input from 0 to 6b)i5graycode input from 7 to 13c)i5graycode input from 14 to 20d)i5graycode input from 21 to 27e)i5graycode input from 28 to 313)VHDL for Gray-Code-to-Binary converter:------------------------------------------------------------------------------------ Company:-- Engineer:---- Create Date: 15:20:03 09/15/2015-- Design Name:-- Module Name: g2b_converter - Behavioral-- Project Name:-- Target Devices:-- Tool versions:-- Description:---- Dependencies:---- Revision:-- Revision 0.01 - File Created-- Additional Comments:------------------------------------------------------------------------------------ library IEEE;use IEEE.STD_LOGIC_1164.ALL;-- Uncomment the following library declaration if using-- arithmetic functions with Signed or Unsigned values--use IEEE.NUMERIC_STD.ALL;-- Uncomment the following library declaration if instantiating-- any Xilinx primitives in this code.--library UNISIM;--use UNISIM.VComponents.all;entity g2b_converter isPort ( i5GrayCode : in STD_LOGIC_VECTOR (4 downto 0);o5Binary : out STD_LOGIC_VECTOR (4 downto 0)); end g2b_converter;architecture Behavioral of g2b_converter issignal bbuffer: std_logic_vector (4 downto 0);begino5Binary <= bbuffer;bbuffer(4)<= i5GrayCode(4);label1:for i in 3 downto 0 generatebbuffer(i)<= bbuffer(i+1) xor i5GrayCode(i); end generate;end Behavioral;。

(最新版)南京理工大学EDA设计实验报告

(最新版)南京理工大学EDA设计实验报告

摘要通过实验学习和训练,掌握基于计算机和信息技术的电路系统设计和仿真方法。

要求:1. 熟悉Multisim软件的使用,包括电路图编辑、虚拟仪器仪表的使用和掌握常见电路分析方法。

2. 能够运用Multisim软件对模拟电路进行设计和性能分析,掌握EDA设计的基本方法和步骤。

Multisim常用分析方法:直流工作点分析、直流扫描分析、交流分析。

掌握设计电路参数的方法。

复习巩固单级放大电路的工作原理,掌握静态工作点的选择对电路的影响。

了解负反馈对两级放大电路的影响,掌握阶梯波的产生原理及产生过程。

关键字:电路仿真 Multisim 负反馈阶梯波目次实验一 (1)实验二.............................................................................................11实验三 (17)实验一单级放大电路的设计与仿真一、实验目的1.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(峰值10mV) ,负载电阻5.1kΩ,电压增益大于50。

2.调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。

3.调节电路静态工作点(调节电位计),使电路输出信号不失真,并且幅度尽可能大。

在此状态下测试:①电路静态工作点值;②三极管的输入、输出特性曲线和β、r be 、r ce值;③电路的输入电阻、输出电阻和电压增益;④电路的频率响应曲线和f L、f H值。

二、实验要求1.给出单级放大电路原理图。

2.给出电路饱和失真、截止失真和不失真且信号幅度尽可能大时的输出信号波形图,并给出三种状态下电路静态工作点值。

3.给出测试三极管输入、输出特性曲线和β、r be 、r ce值的实验图,并给出测试结果。

4.给出正常放大时测量输入电阻、输出电阻和电压增益的实验图,给出测试结果并和理论计算值进行比较。

南京理工大学EDA设计实验报告

南京理工大学EDA设计实验报告

目录设计一单级放大电路设计 (3)一、设计要求 (3)二、实验原理图 (3)三、实验过程及测试数据 (3)1. 调节电路静态工作点,测试电路饱和失真、截止失真和不失真的输出信号波形图,以及三种状态下电路静态工作点值。

(3)2. 在正常放大状态下,测试三极管输入、输出特性曲线以及、的值。

(7)3. 在正常放大状态下,测试电路的输入电阻、输出电阻和电压增益。

.94. 在正常放大状态下,测试电路的频率响应曲线和、值。

(10)四、实验数据整理 (11)五、实验数据分析 (11)设计二差动放大电路设计 (13)一、设计要求 (13)二、实验原理图 (13)三、实验过程及测试数据 (13)1.双端输出时,测试电路每个三极管的静态工作点值和、、值。

(13)2. 测试电路双端输入直流小信号时,电路的、、、值。

173. 测试射级恒流源的动态输出电阻。

(21)四、实验数据整理 (21)五、实验数据分析 (22)设计三负反馈放大电路设计 (24)一、设计要求 (24)二、实验原理图 (24)三、实验过程及测试数据 (24)1. 测试负反馈接入前,电路的放大倍数、输入电阻、输出电阻。

(24)2. 测试负反馈接入后,电路的放大倍数、输入电阻、输出电阻并验证。

(25)3. 测试负反馈接入前,电路的频率特性和、值,以及输出开始出现失真时的输入信号幅度。

(27)4. 测试负反馈接入后,电路的频率特性和、值,以及输出开始出现失真时的输入信号幅度。

(28)四、实验数据整理 (30)五、实验数据分析 (31)设计四阶梯波发生器设计 (31)一、设计要求 (31)二、实验原理图 (32)三、实验过程及与仿真结果 (32)1.方波发生器 (33)2.方波电路+微分电路 (34)3.方波电路+微分电路+限幅电路 (35)4.方波电路+微分电路+限幅电路+积分电路 (36)5.阶梯波发生总电路 (36)四、实验结果分析 (38)五、技术改进 (38)设计一单级放大电路设计一、设计要求1.设计一个分压偏置的单管电压放大电路,要求信号源频率20kHz,峰值5mV,负载电阻1.8kΩ,电压增益大于50。

格雷码、二进制转换及译码电路

格雷码、二进制转换及译码电路

EDA技术与应用实验报告实验名称:格雷码、二进制转换及译码电路姓名:陈丹学号:2班级:电信(2)班时间:南京理工大学紫金学院电光系一、实验目的1)学习用VHDL代码描述组合逻辑电路的方法。

2) 掌握when….else….,generate和case并行语句的使用。

二、实验原理1)学习VHDL的when….else….,generate和case并行语句。

2)利用when….else….并行语句描述4位二进制码/格雷码转换电路。

3)利用generate并行语句描述n位格雷码/二进制码转换电路。

4)利用case并行语句实现译码电路。

5)利用实验箱验证所设计的电路的正确性,要求将输入输出的数据用数码管显示。

三、实验内容1、二进制转换为格雷码4位二进制格雷码转换的真值表如图所示:建立工程,输入代码先建立工程,工程命名为“btog”,顶层文件名为“btog”。

选择“file→new”,在弹出的窗口中选择“VHDL File”建立“VHDL”文件。

在新建的VHDL文件中输入二进制格雷码转换的VHDL代码,将文件保存。

二进制转换为格雷码的代码:编译仿真对当前文件进行编译,编译通过以后建立仿真波形,保存为“”.为波形文件添加节点,将“end time”设置为100μs ,将输入输出编组,并为输入信号赋值,其中“start value”为“0000”,“count every”设置为5μs.其波形如下:仿真结果2、generate语句实现格雷码转换为二进制对于n位二进制转换为格雷码的码转换电路,转换表达式如下:Bn=GnBi=Gi⊕B(i+1)建立工程,输入代码先建立工程,工程命名为“gtob”,顶层文件名为“g_to_b2”。

选择“file→new”,在弹出的窗口中选择“VHDL File”建立“VHDL”文件。

在新建的VHDL文件中输入格雷码二进制转换的VHDL代码,将文件保存。

转换代码:编译仿真对当前文件进行编译,编译通过以后建立仿真波形,保存为“”.为波形文件添加节点,将“end time”设置为100μs ,将输入输出编组,并为输入信号赋值,其中“start value”为“0000”,“count every”设置为5μs.其波形如下:3、case语句实现译码电路代码描述:仿真波形:4、管脚配置利用实验箱的模式6来验证设计电路的正确性。

南理工EDA设计实验报告

南理工EDA设计实验报告

南京理工大学EDA设计(Ⅰ)实验报告作者: 周竹青学号:914000720215 学院(系):教育实验学院专业: 自动化吴少琴指导老师:实验日期: 10.10--- 10.132016年 10月摘要本次EDA实验主要由四个实验组成,分别是单级放大电路的设计与仿真、差动放大电路的设计与仿真、负反馈放大电路的设计与仿真、阶梯波发生器电路的设计。

通过电路的设计和仿真过程,进一步强化对模拟电子线路知识的理解和应用,增强实践能力和对仿真软件的运用能力。

关键词EDA 设计仿真AbstractThe EDA experiment mainly consists of four experiments, respectively. The design and Simulation of single stage amplifier, differential amplifier circuit,the negative feedback amplifier circuit and ladder wave generator circuit. Through the circuit design and simulation process, We can further strengthen the understanding and application of analog electronic circuit knowledge and enhance practical ability and the ability to use simulation software.Keywords EDA simulation design目录实验一单级放大电路的设计与仿真 (4)实验二差动放大电路的设计与仿真 (17)实验三负反馈放大电路的设计与仿真 (26)实验四阶梯波发生器电路的设计与仿真 (38)结论 (58)参考文献 (58)实验一单级放大电路的设计与仿真一、实验目的1、掌握放大电路静态工作点的调试方法。

南京理工大学EDA(2)实验报告

南京理工大学EDA(2)实验报告

南京理⼯⼤学EDA(2)实验报告南京理⼯⼤学EDA(2)实验报告--------多功能数字钟学⽣姓名:林晓峰学号:912104220143 专业:通信⼯程指导教师:2014年12⽉10⽇摘要本次实验利⽤QuartusII7.0软件设计了⼀个具有24⼩时计时、保持、清零、快速校时校分、整点报时、动态显⽰等功能的的多功能数字钟。

并利⽤QuartusII7.0软件对电路进⾏了详细的仿真,同时通过SMART SOPC实验箱对电路的实验结果进⾏验证。

报告分析了整个电路的⼯作原理,还分别说明了设计各⼦模块的⽅案和编辑、仿真、并利⽤波形图验证各⼦模块的过程。

并且介绍了如何将各⼦模块联系起来,合并为总电路。

最后对实验过程中产⽣的问题提出⾃⼰的解决⽅法。

并叙述了本次实验的实验感受与收获。

关键词:QuartusII7.0 多功能数字钟保持清零整点报时校时校分动态显⽰ SMART SOPCAbstractThis experiment uses the QuartusII7.0 software todesign one to have 24 hours time, the maintenance, the reset,the fast timing school minute,the integral point reportstime and so on digital clocks.And using the QuartusII software realizes the multi-purpose digital clock simulation. Through the SmartSOPC experiment box, I confirm the result of this experiment.The report analyzes the electric circuit principle of work,and also illustrates the design of each module and editing, simulation, and the process of using the waveformto testing each Sub module. Meanwhile,it describes how the modules together, combined for a total circuit. Finally the experimental problems arising in the process of presenttheir solutions. And describes the experience and resultof this experiment.Keywords:QuartusII7.0 Digital clock maintenancereset time alarm change minute and hour quickly dynamic display SMART SOPC⽬录封⾯ (1)摘要 (2)Abstract (3)⽬录 (4)1.设计要求 (5)2.实验原理 (6)3.模块电路设计 (7)3.1 脉冲发⽣电路 (7)3.2计数器 (10)3.3计时校正电路 (13)3.4整点报时电路 (17)3.5译码显⽰电路 (18)3.6附加电路 (19)4. 总电路图 (20)5.电路下载 (20)6.实验感想和收获 (21)6.1遇到的问题与解决⽅案 (22)6.2收获与感受 (23)6.3期望及要求 (23)7. 参考⽂献 (23)1.设计要求本次EDA设计利⽤Quartus II7.0软件设计⼀个多功能数字钟,并下载到Smart SOPC实验系统中进⾏验证。

三位计时电路设计,南京理工大学紫金学院vhdl实验报告,eda

三位计时电路设计,南京理工大学紫金学院vhdl实验报告,eda

EDA技术与应用实验报告实验名称:三位计时电路设计姓名:学号:班级:通信时间:2013南京理工大学紫金学院电光系一、实验目的1、学习利用顺序语句描述电路的方法。

2、学习进程、常用顺序语句的使用。

3、掌握分频电路的设计;掌握利用不完整条件语句构成时序逻辑电路的方法。

二、实验原理1、if语句if语句是具有条件控制功能的语句,它根据指定的条件及其条件是否成立来确定语句的执行顺序,格式如下。

1)格式1if 条件1 then第1组顺序语句;Elsif 条件2 then第2组顺序语句;……elsif 条件 n then第n组顺序语句;else第n+1组顺序语句;end if;在该形式的if语句中,只要满足条件1到条件n中的一个条件就执行一条顺序语句,且最优先的条件为条件1,次要的条件列到后面。

2)格式2(嵌套)if 条件1 thenif 条件2 then……一组顺序语句end if;end if;在该形式的if语句中,只有满足条件1到条件n中的所有条件才能执行相应的顺序语句,且最优先的条件为条件1,次要的条件列到后面。

3)格式3if 条件 then顺序语句;else顺序语句;end if;注意:只有不完整的条件语句才能构成时序逻辑电路,完整的条件语句只能构成组合逻辑电路。

2、进程语句进程主要用于描述顺序语句,其格式如下:标记:process (敏感信号表)声明语句;begin顺序语句end process;声明语句中可以定义一些局部量,可以包括数据类型、常数、变量、属性、子程序等,不能定义信号。

进程语句本为一无限循环语句,进程的启动由敏感信号的变化来启动,否则必须有一个wait语句来激励。

虽然进程中包含了顺序语句,但是进程本身是并行语句,即同一结构体中不同进程是并行运行的。

信号和变量3、信号信号代表电路内部信号传输线路,在元件之间起互连作用,相当于连线,可以通过端口和其他模块相连接。

说明:1)信号时一个全局量,可以在ENTITY和ARCHITECTURE中定义,不可以在进程和子程序的顺序语句中定义信号,但可以在VHDL语句的并行部分和顺序部分同时使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA技术与应用
实验报告
实验名称:格雷码、二进制转换电路
姓名:
学号:
班级:通信
时间:2013
南京理工大学紫金学院电光系
实验目的
1)学习用VHDL代码描述组合逻辑电路的方法。

2)掌握whe n…else…和gen erate 并行语句的使用。

实验原理
1、格雷码、二进制码转换理论分析
4位格雷码二进制转换的真值表如图1。

G5G1Gi G*Bi Bl RO
fl Q Q U Q V Q0
0V D丄b a01
€0110Q i0
01e0a*1
打1100100
1110101
亦1G10110
416011ft
110]a00
t10丄1001
11111Q10
111u1a I]
10101140
10111101
10611110
i4001i11
图14
由真值表得到的表达式如下:
B3 G3
B2 B3 G2
B1 B2 G1
BO B1 G0
对于n位二进制码转换为格雷码的码转换电路,转换表达式如下:
g n a n
g i a i 1 a i
2、GENERIC GENERAT语句
a、GENERIC
GENERIC被称为参数传递映射语句,它描述响应的元件类属参数间的衔接和传送方式。

参数传递语句用于设计从外部端口改变原件内部参数或结构规模的元件,也可称其为类书元件。

该语句在改变电路结构或元件硬件升级方面显得尤为便捷。

其语句格式为:
generic map(param.list)port map(port list);
例:generic(n:integer:=7);
该语句定义了参数N为整数,且赋值为7。

b、GENERAT语句
电路某部分由同类元件构成,这类同类元件叫做规则结构,如:ROM,RA,M 移位寄存器
等规则结构可以用生成语句来描述。

生成语句可以用for_generate 语句描述。

其书写格式如下:
标号:for 循环变量in 离散范围generate
并行处理语句;
end generate 标号;
其中,标号是for_generate 语句的唯一标识符,是可选项;循环变量的值在每一次循环中都发生变化;离散范围用来指定变量循环的取值范围,循环变量实际上规定了循环的次数;循环变量每去一个只就执行一次并行语句。

该语句和for_loop 语句很类似,但是二者也有一定的区别。

For_generate 语句中执行的语句为并行语句,而for_loop 语句中执行的语句为顺序语句。

三、实验内容
1、建立工程、输入代码先建立工程,工程命名为“ b_to_g ”, 顶层文件名为“ b_to_g ”。

选择“ File->New ”,在弹出的窗口中选择“ VHDL File ”建立“ VHDL文件。

在新建的VHDL文件中输入格雷码、二进制码转换的VHDL代码。

将文件保存。

代码如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity b_to_g is
generic(n:integer:=7);
port(b:in std_logic_vector(n downto 0); g:buffer std_logic_vector(n downto 0)); end;
architecture rhg of b_to_g is
begin
g(n)<=b(n);
b1:for i in 0 to n-1 generate
g(i)<=b(i+1) xor b(i);
end generate b1;
end;
2、编译仿真
对当前文件进行编译,编译通过以后建立仿真波形文件,保存为" b_to_g.vwf ”。

为波形文件添加结点。

将“End time ”设置为100卩s。

将输入输出编组,并为输入信号赋值,其中“Start Value ” 为
“ 00000000”,“Count every ” 设置为 5 卩s。

如下图:
注意:“Count every ”值一定要比“ End time ”值小,且“ Count every ”值最好不要设置太小(如10ns),避免在时序仿真是由于延时造成结果不正确。

“ Count every ”值和
“ End
time ”值共同决定了输入信号值的数目。

注意:每次仿真时最好从“ Simulator Tool ”中导入要仿真的文件,而不是直接点击工具栏上的按钮,尤其是当工程中存在多个仿真文件时。

3、管脚配置
利用实验箱的模式5来验证设计电路的正确性。

用键1~键8表示输入管脚g0~g7,发光二极管D1~D8表示输出管脚b0~b7。

选择“ Assignment宀Assignment Editor ”弹出管脚配置图,在“ Location ”一栏中填
入相应器件的管脚。

如下图。

将未配置的管脚设置为高阻态。

注意:总线“ b”和总线“ g”不需要配置管脚。

注意:配置好管脚后一定要记得编译。

4、下载
将文件下载到实验箱,对实验箱进行操作,将键1~键8按钮设置为不同的电平,观察
D1~D8发光二极管的情况。

四、小结与体会
通过这次实验,我对理论课上老师所讲的gen erate并行语句有了更深一步的了解。

本次实验是我们的第二次实验,但是是第一次在Quartus II 软件上编写代码。

我掌握whe n…else…和gen erate并行语句的使用,并利用gen erate并行语句做了了8位二进制码/格雷码转换电路,且利用实验箱验证了所设计电路的正确性。

相关文档
最新文档