EDA设计基本组合电路
EDA技术实验讲义
E D A/S O P C技术实验讲义陕西科技大学电气与信息工程学院目录4第一章 EDA_VHDL实验/设计与电子设计竞赛4 1-1、应用QuartusII完成基本组合电路设计5 1-2. 应用QuartusII完成基本时序电路的设计6 1-3. 设计含异步清0和同步时钟使能的加法计数器7 1-4. 7段数码显示译码器设计8 1-5. 8位数码扫描显示电路设计9 1-6. 数控分频器的设计10 1-7. 32位并进/并出移位寄存器设计10 1-8. 在QuartusII中用原理图输入法设计8位全加器11 1-9. 在QuartusII中用原理图输入法设计较复杂数字系统11 1-10. 用QuartusII设计正弦信号发生器13 1-11. 8位16进制频率计设计16 1-12. 序列检测器设计16 1-13. VHDL状态机A/D采样控制电路实现18 1-14. 数据采集电路和简易存储示波器设计19 1-15. 比较器和D/A器件实现A/D转换功能的电路设计20 1-16 移位相加硬件乘法器设计24 1-17 采用流水线技术设计高速数字相关器24 1-18 线性反馈移位寄存器设计25 1-19 乐曲硬件演奏电路设计28 1-20 乒乓球游戏电路设计32 1-21 循环冗余校验(CRC)模块设计33 1-22. FPGA步进电机细分驱动控制设计(电子设计竞赛赛题)34 1-23. FPGA直流电机PWM控制实验35 1-24. VGA彩条信号显示控制器设计37 1-25. VGA图像显示控制器设计37 1-26. 清华大学学生基于GW48PK2系统VGA图像显示控制器设计示例5则38 1-27. 直接数字式频率合成器(DDS)设计实验(电子设计竞赛赛题)39 1-28. 嵌入式锁相环PLL应用实验41 1-29. 使用嵌入式锁相环的DDS设计实验(200MHz超高速DAC的PLL测试42 1-30. 基于DDS的数字移相信号发生器设计(电子设计竞赛赛题)45 1-31. 采用超高速A/D的存储示波器设计(含PLL,电子设计竞赛赛题)46 1-32. 信号采集与频谱分析电路设计(电子设计竞赛赛题)46 1-33. 等精度数字频率/相位测试仪设计实验(电子设计竞赛赛题)48 1-34. FPGA与单片机联合开发之isp单片机编程方法49 1-35. 测相仪设计(电子设计竞赛赛题)50 1-36. PS/2键盘鼠标控制电子琴模块设计50 1-37. PS/2鼠标与VGA控制显示游戏模块设计50 1-38. FPGA_单片机_PC机双向通信测频模块设计50 1-39. 10路逻辑分析仪设计(电子设计竞赛赛题)51 1-40. IP核:数控振荡器NCO应用设计52 1-41. IP核:FIR数字滤波器应用设计53 1-42. IP核:FFT应用设计53 1-43. IP核:CSC VGA至电视色制互转模块应用设计54 1-44. IP核:嵌入式逻辑分析仪SignalTapII调用55 1-45. USB与FPGA通信实验56第二章 SOPC/EDA设计实验I56 2-1 用逻辑锁定优化技术设计流水线乘法器实验57 2-2 用逻辑锁定优化技术设计16阶数字滤波器实验59 2-3 基于DSP Builder的FIR数字滤波器设计实验60 2-4 基于DSP Builder的IIR数字滤波器设计实验60 2-5 基于DSP Builder的DDS与数字移相信号发生器设计实验62 2-6 m序列伪随机序列发生器设计实验63 2-7 巴克码检出器设计实验65 2-8 RS码编码器设计实验65 2-9 正交幅度调制与解调模型设计实验67 第三章 SOPC/EDA设计实验II67 3-1 基于MATLAB/DSP Builder DSP可控正弦信号发生器设计72 3-2 32位软核嵌入式处理器系统Nios开发实验73 3-3 设计一个简单的SOPC系统74 3-4 简单测控系统串口接收程序设计74 3-5 GSM短信模块程序设计75 3-6 基于SOPC的秒表程序设计77 3-7 Nios Avalon Slave外设(PWM模块)设计78 3-8 Nios Avalon Slave外设(数码管动态扫描显示模块)设计79 3-15 DMA应用和俄罗斯方块游戏设计79第四章 SOPC/EDA设计实验III ( NiosII系统设计 ) 79 4-1、建立NIOSII嵌入式处理器硬件系统87 4-2、NIOSII软件设计与运行流程94 4-3、加入用户自定义组件设计100 4-4、加入用户自定义指令设计103 4-5、FLASH编程下载104 4-6、设计DSP处理器功能系统104 4-7、AM调制电路设计105第五章液晶接口实验105 5-1 GDM12864A液晶显示模块接口开发111 5-2 HS162-4液晶显示模块与单片机的接口114 5-3 G240-128A液晶显示模块的接口115第六章 CPU及其结构组件设计实验115 6-1 复杂指令CPU设计122 6-2 8051/89C51单片机核于FPGA中实现实验124第七章模拟EDA实验124 7-1 模拟EDA实验及其设计软件使用向导(PAC _Designer使用)124 7-2 基于ispPAC80的5阶精密低通滤波器设计126 7-3 基于ispPAC10的直流增益为9的放大器设计129附录:GW48 EDA/SOPC主系统使用说明129 第一节:GW48教学系统原理与使用介绍,132 第二节:实验电路结构图137 第三节:超高速A/D、D/A板GW-ADDA说明138 第四节:步进电机和直流电机使用说明138 第五节:SOPC适配板使用说明139 第六节:GWDVPB电子设计竞赛应用板使用说明141 第七节:GWCK/PK2/PK3系统万能接插口与结构图信号/与芯片引脚对照表第一章EDA_VHDL实验/设计与电子设计竞赛1-1. 应用QuartusII完成基本组合电路设计(1) 实验目的:熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
eda实验报告 全加器
eda实验报告全加器EDA实验报告:全加器一、引言在数字电路设计中,全加器是一种基本的组合逻辑电路,用于实现两个二进制数的加法运算。
全加器的设计和性能对于数字电路的正确性和效率至关重要。
本实验报告将介绍全加器的原理、设计方法以及实验结果。
二、全加器的原理全加器是由两个半加器和一个额外的输入引脚组成的。
它可以实现三个二进制输入数的相加运算,并输出相应的和与进位。
1. 半加器半加器是一个简单的组合逻辑电路,用于实现两个二进制数的相加运算。
它有两个输入引脚A和B,分别代表两个二进制数的对应位,一个和输出引脚S和一个进位输出引脚C。
半加器的真值表如下所示:A B S C0 0 0 00 1 1 01 0 1 01 1 0 1可以看出,和输出引脚S等于A和B的异或运算结果,进位输出引脚C等于A 和B的与运算结果。
2. 全加器全加器是由两个半加器和一个额外的输入引脚组成的。
它有三个输入引脚A、B 和Cin,分别代表两个二进制数的对应位以及上一位的进位,两个输出引脚S 和Cout,分别代表相加结果的和以及当前位的进位。
全加器的真值表如下所示:A B Cin S Cout0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1可以看出,和输出引脚S等于A、B和Cin的异或运算结果,进位输出引脚Cout等于A、B和Cin的与运算结果与A和B的或运算结果的与运算结果。
三、全加器的设计方法全加器的设计可以使用逻辑门电路实现。
常用的逻辑门包括与门、或门、非门和异或门。
根据全加器的真值表,可以使用这些逻辑门组合来实现全加器。
1. 使用逻辑门实现半加器半加器可以使用异或门和与门来实现。
异或门用于计算和输出引脚S,与门用于计算和输出引脚C。
2. 使用逻辑门实现全加器全加器可以使用两个半加器和一个或门来实现。
两个半加器分别用于计算和输出引脚S和C1,或门用于计算和输出引脚Cout。
EDA实验三组合逻辑电路设计(一)--编译码器设计
西安邮电学院实验中心实验报告院系电子工程学院班级学号姓名成绩教师签字实验日期实验名称组合逻辑电路设计(一)--编译码器设计_______________________________________________________一、实验目的二、实验所用仪表及主要器材三、实验原理简述四、实验测量记录:(如数据、表格、曲线、计算等)五、实验遇到的问题及解决办法:(余留问题,体会等)一、实验目的(1)熟悉组合逻辑电路的VHDL描述方法。
(2)掌握利用CPL器件实现组合逻辑数字电路的方法和过程。
(3)熟练掌握“case”语句与“if…else…”语句的用法。
二、实验所用仪表及主要器材PC,可编程逻辑实验电路板,下载线,USB电源线,双踪示波器,数字万用表,导线若干。
三、实验原理简述应用VHDL设计简单的逻辑电路四、实验内容在MAX+PULSII环境下,用VHDL语言按照输入—>编译—>仿真。
(1)8421BCD码转换为余3码转换表.在MAX+plusII 环境下,用VHDL 语言描述下列逻辑电路,并编译,仿真。
程序仿真结果:(2)设计一个优先编码器。
程序实现如下:仿真结果:五、实验结果见上述内容。
六、实验心得在本次实验中我学会了使用MAX+PLUSII软件的文本编程的方式设计电路。
在本次实验的文本编译环节中出现不少问题:(1)保存时文件名与实体名不一致,导致程序编译结果不正确。
(2)写程序时没有按照语法规则编写,使得文件编译频繁报错,标点的错误也会导致整个程序无法编译。
经过本次实验,加深了我对VHDL的文本编译设计的理解,今后我应该多练习MAX+PLUSII软件以减少错误。
《EDA技术及应用》实验指导书
实验一组合逻辑器件设计一、实验目的1、通过一个简单的3-8译码器的设计,掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解QUARTUS II原理图输入设计的全过程。
二、实验主要仪器与设备1、输入:DIP拨码开关3位。
2、输出:LED灯。
3、主芯片:EP1K10TC100-3。
三、实验内容及原理三-八译码器即三输入,八输出。
输出与输入之间的对应关系如表1-1-1所示。
表1-1 三-八译码器真值表四、预习要求做实验前必须认真复习数字电路中组合逻辑电路设计的相关内容(编码器、译码器)。
五、实验步骤1、利用原理图设计输入法画图1-1-1。
2、选择芯片ACEX1K EP1K10TC100-3。
3、编译。
4、时序仿真。
5、管脚分配,并再次编译。
6、实验连线。
7、编程下载,观察实验结果。
图1-1 三-八译码器原理图六、实验连线用拨码开关的低三位代表译码器的输入(A,B,C),将之与EP1K10TC100-3的管脚相连;用LED灯来表示译码器的输出(D0~D7),将之与EP1K10TC100-3芯片的管脚相连。
拨动拨档开关,可以观察发光二极管与输入状态的对应关系同真值表中所描述的情况是一致的。
七、实验结果八、思考题在输入端加入使能端后应如何设计?附:用硬件描述语言完成译码器的设计::LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY T2 ISPORT(A: IN STD_LOGIC_VECTOR(2 DOWNTO 0);Y: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END T2;ARCHITECTURE A OF T2 ISBEGINWITH A SELECTY <= "00000001" WHEN "000","00000010" WHEN "001","00000100" WHEN "010","00001000" WHEN "011","00010000" WHEN "100","00100000" WHEN "101","01000000" WHEN "110","10000000" WHEN OTHERS;END A;实验二组合电路设计一、实验目的1、掌握组合逻辑电路的设计方法。
EDA技术及应用—基于FPGA的电子系统设计:基于Verilog hdl的数字电路设计
10100
1111
15
10101
8421BC 余三码 D码
0000
0011
0001
0100
0010
0101
0011
0110
0100
0111
0101
1000
0110
1001
0111
1010
1000
1011
1001
1100
-
-
-
-
-
-
-
-
-
-
-
-
4位格雷码
0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000
4'b0011:a_to_g=7'b1111001; //显示3
4'b0100:a_to_g=7'b0110011; //显示4
4'b0101:a_to_g=7'b1011011; //显示5
4'b0110:a_to_g=7'b1011111; //显示6
4'b0111:a_to_g=7'b1110000; //显示7
4: y= {d[2:0],d[3]}; // rol
5: y= {d[3],d[3:1]}; // asr
6: y= {d[1:0],d[3:2]}; // ror2
7: y= d;
// noshift
default: y = d;
图6-2 基本门电路仿真结果
综合结果如图6-3所示。
图6-3 基本门电路综合结果
2、 三态逻辑电路
multisim组合逻辑电路
Multisim是一款流行的电子设计自动化(EDA)工具,用于模拟和设计电子电路。
在Multisim中,组合逻辑电路是一种基本的数字电路,它不涉及存储元件(如触发器),只涉及逻辑门和逻辑操作。
在Multisim中设计组合逻辑电路的一般步骤如下:
1. 创建新的电路图:打开Multisim软件,创建一个新的电路图。
2. 添加元件:从元件库中选择所需的逻辑门(如AND、OR、NOT 等)并添加到电路图中。
3. 连接电路:使用导线将逻辑门连接起来,形成所需的逻辑电路。
4. 设置输入和输出:根据需要设置输入和输出端子,以便输入信号和输出结果。
5. 运行仿真:单击仿真按钮,观察电路的行为。
你可以改变输入信号的电压,观察输出信号的变化。
6. 分析和验证:分析仿真结果,验证电路是否符合预期的功能。
7. 保存和导出:保存电路图以供将来使用或导出为其他EDA工具或文档。
需要注意的是,组合逻辑电路的设计需要根据具体需求进行选择和组合逻辑门,以满足特定的功能和性能要求。
此外,组合逻辑电路的可靠性通常不如时序逻辑电路,因为它没有存储元件来保持状态。
因此,在设计复杂的数字系统时,通常会使用时序逻辑电路。
(整理)可编程逻辑器件及EDA技术实验报告.
可编程逻辑器件及EDA技术实验报告一、组合逻辑电路设计数字逻辑电路按照逻辑功能的特点分为两类,一类是组合逻辑电路,简称为组合电路;另一类是时序逻辑电路,简称为时序电路。
组合电路的特点是电路任意时刻输出状态只取决该时刻的输入状态,而与该时刻钱的电路状态无关。
1、逻辑门电路设计实验原理:逻辑门电路包括基本逻辑门电路和符合逻辑门电路。
VHDL语言可以直接支持的逻辑运算符共有七种逻辑运算,它们是:NOT 逻辑非AND 逻辑与NAND 逻辑与非OR 逻辑或NOR 或非XOR 异或XNOR 异或非实验内容:例3-2的参考程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee. std_logic_unsigned.all;entity example3_2 isport(a,b,c,d:in std_logic;f:out std_logic_vector(3 downto 0));end example3_2;architecture behavioral of example3_2 isbeginf(0)<=(a and b)or(b and c)or(not b and not c);f(1)<=(a and b and c)or not(not a or not b or not c);f(2)<=(a xor b xor c)or(not(d)and(a or c));f(3)<=not ((a and b)xor (c and d))or((a and b and d)xor(b and c and d));end behavioral;实验分析:用逻辑运算符是实现了相对较为复杂的逻辑运算。
参考程序中使用括号来强制控制逻辑运算的优先级,对于用VHDL设计,这种写法是必修的。
eda原理图
1. 系统概述
MAX+plus II是Altera公司在 Windows 环 境下开发的可编程逻辑设计软件平台。该系 统将数字电路设计集成在一个环境内,支持 Altera公司的可编程器件,允许多种输入方式 的设计文件。经过系统编辑器的编译、综合 等操作,对设计进行功能模拟、逻辑分析、 自动布局布线、延时时间分析、下载编程, 最后将电路分配到一个或多个器件中。
六、EDA软件工具介绍
(一)EDA工具的基本功能(PLD-->ASIC) PLD:Programmable Logic Device
ASIC:Application Specific Integrated
Circuit (二) PLD器件的开发设计流程 (三) EDA工具的应用环境 (四) EDA工具的来源
3. 推荐的系统配置
500MHz以上奔腾PC机; Windows98或更高版本; 有效内存和物理存储空间与使用的器件有关。
器件系列 ACEX1K FLEX10K FLEX8000 FLEX6000 MAX9000 MAX7000
有效内存 256 256 64 64 64 48
物理RAM 128 128 32 32 32 16
特点
EDA课程的教学目标
了解可编程逻辑器件的基本原理,掌握一种
描述语言,掌握一种设计软件,具备有效地 完成数字系统设计的能力。
EDA课程的考核要求
EDA课程教材及参考资料 教材:专用集成电路与电子设计自动化 图书馆的参考书籍及相关期刊资料
实验指导书 —— 自编
相关网站:学院教学网站及国际著名公司网站
EDA软件工具 ---- MAX+plus II MAX+plus : Multiple Array Matrix and
第一章EDA技术实验基础实验
第一章 技术实验基础实验实验一 用原理图输入法设计一位半加器一、实验目的.熟悉利用Ⅱ的原理图输入方法设计简单组合电路;.通过一个半加器的设计把握利用软件进行电子线路设计的详细流程;.学会对实验板上的进行编程下载,硬件验证自己的设计项目。
二、实验设备及器材配置机一台综合实验开发系统中:基本核心板模块、发光管显示模块、普通键盘模块、下载器、下载线、十针连接线根。
三、实验原理.根据真值表表写出电路的逻辑表达式表 一位半加器真值表其中, 为输入端口,与分别为半加器的和与进位。
其逻辑表达式为:o s a b =⊕ab Co =.根据逻辑表达式进行原理图设计。
注意:在进行原理图设计时,元件之间的连线应尽量避免与元件外的虚线框重合。
四、实验步骤:.为本项工程设计建立文件夹,注意文件夹名不能用中文,且不可带空格。
.根据半价器逻辑表达式进行原理图设计。
.对所设计的工程文件进行编译,排查错误。
.时序仿真,记录时序分析表。
.选择目标芯片。
.引脚锁定。
推荐锁定形式:输入接口选择核心板上接口,与普通键盘模块相连,连接后,可任意选择按键所对应的引脚(例如,选择和,它们所对应的引脚编号为和;输出接口选择核心板上接口,与发光管显示模块相连,连接后,课任意选择发光二级管所对应的引脚(例如选择和,它们所对应的引脚编号为和)。
注:输入输出接口可在核心板上十针接口中任意选择(白色接口除外),对应的引脚可在核心板上的引脚标注中查找。
.编程下载,观察硬件结果。
下载时请下载器形式请选择。
注:如下载后硬件调试没有通过,需重新检查连接,如果修改后重新进行下载,请将下载界面中原有的*文件删除,重新加载一次,然后再下载。
.撰写实验报告册,思考如何利用半加器设计一位全加器。
五、练习题. 请用本实验所作的一位半加器设计一位全加器。
要求利用原理图输入方式。
. 请利用一位全加器设计四位全加器。
要求利用原理图输入方式。
注:本练习主要使学生牢固掌握原理图输入设计方法,同时掌握设计中有关层次的基本概念。
实验一组合逻辑电路的设计
实验一 组合逻辑电路的设计一、实验目的:1、 掌握组合逻辑电路的设计方法。
2、 掌握组合逻辑电路的静态测试方法。
3、 加深FPGA 设计的过程,并比较原理图输入和文本输入的优劣。
4、 理解“毛刺”产生的原因及如何消除其影响。
5、 理解组合逻辑电路的特点。
二、实验的硬件要求:1、 EDA/SOPC 实验箱。
2、 计算机。
三、实验原理1、组合逻辑电路的定义数字逻辑电路可分为两类:组合逻辑电路和时序逻辑电路。
组合逻辑电路中不包含记忆单元(触发器、锁存器等),主要由逻辑门电路构成,电路在任何时刻的输出只和当前时刻的输入有关,而与以前的输入无关。
时序电路则是指包含了记忆单元的逻辑电路,其输出不仅跟当前电路的输入有关,还和输入信号作用前电路的状态有关。
通常组合逻辑电路可以用图1.1所示结构来描述。
其中,X0、X1、…、Xn 为输入信号, L0、L1、…、Lm 为输出信号。
输入和输出之间的逻辑函数关系可用式1.1表示: 2、组合逻辑电路的设计方法组合逻辑电路的设计任务是根据给定的逻辑功能,求出可实现该逻辑功能的最合理组 合电路。
理解组合逻辑电路的设计概念应该分两个层次:(1)设计的电路在功能上是完整的,能够满足所有设计要求;(2)考虑到成本和设计复杂度,设计的电路应该是最简单的,设计最优化是设计人员必须努力达到的目标。
在设计组合逻辑电路时,首先需要对实际问题进行逻辑抽象,列出真值表,建立起逻辑模型;然后利用代数法或卡诺图法简化逻辑函数,找到最简或最合理的函数表达式;根据简化的逻辑函数画出逻辑图,并验证电路的功能完整性。
设计过程中还应该考虑到一些实际的工程问题,如被选门电路的驱动能力、扇出系数是否足够,信号传递延时是否合乎要求等。
组合电路的基本设计步骤可用图1.2来表示。
3、组合逻辑电路的特点及设计时的注意事项①组合逻辑电路的输出具有立即性,即输入发生变化时,输出立即变化。
(实际电路中图 1.1 组合逻辑电路框图L0=F0(X0,X1,²²²Xn)² ² ²Lm=F0(X0,X1,²²²Xn)(1.1)图 1.2 组合电路设计步骤示意图图还要考虑器件和导线产生的延时)。
EDA实验指导(基于DE2-115)
EDA实验指导(基于DE2-115)信息科学与工程学院电子信息系徐雯娟编著EDA实验指导(基于DE2-115)实验一:一位全加器设计——原理图设计初步以下拟通过1位全加器的设汁,介绍原理图输入的基木设计方法。
软件基于quartus213.0版本。
1位全加器可以用两个半加器及一个或门连接而成,因此需要先完成半加器的设计。
下面将给出使用原理图输入的方法进行底层元件设计和层次化设计的主要步骤。
1.新建工程点击两次“next”后,如下图。
假设本项设计的文件夹取名为adder4,路径为:d:\ex\adder4(建议大家把所有的EDA实验都放在一个文件夹中,如ex,然后为每个实验在这个文件夹中新建一个文件夹,以实验名命名,如adder4)。
选择目标芯片:cycloneIVE系列的EP4CE11529C7,如图:直接next,之后到达完成界面,这里会看见关于整个工程的一些信息,核对一下是否正确,然后点击“finish”。
此时界面上会出现顶层文件名和项目名:2.新建原理图文件原理图编辑输入流程如下:(1)新建原理图文件。
打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“Design Files”的原理图文件编辑输入项“Block block diagram/schematic File"按"OK"后将打开原理图编辑窗。
(2)在编辑窗中调入元件,完成半加器的原理图输入。
点击按纽“”或直接双击原理图空白处,从“Symbol”窗中选择需要的符号,或者直接在“name”文本框中键入元件名,如“and2”为2输入与门,点OK按钮,即将元件调入原理图编辑窗中。
例如为了设计半加器,分别调入元件and2,not,xnor和输入输出引脚input和output。
并如图用点击拖动的方法连接好电路。
然后分别在input和output的PIN NAME上双击使其变黑色,再用键盘分别输入各引脚名:a、b,co和s。
2020年(OA自动化)电子设计自动化(eda)实验指导书
(OA自动化)电子设计自动化(eda)实验指导书电子设计自动化(EDA)实验指导书前言近些年来,电子设计自动化(EDA)技术发展迅速。
一方面,各种大容量、高性能、低功耗的可编程逻辑器件不断推出,使得专用集成电路(ASIC)的生产商感受到空前的竞争压力。
另一方面,出现了许多EDA设计辅助工具,这些工具大大提高了新型集成电路的设计效率,使更低成本、更短周期的复杂数字系统开发成为可能。
于是一场ASIC与FPGA/CPLD之争在所难免。
然而PLD器件具有先天的竞争优势,那就是可以反复编程,在线调试。
EDA技术正是这场较量的推动引擎之一。
一般来说,EDA技术就是以计算机为平台,以EDA软件工具为开发环境,以HDL为设计语言,以可编程器件为载体,以ASIC、SOC芯片为目标器件,以电子系统设计为应用方向的电子产品自动化设计过程。
设计者只需编写硬件描述语言代码,然后选择目标器件,在集成开发环境里进行编译,仿真,综合,最后在线下载调试。
整个过程,大部分工作由EDA软件完成。
全球许多著名的可编程器件提供商都推出了自己的集成开发工具软件,如Altera公司的MAX+PLUSⅡ、QuartusⅡ软件;Xilinx公司的Foundation、ISE软件,Lattice公司的ispExpert软件,Actel 公司的Libero软件等。
这些软件的推出,极大地促进了集算法设计、芯片编程、电路板设计于一体的EDA技术的发展。
另外,在以SOC 芯片为目标器件的电子系统设计要求下,可编程器件的内部开始集成高速的处理器硬核、处理器软核、DSP模块、大量的存储资源、高速的串行收发模块、系统时钟管理器、多标准的I/O接口模块,亦使得设计者更加得心应手,新一轮的数字革命由此引发。
EDA技术是一门实践性很强的学科,要培养出具有竞争力的一流IC设计人才,动手能力是关键。
只有通过理论学习,加上现场实验,在使用软件编程加硬件调试的过程中真正获得锻炼,增长技能。
第10讲(EDA)
•
具体仿真波形图如下:
• •
也可以用元件例化的方法来实现,具体程序设计思路如下: 首先设计一个1位的2进制全加器,然后按照如下连接方式连接即可.
在连接点处申明信 号
• •
具体程序如下: 具体程序如下: 1位二进制全加器设计: 位二进制全加器设计:
• • • • • • • • • • •
library ieee; use ieee.std_logic_1164.all; entity adder_1 is port(a,b,cin: in std_logic; s,cout: out std_logic); end; architecture bh of adder_1 is begin s<=a xor b xor cin; cout<=(a and b) or (a and cin) or (cin and b); end;
• • • • • • • • • • • • • • • • • • •
architecture bh of bcd_ymq is begin process(a_in) is begin case a_in is when "0000"=> q<="1111110"; when "0001"=> q<="0110000"; when "0010"=> q<="1101101"; when "0011"=> q<="1111001"; when "0100"=> q<="0110011"; when "0101"=> q<="1011011"; when "0110"=> q<="1011111"; when "0111"=> q<="1110000"; when "1000"=> q<="1111111"; when "1001"=> q<="1111011"; when others=> q<="0000000"; end case; end process; end;
门电路 EDA实验报告
门电路EDA实验报告门电路是数字逻辑电路的一种基本电路,由逻辑门组成。
逻辑门包括与门、或门、非门等,通过它们的组合和联接可以实现各种复杂的逻辑功能。
在电子设计自动化(EDA)实验中,我们通常会使用相应的软件工具进行门电路的设计和仿真。
这些工具提供了图形化界面和强大的功能,可以帮助我们快速设计、验证和优化门电路。
首先,在实验中我们需要进行门电路的设计。
设计的目标是根据所需的逻辑功能,选择合适的逻辑门组合,并进行连线。
设计阶段主要包括逻辑门选择、输入输出定义和连线布局等。
通过EDA工具提供的图形化界面,我们可以直观地完成这些设计任务。
其次,设计完成后,我们需要进行电路的仿真。
仿真可以帮助我们预测电路的行为,并进行功能验证。
通过EDA工具提供的仿真功能,我们可以输入测试用例,观察电路的输出结果,并分析其与设计预期的差异。
如果存在差异,我们可以通过逐步调试和优化来解决问题。
此外,在实验中我们还可以使用EDA工具提供的其他功能。
例如,我们可以进行电路的布局和布线。
布局是指将电路中的组件放置在芯片上的具体位置,布线是指将各个组件之间通过导线连接起来。
通过优化布局和布线可以提高电路的性能和稳定性。
最后,在实验报告中我们需要对实验结果进行总结和分析。
我们可以比较仿真结果与预期设计的差异,并讨论可能的原因。
同时,我们还可以探讨改进和优化的方法,以提高电路的性能。
总之,门电路EDA实验通过使用EDA工具对门电路进行设计、仿真和优化,可以帮助我们快速实现复杂的逻辑功能。
实验报告应该包括设计过程、仿真结果和分析等内容,以便更好地理解和应用门电路的原理和技术。
EDA实验报告
EDA实验报告班级:学号:姓名:实验一组合逻辑设计一、实验目的:通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
二、实验的硬件要求:1、输入:DIP拨码开关3位2、输出:LED灯3、主芯片:EP2C8Q208C8三、实验原理:三八译码器三输入,八输出。
当输入信号按二进制方式的表示为N时,输出端从零标记到八。
因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位有效的情况下,能表示所有的输入组合。
3-8译码器真值表四、实验程序图:建立工程后,新建Block diagram/schematic file程序,在编辑窗口中选择相应原件用鼠标拖入文件中编辑,绘制完成后保存原理图,对程序进行编译,编译无误后,进行管脚配置,下图为程序图。
文本程序:library ieee;use ieee.std_logic_1164.all;entity program1 isport (A,B,C:in std_logic;D0,D1,D2,D3,D4,D5,D6,D7:out std_logic); end entity program1;architecture one of program1 issignal abc :std_logic_vector(2 downto 0); signal D :std_logic_vector(7 downto 0); beginabc <= A&B&C;process(abc)begincase abc iswhen "000"=>D<="10000000";when "100"=>D<="01000000";when "010"=>D<="00100000";when "110"=>D<="00010000";when "001"=>D<="00001000";when "101"=>D<="00000100";when "011"=>D<="00000010";when "111"=>D<="00000001";when others => null;end case;end process;D0<=D(7);D1<=D(6);D2<=D(5);D3<=D(4);D4<=D(3);D5<=D(2);D6<=D(1);D7<=D(0);end architecture one;五、实验仿真结果:仿真波形图如下:进行波形仿真完成后,用拨码开关的低三位代表译码器输入,将之与配置好的管脚相连;用led灯代表译码器的输出,将之与配置好的管脚相连。
电子系统EDA实验报告ap0605307总
实验一 3-8译码器和模13BCD 码计数器一、 实验目的:1、 练习使用MAX-PLUS II 软件进行设计输入、设计仿真;2、掌握基本组合逻辑电路和基本时序电路的实现方法。
二、 实验原理:1、3-8译码器是常用的组合逻辑电路,其功能是对输入码(3位码)进行译码,其真值表见表1-1:2、模13BCD 码计数器是基本时序电路,其功能是对输入脉冲进行计数, 其真值表见表1-2.表1-1 3-8译码器真值表输入输出C B A __0Y__1Y__2Y__3Y__4Y __5Y__6Y__7Y0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 111111111表1-2 模13BCD 码计数器真值表输入 输出CLK CLR 1D Q1C Q1B Q1A Q0D Q0C Q0B Q0A Q× 1 0 0 0 0 0 0 0 0 ↑ 0 0 0 0 0 0 0 0 1 ↑ 0 0 0 0 0 0 0 1 0 ↑ 0 0 0 0 0 0 0 1 1 ↑ 0 0 0 0 0 0 1 0 0 ↑ 0 0 0 0 0 0 1 0 1 ↑ 0 0 0 0 0 0 1 1 0 ↑ 0 0 0 0 0 0 1 1 1 ↑ 0 0 0 0 0 1 0 0 0 ↑ 0 0 0 0 0 1 0 0 1 ↑ 0 0 0 0 1 0 0 0 0 ↑11↑0 0 0 0 1 0 0 1 0 ↑0 0 0 0 0 0 0 0 0三、设计任务和要求:1、实现表1-1功能的3-8译码器,并进行功能仿真和时序仿真;2、实现表1-2功能的模13BCD码计数器,异步清零,上升沿触发;3、用原理图出入设计方法。
实验用EDA软件设计组合逻辑电路
实验六 用EDA软件设计组合逻辑电路实验目的:1. 熟悉EWB能和使用方法2. 熟悉逻辑分析仪、逻辑转换仪等实验仪器的使用3. 掌握组合逻辑电路的设计和应用方法实验预备知识:1. 字信号发生器:为数字电路的分析提供快速编辑数字线路激励信号源的方便工具。
2. 逻辑分析仪:应用于数字电子系统的调试、故障查找、性能分析等,是数字电子系统设计中对数据域进行分析所必备的测量仪器。
3. 逻辑转换器:可以完成真值表、逻辑表达式和逻辑电路三者之间相互转换。
方便设计和应用逻辑电路,实际工作中并不存在。
演示电路:0010100111001011101112. 设计一位的全加器,根据真值表,用基本门电路来搭接电路a) 设计一个一位的全加器,其中A为加数,B为被加数,C为低位的进位,输出为S i(值)和向高位的进位C O输入逻辑状态输出A B C Si(值)C O(进位)0000000110010100110110010101011100111111b) 根据真值表列出逻辑表达式进行卡诺图化简得c) 根据化简表达式连接电路图,如下3. 利用逻辑转换仪,逻辑分析仪和字信号发生器分别设计第二题的电路实验内容:1. 测试74LS86(四输入异或门)的逻辑功能,测量输出电压2. 仿照演示习题二,设计半加器输入逻辑状态输出A B Si(值)C O(进位)00000110101011013. 仿照习题三,利用字信号发生器作为信号输入装置,通过逻辑分析仪观察电路,设计半加器4. 练习逻辑转换器的使用a) 通过逻辑转换器,将半加器电路转换出真值表和与非门电路b) 结合逻辑转换器功能,设计A'BC+ABC'+ABC的相对应的真值表和电路c) 结合逻辑转换器功能,化简A'B'CD+A'BCD+ABC'D'+ABCD,并作出相对应的门电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用组合电路设计实例1 3线-8线译码器一、设计任务:描述一个3线-8线译码器,使能端为g1、g2a、g2b,地址选择端为a、b、c,输出端为总线y。
二、算法设计:用case语句描述电路,利用真值表辅助,很容易编写出程序。
三、端口图:四、实验原程序:decoder3_8.vhdlibrary ieee;use ieee.std_logic_1164.all;--库函数声名entity decoder3_8 isport(a,b,c,g1,g2a,g2b:in std_logic;y:out std_logic_vector(7 downto 0));end ; --实体即输入输出端口定义architecture rtl of decoder3_8 is --结构体描述signal dz:std_logic_vector(2 downto 0);begindz<=c&b&a;process(dz,g1,g2a,g2b )beginif (g1='1' and g2a='0' and g2b='0') thencase dz iswhen "000"=>y<="11111110";when "001"=>y<="11111101";when "010"=>y<="11111011";when "011"=>y<="11110111";when "100"=>y<="11101111";when "101"=>y<="11011111";when "110"=>y<="10111111";when "111"=>y<="01111111";when others=>y<="XXXXXXXX";end case;elsey<="11111111";end if;end process;end;五、时序仿真结果图:--程序描述的3-8线译码器与中小规模集成电路74LS138功能相同。
实例2 优先编码器一、设计任务:描述一个优先编码器。
该电路有8个输入端d(8位),3个输出端y(3位)。
二、算法设计:用if语句描述电路,利用真值表辅助,编写出程序。
三、端口图:四、真值表真值表五、实验源程序encoder.vhdlibrary ieee;use ieee.std_logic_1164.all;entity encoder isport(d:in std_logic_vector(0 to 7);y:out std_logic_vector(0 to 2));end ;architecture a of encoder isbeginprocessbeginif d(7)='0' then y<="000";elsif d(6)='0' then y<="001";elsif d(5)='0' then y<="010";elsif d(4)='0' then y<="011";elsif d(3)='0' then y<="100";elsif d(2)='0' then y<="101";elsif d(1)='0' then y<="110";elsif d(0)='0' then y<="111";end if;end process;end;--由优先编码器的真值表可知,输入信号d7的优先权最高,只要d7=0,无论其他为何值,输出都由d7决定。
--vhdl语言可用if语句描述优先权特性,在if语句中最先描述d7这个优先编码条件。
优先级别越低,在语句中描述的顺序越靠后。
实例3 二-十进制BCD译码器一、设计任务:设计一个二-十进制BCD译码器。
译码器输入din为4位二进制数,输出为以4位二进制数表示的两个十进制数a、b。
二、算法设计:用行为描述模式描述译码器。
三、源程序v2_10bcdymq.vhdlibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_signed.all;entity v2_10bcdymq isport(din:in integer range 15 downto 0;a,b:out integer range 9 downto 0);end ;-- integer为整数数据类型,要使用关键字integer range(数值范围)。
architecture a of v2_10bcdymq isbeginp1:processbeginif din<10 thena<=din;b<=0;elseb<=1;end if;end process p1;end;实例4 四选一数据选择器一、设计任务:描述一个四选一数据选择器电路,令a、b、c、d为输入信号,e1,e2为选择信号,fout为输出信号。
二、算法设计用case语句描述。
在VHDL语言中描述一个2选一的多路选择器的方法有多种,例如:在一个进程中使if-when-else语句;在一个进程中使用case语句;使用with select构造或使用结构VHDL。
推荐的使用方法是使用when else构造,这样在VHDL代码中只用1行就可以描述2选1多路选择器。
例如:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MUX2 ISPORT(A,B,SEL: IN STD_LOGIC;Q: OUT STD_LOGIC);END;ARCHITECTURE A OF MUX2 ISBEGINQ <= A WHEN SEL=’0’ELSE B;END;三、实验源程序一mux4.vhd-用when-else语句library ieee;use ieee.std_logic_1164.all;entity mux4 isport(a,b,c,d,e1,e2:in bit;fout:out bit);end mux4;--e1,e2为选择信号,当e1e2=" 00",a输出;当e1e2=" 01",b输出;当e1e2=" 10",c输出,--当e1e2=" 11",d输出。
architecture a of mux4 isbeginfout<= a WHEN e1&e2="00" ELSE--&并置符,不是逻辑运算符b WHEN e1&e2="01" ELSEc WHEN e1&e2="10" ELSEd WHEN e1&e2="11" ELSE'0' ;end a ;也可用以下程序仿真:use ieee.std_logic_1164.all;entity mux4 isport(a,b,c,d,e1,e2:in std_logic;fout:out std_logic);end mux4;architecture a of mux4 issignal s: std_logic_vector(1 downto 0);begins<=e1&e2;fout<= a WHEN s="00" ELSEb WHEN s="01" ELSEc WHEN s="10" ELSEd WHEN s="11" ELSE'0' ;end a ;四、时序仿真结果:实验源程序二:mux4_case.vhd—用case 语句library ieee;use ieee.std_logic_1164.all;entity mux4_case isport(a,b:in std_logic;din:in std_logic_vector(0 to 3);q:out std_logic);end ;architecture a of mux4_case issignal sel:std_logic_vector(0 to 1);beginprocess(a,b,din) --敏感信号列表省略也可通过编译beginsel<=a&b;case sel is -- case顺序语句置于并发语句process的内部。
case 顺序语句按书写顺序执行。
when"00"=>q<=din(0);when"01"=>q<=din(1);when"10"=>q<=din(2);when"11"=>q<=din(3);when others=>q<='Z';-- std_logic数据类型,除’0’、’1’外,还有其他值,用others穷尽所有可能的组合值。
end case;end process;end ;实验源程序三:mux4_2.vhd—用with select 语句library ieee;use ieee.std_logic_1164.all;entity mux4_2 isport(a,b:in std_logic;input:in std_logic_vector(3 downto 0);s:out std_logic);end ;architecture with_select of mux4_2 issignal sel:std_logic_vector(1 downto 0);beginsel<=a&b;--下面是并行选择信号赋值语句。