EDA设计实例
eda课程设计30个题目
1数字频率计1)设计一个能测量方波信号的频率的频率计。
2)测量的频率范围是0 999999Hz。
3)结果用十进制数显示。
2乒乓球游戏机1)用8个发光二极管表示球;用两个按钮分别表示甲乙两个球员的球拍2)一方发球后,球以固定速度向另一方运动(发光二极管依次电量),当球达到最后一个发光二极管时,对方击球(按下按钮)球将向相反方向运动,在其他时候击球视为犯规,给对方加1分;都犯规,各加1分;3)甲乙各有数码管计分4)裁判有一按钮,可系统初始化,每次得分后,按下一次3彩灯控制器1)设计一个彩灯控制器,使十个彩灯(LED管)能连续发出四种以上不同的显示形式(如奇数依次亮),;2)随着彩灯显示图案的变化,发出不同的音响声(可用不同频率的矩形波产生)。
4速度表1)显示汽车时速Km/h2)车轮每转一圈,有一个传感脉冲;每个脉冲代表1m的距离3)采样周期设为10S4)*要求显示到小数点后2位5)数码管显示6)*超速报警5拔河游戏机1)设计一个能进行拔河游戏的电路。
2)电路使用15个(或9个)发光二极管,开机后只有中间一个发亮,此即拔河的中心点。
3)游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。
4)亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。
5)*用数码管显示获胜者的盘数6 6 数字跑表1)具有暂停/启动功能2)具有重新开始功能3)用6个数码管分别显示百分秒、秒和分钟4)能计两个人跑步时间,并能选择显示77 电梯控制器1)5层电梯控制器,用5个led显示电梯行进过程,并用数码管显示电梯当前所在楼层位置,每层电梯入口处设有上楼和下楼请求按钮,按下按钮,则相应楼层的led亮2)电梯到达请求楼层,相应的请求led灯灭,电梯门打开,开门5S,电梯自动关门,继续上行(下行)3)每层设有电梯上行和下行指示灯4)能记忆电梯内部的请求信号88 篮球计分器1)具有30秒计时、显示2)可对计时器清零、置数、启动和暂停3)30秒倒计时4)两个数码管显示两队比分5)超时报警并可解除报警99电子琴1)设计一个简易电子琴;2)利用一基准脉冲产生1,2,3,。
EDA简易洗衣机设计
目录摘要 (3)绪论 (3)第一章设计的总体构思 (3)1、1 设计的基本原理 (3)1、1、1 模块方框图 (4)1、2 总体的原理图及其解析 (4)1、2、1 原理图 (4)1、2、2 原理图解析 (4)1、3 总体设计的源代码讲解 (4)第二章设计的分立模块解析 (4)2、1 定时输入模块 (5)2、1、1 定时输入模块源代码讲解 (5)2、1、2 定时输入模块框图 (5)2、2 洗衣机时间控制模块 (5)2、2、1 洗衣机时间控制模块源代码讲解 (5)2、2、2 洗衣机时间控制模块框图 (5)2、3 倒计时模块 (5)2、3、1 倒计时模块源代码讲解 (5)2、3、2 倒计时模块框图 (5)2、4 洗衣机状态控制模块 (5)2、4、1 洗衣机状态控制模块源代码讲解 (6)2、4、2 洗衣机状态控制模块框图 (6)2、5 数码管显示模块 (6)2、5、1 数码管显示模块源代码讲解 (6)2、5、2 数码管显示模块框图 (6)2、6 报警模块 (6)2、6、1 报警模块源代码讲解 (6)2、6、2 报警模块框图 (6)第三章仿真结果 (6)3、1 定时输入模块仿真结果 (6)3、2 洗衣机时间控制模块仿真结果 (7)3、3 倒计时模块仿真结果 (7)3、4 洗衣机状态控制模块仿真结果 (7)3、5 数码管显示模块仿真结果 (7)3、6 总体设计仿真结果 (7)小结 (7)谢辞 (7)附录 (7)附录1 定时输入模块源代码 (7)附录2 洗衣机时间控制模块源代码 (8)附录3 倒计时模块模块源代码 (9)附录4 洗衣机状态控制模块源代码 (10)附录5 数码管显示模块源代码 (11)附录6 报警模块源代码 (12)附录7 总体设计源代码: (12)摘要此次的课程设计的题目是简易洗衣机控制器设计,这次的EDA课程设计主要就是掌握EDA技术在一些方面的运用。
掌握EDA技术及CPLD/FPGA的开发流程、自顶向下的设计思想和系统设计的分析方法,以及洗衣机控制器的工作原理。
EDA课程设计—自动售票机
EDA课程设计—自动售票机第一篇:EDA课程设计—自动售票机燕山大学EDA课程设计报告书题目:自动售票机姓名:班级:学号:成绩:(注:此文件应以同学学号为文件名)一、设计题目及要求 1.设计题目:自动售票机 2.设计要求:⑴、每次投一枚硬币,但可以连续投入数枚硬币。
硬币种类两种:1元和5角,各用一个按键表示。
⑵、设定票价为2.5元,每次售一张票。
购票时先投入硬币,当投入的硬币总金额达到或超过票的面值时,用LED发出指示,这时可以按取票键取出票。
⑶、如果所投硬币超过票的面值则会有LED提示找零钱,取完票以后按找零键则可以取出零钱。
⑷、用两位数码管显示已投币金额,若刚好投币2.5元,取票后金额归零;若投币超过2.5元,取票后显示找零金额,按下找零键后金额再归零。
1总体设计的文字描述,即由哪几个部分构二、设计过程及内容(包括○2主要模块比较详尽的文字描成的,各个部分的功能及如何实现方法;○述,并配以必要的图片加以说明,但图片数量无需太多)1.总体结构如下:总体设计思路:此自动售票系统总共有5个主要模块,分别是:累加模块,比较器模块,找零模块,数字转换模块,显示器模块。
⑴、累加模块实现金额的累加功能。
实现方法:该模块设置3个输入口(包括5角、1元、复位),8个输出口(B1—B8)。
该模块将在给五角或一元高电平的同时实现金额的累加,复位则会将会对其进行清零。
该模块由一片8位的加法器,2片4位寄存器及简单门电路组成,利用8位加法器将输入的金额(5、10)进行二进制相加(00000101、00001010),通过寄存器后返回到加法器实现累加功能。
复位键则与寄存器复位清零短CLRN相连,实现复位的功能。
⑵、比较器模块实现与票价进行比较的功能。
实现方法:该模块设置了8个输入口(A0—A7)1个取票口,4个输出口。
该模块将累加的钱币与2.5元的票价比较,如果累加金额高于票价则黄灯亮,小于票价则红灯亮,等于票价则绿灯亮。
EDA技术7-典型时序电路设计实例
WHEN "1101" => LED7S <= "1011110" ; WHEN "1110" => LED7S <= "1111001" ; WHEN "1111" => LED7S <= "1110001" ; WHEN OTHERS => NULL ; END CASE ; END PROCESS ;
WHEN "0010" => LED7S <= "1011011" ;
WHEN "0011" => LED7S <= "1001111" ; WHEN "0100" => LED7S <= "1100110" ; WHEN "0101" => LED7S <= "1101101" ;
WHEN "0110" => LED7S <= "1111101" ;
静态显示是一样的,能够节省大量的I/O口, 而且功耗更低。Clk来决定,例如 Spartan6的时钟频率为100Mhz,周 期为10ns,需要时钟分频。选用 refresh周期为4ms。
第27页,共41页。
动态扫描原理 在许多情况下为了节省I/O管脚和内部逻辑资 源,常用动态扫描的方法进行显示。动态扫描 显示利用了时分原理和人的视觉暂留现象。例 如,4位扫描数码显示.器将时间划分为4个扫 描周期:
eda实验交通灯设计报告
EDA原理及应用实验报告题目:交通灯控制器专业:电子信息工程班级::学号:一、设计题目:交通灯控制器二、设计目标:1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
2、红、绿、黄发光二极管作信号灯。
3、主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。
4、主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。
5、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡,使行驶中的车辆有时间停到禁行线外,设立5秒计时、显示电路。
三、设计原理:(含系统总的原理图)由两个分频器模块,三个计数器模块及它的选择器,一个扫描数码管模块,和一个红绿灯控制模块连接而成。
RTL状态图四、设计内容:(含状态转换图、软件流程图、说明文字等,每单独模块的图标和VHDL程序;最后为总体程序框图)分频器1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DVF ISPORT(CLK:IN STD_LOGIC;--D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);FOUT:OUT STD_LOGIC);END;ARCHITECTURE one OF DVF ISSIGNAL FULL:STD_LOGIC;BEGINP_REG:PROCESS(CLK)VARIABLE CNT8:INTEGER RANGE 48000000 DOWNTO 0; BEGINIF CLK'EVENT AND CLK='1' THENIF CNT8=24000000 THENCNT8:=0;FULL<='1';ELSE CNT8:=CNT8+1;FULL<='0';END IF;END IF;END PROCESS P_REG;P_DIV:PROCESS(FULL)VARIABLE CNT2:STD_LOGIC;BEGINIF FULL'EVENT AND FULL='1' THENCNT2:=NOT CNT2;IF CNT2='1' THEN FOUT<='1';ELSE FOUT<='0';END IF;END IF;END PROCESS P_DIV;END;说明:采用的是48M时钟输入,作为后面的时钟信号。
EDA示例汇集
方法二:用键盘直接 输入所需元件名,再 单击“OK”按钮即可将 元件调入原理图编辑 窗中。
2018/12/10
湖北众友科技EDA工作室
11
步骤2:输入设计项目和存盘 (5)排列好调入的元件,连接好原理图。
A
B
连线方法:把鼠标放在 A 处变成十字形, 按处左键保持十字形移至 B 处松开即完成 连接。
输入设计项目和存盘用户工作库末存盘时为默认文件夹此处已存盘到自己建立的文件夹元件符号名输入区可直接输入所需元件的符号名库选择区软件安装在d盘maxplus2文件夹下除了用户工作库外件夹下除了用户工作库外还有四种元件库包含了基本逻辑元件库prim如门触发器等
EDA技术教学系列
EDA 示 例 汇 集
基于EDA-E的实验例程
2018/12/10
湖北众友科技EDA工作室
12
步骤2:输入设计项目和存盘 (6)分别在input和output的PIN_NAME上双击使其变黑色, 再用键盘分别输入各引脚名:a、b、co、so。
半加器表达式:
进位:co=a and b
和: so=a xnor (not b)
注意:半加器用原理图的实现方法很多,此处用同或的方 法来实现。有兴趣的同学可以用其它的方法来实现。
2018/12/10 湖北众友科技EDA工作室 24
步骤5:时序仿真 (3) 设 置 波 形 参 量 。 在 “ Option” 菜 单 中 消 去 网 格 对 齐 项 “Snap to Grid”的对勾,以便能够任意设置输入电平位置, 或设置输入时钟信号的周期。
2018/12/10
湖北众友科技EDA工作室
设置后
步骤4:选择目标器件并编译 (1)选择“Assign”菜单中“Device”项,弹出Device对话框 。
EDA设计实例
EDA设计实例1、设计内容:四位加法器。
2、设计目的:了解原理图的设计方法。
3、系统总体设计:A1、A2、A4、A5、A6、A7、A8、A9为八个二进制输入端,A3为一个低位进位输入端,T1、T2、T3、T4为四位和输出端,T5为高位进位输出端。
4、原理图设计:5、VHDL程序设计Ⅰ、编辑和输入设计文件⑴、新建一个文件夹。
文件夹取名为ADD4,保存在D盘中。
⑵、输入源程序。
打开Quartus Ⅱ,选择File→New命令。
在New窗口中的选择原理图文件编辑输入项Block Diagram/Schematic File,单击OK按钮后将打开原理图编辑窗口。
⑶、建立一个初始原理图。
再编辑窗口中的任何一个位置上右击鼠标,将出现快捷菜单,选择其中的输入元件项Insert→Symbol,或者直接双击原理图编辑窗口,弹出输入元件的对话框。
在左下的Name栏输入输入引脚符号input。
然后单击symbol窗口的OK按钮,即可将原件调入原理图编辑窗口。
⑷、创建原理图文件为顶层设计的工程。
然后将此文件s_add.bdf设定为工程。
⑸、绘制四位加法器原理图。
创建工程后即进入了工程管理窗口,设工程名为s_add。
双击左侧的工程名,再次进入原理图编辑窗口。
双击原理图编辑窗口任何位置,再次弹出输入元件对话框。
分别在Name栏输入元件名为and2、xor、和输出引脚output。
并用拖动的方法接好电路。
然后分别在input和output引脚的PIN NAME上双击使其变成黑色,再用键盘分别输入各引脚名,最后作为本项工程的顶层电路原理设计。
完成设计,并将四位加法器封装成一个元件,以便在更高层设计中调用。
⑹、测试四位加法器。
Ⅱ、全程综合与编译。
选择Processing→Start Compilation命令,启动全程编译。
Ⅲ、仿真测试⑴、打开波形编辑器。
选择File→New命令,在New窗口中选择Vector Waveform File选项。
2_EDA设计流程示例
译码器
cn
15
采用Quatus Ⅱ的PLD设计方法
1. 首先在资源管理器下创建一个工作目录。 工作目录和工程名 不能有空格和汉字! 2. 在Quatus Ⅱ中创建一个工程。 3. 子模块设计:每个模块可以用HDL语言描述, 对每个模块进行编译、仿真,通过后然后生成 模块符号。 4.顶层设计:创建一个顶层图形文件,将各模块 符号放到图中,添加输入、输出引脚,连线; 编译,仿真。 5. 给输入、输出引脚分配引脚号码,编程下载。
25
子模块设计——7段码译码器(续)
续前页
4'd6: out <= 7'b0100000 ; 4'd7: out <= 7'b0001111 ; 4'd8: out <= 7'b0000000 ; 4'd9: out <= 7'b0000100 ; default:out <= 7'b1111111; //当data为4'hA~4'hF时,七段显示器不亮 endcase endmodule
找工作时也算得上一技之长哦!
12
本课程要学习的PLD设计EDA工具软件
1. Quartus Ⅱ
• 美国Altera公司自行设计的第四代PLD开发软件 • 目前版本:5.1 • 可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、 时序分析、器件编程的全过程 • 同时还支持SOPC(可编程片上系统)设计开发
21
子模块设计——BCD计数器(续2)
续前页
//(3)产生向分钟的进位信号 if ((dsec[3:0]==5)&&(sec[3:0]==9)&&(secd[3:0]==9)&&(secm[3:0]==9)) cn<=1; else cn<=0; end end endmodule
EDA实验报告---自动售货机
自动售货机的设计一.实验内容:本自动售货机系统,结合EDA技术,采用ALTERA公司可编程逻辑器件(CPLD)EPM7128SLC84-15芯片作为控制核心,再配以必要的外围电路从而实现只销售两种饮料,售价均为15元,可以找零和退币等功能的EDA应用系统。
芯片的设计是以MAX_PLUS II 作为开发平台,VHDL语言作为开发语言,使用掌宇公司CIC_310 CPLD/FPGA数字开发系统完成软件测试。
自己制作下载板与外围电路。
二.实验分析:本自动售货机只销售两种罐装饮料。
售价均为15元。
顾客可以由两个不同投币孔分别投入3个5元硬币或2个10元硬币。
一次交易只能买一罐,且自动找零。
只要按下取消键就会马上无条件退币。
本设计的硬件电路用2个按键电路代替2个投币孔,以LED点亮的数量显示各币种的投入数量,在以4Hz闪烁的LED来显示退币种类与数量。
因为投币是计次电路,应先经过抖动消除电路处理。
本设计采用1000Hz的系统时钟信号来控制所有买卖行为。
系统中设计的复位键为管理人员所用,并未在用户界面中设计。
三.系统设计流程图:四.自动售货机外观图:(为指示灯)五.电路原理图六.PCB图:根据PROTEL99画的系统原理图,成生PCB图。
然后进行布局与布线。
注意:布线时将晶振这种易产生噪声的器件的输出端与芯片时钟输入端的连线尽量布为直线;将电源与地线的宽度定为30mil到100mil之间。
本系统的电流不是很大,所以不用将板子的两面分别布成电源与地。
七.系统实物图:八.软件系统框图九.源程序:1.产生系统频率和退币信号电路首先要根据硬件电路的晶振频率确定分频系数,先产生系统频率,在进一步分频产生退币信号。
由于掌宇公司的开发系统上的晶振频率为20MHz,所以要分频系数分别为20000(COUNT)和250(COUNT1)。
(注:由于在自制的下载板上使用了1MHz的有源晶振,所以把程序中的COUNT的范围改为0到1000即可。
第8章 EDA技术综合应用设计实例
8.1.2 数字钟的顶层结构
2012-7-24
3
8.2 智力竞赛抢答器
8.2.1 抢答器的功能描述
具有四路抢答输入 能识别最先抢答信号,并显示该组序号; 能对答题时间进行计时,显示、超时报警;
可预置答题时间,具有复位功能,倒计时启 动功能。
2012-7-24 4
8.2.2 抢答器的设计
8.1.1数字钟的设计要求
(1) 时、分、秒计时功能。 (2) 时、分、秒显示:6个数码管。 (3) 校表功能:按下sb键,分计数器以秒脉冲速度递 增,并按60进制循环;按下sa键,时计数器以秒 脉冲速度递增,并按24进制循环。 (4) 整点报时:计时到达59‘50“时开始报时,即利用 扬声器在59'50"、52"、54"、56"、58"时鸣叫, 鸣叫声频为500Hz;到达59'60"时为最后一声整点 报时,频率为1kHz。
Q0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
状态标志 flag
说明
000
第一种花型, 顺序
001
第一种花型, 逆序
12
8路彩灯控制器的工作状态表
17 18 19 20 21 22 23 24 25 26 27 28
2012-7-24
0 0 0 1 1 1 1 0 1 1 1 1
2012-7-24
5
图8-6 抢答器模块QDQ
2012-7-24
6
8.3 交通灯控制器
8.3.1 交通灯控制器功能要求
十字路口,每个方向各有一组红、黄、绿 灯和倒计时显示器。红灯亮:禁止通行;黄 灯亮:停车;绿灯亮:通行;倒计时显示器: 显示允许通行或禁止通行的时间。 设东西和南北方向车流量大致相同,双向控 制时间也相同,红灯45秒,黄灯5秒,绿灯40 秒,同时用数码管指示当前状态(红,黄, 绿灯)剩余时间。
EDA技术综合应用设计实例
EDA技术综合应用设计实例EDA(电子设计自动化)技术综合应用设计是指将不同的EDA技术和工具综合应用于电子系统设计的过程。
这涉及到电子设计的多个方面,包括电路设计、芯片设计、电源设计等。
一个典型的EDA技术综合应用设计实例是基于FPGA(现场可编程门阵列)的系统设计。
在这个实例中,我们将使用EDA技术来设计一个基于FPGA的多功能数字时钟。
首先,我们需要使用电路设计工具进行时钟电路的设计。
我们可以使用VHDL或Verilog等硬件描述语言来描述时钟电路的功能和行为。
在设计完成之后,我们可以使用仿真工具来验证电路的正确性和性能。
接下来,我们需要使用芯片设计工具来进行FPGA芯片的设计。
这包括通过布线、模块化等技术将我们的电路设计转化为逻辑网表,并将其映射到FPGA芯片上。
在这个过程中,我们还可以使用综合工具来优化电路的功耗和面积。
然后,我们需要使用电源设计工具来设计数字时钟的供电系统。
这涉及到选择合适的电源管理芯片、设计稳压电路以及进行功耗和热分析等工作。
最后,在硬件设计完成后,我们还需要使用PCB设计工具进行PCB布局和布线。
这包括将FPGA芯片和其他外围器件放置在PCB板上,并使用布线算法将它们连接起来。
在PCB设计完成后,我们可以使用电磁兼容性分析工具来验证电路的电磁兼容性。
综合应用设计完成后,我们可以使用EDA工具进行全系统级仿真和验证。
通过创建完整的系统测试台,我们可以验证时钟的正确性、性能和可靠性。
如果需要改进设计,我们可以使用优化工具来找到最佳解决方案。
总结起来,EDA技术综合应用设计实例展示了如何将不同的EDA技术和工具应用于电子系统设计过程中。
通过综合应用各种技术和工具,我们可以提高设计的效率和质量,并实现更高的系统性能。
EDA课程设计——交通灯
实验报告设计题目:交通信号控制器班级:学号:姓名:指导老师:设计时间:2011年4月交通信号控制器的VHDL 设计一、设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED 作为交通信号灯,设计一个交通信号灯控制器。
要求:(1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2) 交通灯红变绿是直接进行的,没有间隔时间;(3) 主干道上的绿灯时间为40秒,支干道的绿灯时间为20秒;(4) 在任意时间,显示每个状态到该状态结束所需的时间。
主干道图1路口交通管理示意图二、设计目的:设计交通灯控制系统主要是为了实现城市十字交叉路口红绿灯的控制。
通过对QuartusII 软件使用方法与技巧的学习,掌握VHDL 程序设计的实现,熟悉可编程逻辑器件的使用。
同时加深对交通灯控制系统的了解与应用。
三、设计方案:图2 交通信号灯控制器的原理框图图3 交通信号灯控制器程序原理框图四、程序清单和说明:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TRAFFIC ISPORT (CLK: IN STD_LOGIC;LED7S1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管高位显示数字LED7S2: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管低位显示数字LIGHT: OUT STD_LOGIC_VECTOR(5 DOWNTO 0));--各交通灯显示END ENTITY;ARCHITECTURE ONE OF TRAFFIC ISTYPE STATES IS( STA, STB, STC, STE);--定义状态变量SIGNAL ST0:STATES;SIGNAL ST1:STATES;SIGNAL FULL: STD_LOGIC;SIGNAL FOUT: STD_LOGIC;时钟输出信号(秒频)SIGNAL TIME: STD_LOGIC_VECTOR(6 DOWNTO 0);时间计数值SIGNAL TIME_LEFT: STD_LOGIC_VECTOR(6 DOWNTO 0);显示时间剩余值SIGNAL T_HIGH:STD_LOGIC_VECTOR(1 DOWNTO 0);高位显示SIGNAL T_LOW:STD_LOGIC_VECTOR(6 DOWNTO 0);低位显示BEGINPROCESS(CLK) --秒脉冲产生进程(分频作用)V ARIABLE CNT8: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLK'EVENT AND CLK='1' THENIF CNT8="11111111" THENCNT8:="00000000"; --当CNT8计数计满时,给计数器CNT8预置数FULL<='1'; --同时使溢出标志信号FULL输出为高电平ELSE CNT8:=CNT8+1; --否则继续作加1计数FULL<='0'; --且输出溢出标志信号FULL为低电平END IF;END IF;END PROCESS;PROCESS(FULL)V ARIABLE CNT2: STD_LOGIC;BEGINIF FULL'EVENT AND FULL='1'THENCNT2:=NOT CNT2;IF CNT2='1' THEN FOUT<='1'; ELSE FOUT<='0';END IF;END IF;END PROCESS;--FOUT输出是时钟信号PROCESS(FOUT) --计数模块。
EDA技术综合应用设计实例
EDA技术综合应用设计实例EDA(Electronic Design Automation)技术是一种电子设计自动化技术,通过软件工具和方法来实现电子产品的设计和验证。
下面是一个EDA技术综合应用设计实例。
背景:在现代社会中,无线通信技术是非常重要的技术之一,随着无线通信技术的不断发展,人们的生活质量得到了极大的提高。
在无线通信系统中,无线电频率的调整和控制是重要的步骤。
为了实现频率调整和控制,需要设计一个频率锁定环(PLL)电路。
本次实例的目标是使用EDA技术设计和验证一个简单的PLL电路。
设计要求:设计一个具有以下特性的PLL电路:1.输入信号频率为10MHz2.输出信号频率为400MHz3. 希望达到的锁定时间为100 ns4.锁定范围为±20kHz设计步骤:1.设计电路结构图:根据PLL电路的原理,设计电路结构图。
PLL电路包括一个相位比较器、一个锁定振荡器和一个分频器。
相位比较器用于比较反馈信号和参考信号的相位差,输出控制信号给锁定振荡器调整频率。
锁定振荡器生成输出信号,分频器用于将输出信号的频率分频到400MHz。
2.选择合适的元件:根据设计要求和电路结构图,选择适合的元件。
例如,选择合适的电阻、电容、晶体振荡器等。
3. 使用EDA工具进行电路模拟:使用EDA工具,如Cadence或Mentor Graphics等,进行电路模拟。
在模拟中,可以设置输入信号的频率和幅值,并观察输出信号的频率和幅值。
4.优化电路性能:根据模拟结果,可以对电路进行优化。
例如,可以通过调整电路参数、改变电路结构等方式来改善锁定时间、锁定范围等性能指标。
5.进行电路布局与布线:根据设计结果,进行电路布局和布线。
电路布局是指将电路中的元件放置在适当的位置,以减小信号干扰和噪声。
电路布线是指将电路中的元件通过导线连接起来,形成完整的电路路径。
6.进行电路验证:设计完成后,进行电路验证。
验证是指使用EDA工具验证设计的正确性和性能指标是否符合要求。
EDA
BEGIN IF CLK'EVENT AND CLK='1' THEN IF(LR='0') THEN IF(LP='0') THEN LEDL<='0'; ELSE LEDL<='1'; END IF; ELSE LEDL<='0'; END IF; END IF; END PROCESS; END ART;
工作原理
通过编写相关VHDL语言程序实现以上功能,将 四个模块的各个程序编写出来作为相应的底层文 件,然后再设计一个顶层文件将四个不同模块连 接起来,实现成整体的程序。通过不同模块生成 相应的元件,将生成的各个元件按功能进行连接 形成整体的设计电路。在完成编程后,再进行功 能和时序仿真。
设计方案
汽车尾灯控制器的设计
学生:陈珊珊&吴宇芳 专业:集成电路工程 LOGO
研究意义
随着社会的发展,科学技术也在不断的进步,状态机的应 用越来越广泛。现代交通越来越拥挤,安全问题日益突出 ,在这种情况下汽车尾灯控制器的设计成为解决交通安全 问题一种好的途径。本课程设计根据状态机原理实现了汽 车尾灯常用控制。
汽车尾灯主控制模块VHDL程序
LIBRARY IEEE USE IEEE.STD_LOGIC_1164.ALL; ENTITY CTRL IS PORT(LEFT,RIGHT,BREAK,NIGHT:IN STD_LOGIC; LP,RP,LR,BREAK_LED,NIGHT_LED:OUT STD_LOGIC); END CTRL; ARCHITECTURE ART OF CTRL IS BEGIN NIGHT_LED<=NIGHT; BRAKE_LED<=BRAKE;
EDA技术综合应用设计实例
第9章EDA技术综合应用设计实例本章提要:本章介绍了两个EDA技术的综合应用设计实例:数字闹钟和直接数字频率合成器DDS。
学习要求:在教师讲授掌握这些设计实例的设计思想的基础上,要求学生熟练地掌握各个模块及整个系统的设计思想,上机独立的将各个程序调试成功,将各个程序进行仿真及结果分析,最后应在自己所拥有的EDA实验开发系统上直接或稍作修改后进行硬件验证。
关键词:数字闹钟(Digital Clock)、直接数字频率合成器DDS(Direct Digital Synthesis)。
9.1 数字闹钟的设计9.1.1 系统的设计要求9.1.2 系统的总体设计9.1.3 闹钟控制器的设计9.1.4 预置寄存器的设计9.1.5 闹钟寄存器的设计9.1.6 分频电路的设计9.1.7 时间计数器的设计9.1.8 显示驱动器的设计9.1.9 系统的总装设计9.1.10 系统的硬件验证9.2 直接数字频率合成器DDS的设计9.2.1 DDS的基本原理9.2.2 参数确定及误差分析9.3.3 实现器件的选择9.4.4 DDS的FPGA实现设计9.1 数字闹钟的设计9.1.1 系统的设计要求本课题要求设计一个24小时的数字闹钟,该数字闹钟的面板如图9.1所示,它包括以下几个组成部分:(1)显示屏,由7个七段数码管组成,其中6个用于显示当前时间(时:分:秒)或设置的闹钟时间,而另一个则用于显示系统内部产生的周期性循环变化的待选预置数字;(2)YES(确认)键:用于输入新的时间或新的闹钟时间时,对每位待选预置数字输入的确认;(3)TIME(时间)键:用于确定新的时间设置;(4)ALARM(闹钟)键:用于确定新的闹钟时间设置,或显示已设置的闹钟时间;(5)扬声器,在当前时钟时间与闹钟时间相同时,发出蜂鸣声。
该数字闹钟的具体功能要求如下:(1)计时功能:这是本数字闹钟设计的基本功能,每隔1秒钟计时一次,并在显示屏上显示当前时间;(2)闹钟功能::如果当前时间与设置的闹钟时间相同,则扬声器发出蜂鸣声;(3)设置新的计时器时间:系统内部产生的周期性循环变化的待选预置数字,当用户按”YES”键后则该数字将作为预置数字输入;在输入过程中,输入数字在显示屏上从右到左依次显示,例如,用户要设置新的时间12:48:56,则按顺序先后输入”1”,”2”,”4”,”8”,”5”,”6”,与之对应,显示屏依次显示的信息为:”1”,”12”,”124”,”1248”,”12485”,”124856”。
EDA设计实例
分频器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY div ISPORT (CLK : IN STD_LOGIC; K_OR,K1,K2 :OUT STD_LOGIC);END;ARCHITECTURE bhv OF div ISSIGNAL C1,C2 : STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL M1,M2 : STD_LOGIC;BEGINPROCESS(CLK,C1) BEGINIF RISING_EDGE(CLK) THENIF (C1 = "100") THEN C1 <="000";ELSE C1<=C1+1;END IF;IF (C1 ="001") THEN M1<=NOT M1; ELSIF (C1 = "011") THEN M1<=NOT M1; END IF; END IF;END PROCESS;PROCESS (CLK,C2) BEGINIF FALLING_EDGE(CLK) THENIF (C2 = "100") THEN C2 <= "000";ELSE C2 <= C2 + 1;END IF;IF (C2 = "001") THEN M2<=NOT M2;ELSIF (C2 ="011") THEN M2<=NOT M2; END IF;END IF;END PROCESS;K1 <= M1; K2 <=M2;K_OR <=M1 OR M2;END bhv;硬件除法器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity DIV16 isport(CLK:in std_logic;A,B:in std_logic_vector(15 downto 0);QU,RE:out std_logic_vector(15 downto 0));end DIV16;architecture rtl of DIV16 isbeginprocess(CLK)variable AT,BT,P,Q:STD_LOGIC_VECTOR(15 DOWNTO 0);beginif rising_edge(CLK) then A T:=A; BT:=B;P:="0000000000000000"; Q:="0000000000000000";for i in QU'range loopp:=p(14 downto 0)&AT(15);AT:=A T(14 downto 0)&'0'; p:=p-BT;if p(15)='1' then Q(i):='0'; p:=p+BT;else Q(i):='1'; end if;end loop; end if;QU<=Q; RE<=p;end process;end rtl;1.键盘扫描模块library ieee;use ieee.std_logic_1164.all;entity scan isport(keyin:in std_logic_vector(3 downto 0);clk,en:in std_logic;keyout:out std_logic_vector(3 downto 0);key_press:out std_logic);end scan;architecture a of scan issignal cnt:integer range 0 to 3;beginprocess(clk)beginif clk'event and clk='1' thenif en='1' thenif cnt=3 then cnt<=0;else cnt<=cnt+1;end if;end if;end if;end process;process(cnt)begincase cnt iswhen 0=>keyout<="1110";when 1=>keyout<="1101";when 2=>keyout<="1011";when 3=>keyout<="0111";when others=>keyout<="1111";end case;end process;key_press<=keyin(3) and keyin(2) and keyin(1) and keyin(0); end a;计数器Library ieee;use ieee.std_logic_1164.all;Entity cnt4 isPort(clk:in bit;Q:buffer integer ranger 15 downto o);End;Architecture bhv of cnt4 isBeginProcess(clk) beginIf clk‟event and clk=‟1‟ then q<=q+1; end if;End process;End bhv;5.移位寄存器模块LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY keyreg32 ISPORT( clk :IN STD_LOGIC;key4 :in std_logic_vector(3 downto 0);q :out STD_LOGIC_VECTOR(31 DOWNTO 0) );END keyreg32;ARCHITECTURE a OF keyreg32 ISsignal reg32 :std_logic_vector(31 downto 0);BEGINPROCESS (clk)BEGINif clk'event and clk='1' thenreg32<=reg32(27 downto 0)&key4;end if;END PROCESS;q<=reg32;END a;LED接口library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity led isport( clk:in std_logic;q:out std_logic_vector(6 downto 0);a:out std_logic_vector(2 downto 0));end entity led;architecture behav of led issignal cnt1:std_logic_vector(3 downto 0);signal b:integer range 0 to 15;beginp1:process(clk,cnt1) beginif clk' event and clk='1' thenif (cnt1="0111") then cnt1<="0000"; else cnt1<=cnt1+1; end if; end if; end process p1;p2:process(cnt1) begincase (cnt1) iswhen "0000" => a<="000";b<=2;when "0001" => a<="001";b<=3;when "0010" => a<="010";b<=5;when "0011" => a<="011";b<=7;when "0100" => a<="100";b<=9;when "0101" => a<="101";b<=11;when "0110" => a<="110";b<=13;when "0111" => a<="111";b<=15;when others => null;end case; end process p2;p3:process(b)begincase (b) iswhen 0=>q<="0111111";when 1=>q<="0000110";when 2=>q<="1011011";when 3=>q<="1001111";when 4=>q<="1100110";when 5=>q<="1101101";when 6=>q<="1111101";when 7=>q<="0000111";when 8=>q<="1111111";when 9=>q<="1101111";when 10=>q<="1110111";when 11=>q<="1111100";when 12=>q<="0111001";when 13=>q<="1011110";when 14=>q<="1111001";when 15=>q<="0000110";when others =>null;end case; end process p3;end behav;硬件加法器library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity add isPort(a,b:in std_logic_vector(7 downto 0);cin:in std_logic;cout:out std_logic;Dout:out std_logic_vector(7 downto 0)); End entity add;Architecture bhv of add isSignal data : std_logic_vector(8 downto 0); BeginData<=(…0‟&a)+(…0‟&b)+(“00000000”&cin); Cout<=data(8); dout<=data(7 downto 0);End bhv;。
EDA课程设计——自动售货机控制系统
《电子设计自动化(EDA)技术》课程设计报告题目: 自动售货机控制系统姓名:院系:专业:学号:指导教师:完成时间: 年月日一、课程设计题目、内容与要求………………………………………1、设计题目……………………………………………………………2、具体要求……………………………………………………………二、系统设计……………………………………………………………1、设计思路…………………………………………………………2 、系统原理(包含:框图等阐述)与设计说明等内容三、系统实现……………………………………………………………注:此部分阐述具体实现,包含主要逻辑单元、模块、源代码等内容四、系统仿真…………………………………………………………五、硬件验证(操作)说明………………………………………………六、总结………………………………………………………………七、参考书目…………………………………………………………一、课程设计题目、内容与要求1、设计题目自动售货机控制系统2、具体要求设计一个模拟自动售货机的逻辑控制电路1、它有两个投币口分别为一元投币口和五角投币口。
2、每次只能投入一枚一元或五角硬币。
3、投入一元五角硬币后机器自动给出一瓶矿泉水。
4、投入两元硬币后,在给出一瓶矿泉水的同时找回一枚五角的硬币二、系统设计1、设计思路根据设计要求可以对售货机的基本功能进行确定。
它应该能够区分一元和五角硬币,并且能够对投入的货币进行累加。
当所投币值达到商品售价。
就自动送出商品。
因为题目要求只有一种商品并且其售价为一元五。
根据这一特殊点可设计方案如下:用两个开关分别模拟投入一元和五角硬币时产生的信号,高电平有效。
用两颗LED分别模拟售出商品和找钱信号,灯亮有效。
具体功能实现如下:1、连续两次将IN-YUAN置1,则OUT灯会亮,且ZHAOQIAN也会亮。
表示买一元五的矿泉水,投了两元钱,则售出商品,找回五角零钱。
2、连续三次将IN-JIAO置1,则OUT灯会亮,而ZHAOJIAN不会亮。
南京理工大学eda设计(1)报告(优秀)
EDA设计(I)实验报告院系:专业:班级:学号:姓名:指导老师:实验一 单级放大电路的设计与仿真一.实验目的1. 掌握放大电路静态工作点的调整和测试方法。
2. 观察静态工作点的选择对输出波形的影响。
3. 掌握电路输入电阻、输出电阻的测试方法。
4. 观察电路的频率响应曲线以及掌握电路上、下限频率的测试方法。
二.实验原理当三极管工作在放大区时具有电流放大作用,只有给放大电路中的三极管提供合适的静态工作点才能保证三极管工作在放大区,如果静态工作点不合适,输出波形则会产生非线性失真——饱和失真和截止失真,而不能正常放大。
当静态工作点设置在合适的位置时,即保证三极管在交流信号的整个周期均工作在放大区时,三极管有电流放大特性。
通过适当的外接电路,可实现电压放大。
表征放大电路放大特性的交流参数有电压放大倍数、输入电阻、输出电阻。
由于电路中有电抗组件电容,另外三极管中的PN 结有等效电容存在,因此,对于不同频率的输入交流信号,电路的电压放大倍数不同,电压放大倍数与频率的关系定义为频率特性,频率特性包括:幅频特性——即电压放大倍数的幅度与频率的关系;相频特性——即电压放大倍数的相位与频率的关系。
三.实验要求1)设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(幅度1mV) ,负载电阻5.1k Ω,电压增益大于50。
2)调节电路静态工作点(调节电位计),观察电路出现饱和失真和截止失真的输出信号波形,并测试对应的静态工作点值。
3)加入信号源频率5kHz(幅度1mV) ,调节电路使输出不失真,测试此时的静态工作点值。
测电路的输入电阻、输出电阻和电压增益; 4)测电路的频率响应曲线和L f 、H f 值。
四.实验内容与步骤1.设计一个分压偏置的单管电压放大电路,要求信号源频率5kHz(幅度1mV) ,负载电阻5.1kΩ,电压增益大于50。
单级放大的设计原理图如下:若把调节电位器的大小,从而使电路具有不同的静态工作点,则从与节点4相连的示波器上可以观察到饱和失真、截止失真、不失真三种不同的现象。
立创eda 绘制溶氧传感器实例
立创eda 绘制溶氧传感器实例溶氧传感器是一种常用于测量液体中溶解氧浓度的设备。
它可以广泛应用于水质监测、水产养殖、饮水工程、环境监测等领域。
在本文中,我们将介绍如何使用立创EDA软件来绘制溶氧传感器的电路图和PCB布局设计。
首先,我们需要准备使用的器件清单。
溶氧传感器的基本构成包括传感器模块、放大电路、AD转换器和微控制器。
我们可以参考传感器模块的技术手册,选择合适的传感器型号,然后选择适配的放大电路、AD转换器和微控制器。
在立创EDA软件中,我们可以创建一个新的项目,并添加所需的器件库。
根据所选的传感器模块型号,我们可以在库中找到对应的元件符号和模型,并将其添加到电路图中。
然后,我们可以根据传感器模块的接口要求,添加适当的电源电路、信号调理电路和连接器等元件。
接下来,我们可以使用立创EDA提供的绘图工具和丰富的元件库,绘制连接器和按钮、电源线和接地线、信号线和电阻等元件。
我们可以通过拖拽和放置元件,以及调整连接线的位置和方向,来完成电路图的绘制。
在绘制过程中,我们可以根据需要添加电源滤波电路、隔离电路和保护电路等。
完成电路图设计后,我们可以进行仿真和优化。
立创EDA软件提供了强大的仿真功能,可以帮助我们验证和优化电路性能。
我们可以设置仿真参数,并运行仿真来检查电路的工作情况。
如果发现问题或需要进一步改进,我们可以调整电路参数,然后再次运行仿真,直到达到设计要求。
完成电路设计后,我们可以开始进行PCB布局设计。
首先,我们需要设置PCB参数,包括板子的尺寸、层数和材料等。
然后,我们可以将电路图转化为PCB布局,在布局过程中,我们可以根据元件的尺寸、位置和连接关系,调整元件的布局并设置元件间的间距。
在布局完成后,我们需要进行电路的布线。
通过调整连接线的路径和宽度,以及添加电源平面和地线平面等,我们可以优化布线效果,提高电路的稳定性和可靠性。
在布线过程中,我们还需要考虑信号线和电源线的阻抗匹配,以及信号线的屏蔽和隔离等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
EDA设计实例
1、设计内容:四位加法器。
2、设计目的:了解原理图的设计方法。
3、系统总体设计:A1、A2、A
4、A
5、A
6、A
7、A
8、A9为八个二进制输入端,A3为一个低位进位输入端,T1、T2、T3、T4为四位和输出端,T5为高位进位输出
端。
4、原理图设计:
5、VHDL程序设计
Ⅰ、编辑和输入设计文件
⑴、新建一个文件夹。
文件夹取名为ADD4,保存在D盘中。
⑵、输入源程序。
打开Quartus Ⅱ,选择File→New命令。
在New窗口中的选择原理图文件编辑输入项Block Diagram/Schematic File,单击OK按钮后将打开原理图编辑窗口。
⑶、建立一个初始原理图。
再编辑窗口中的任何一个位置上右击鼠标,将出现快捷菜单,选择其中的输入元件项Insert→Symbol,或者直接双击原理图编辑窗口,弹出输入元件的对话框。
在左下的Name栏输入输入引脚符号input。
然后单击symbol窗口的OK按钮,即可将原件调入原理图编辑窗口。
⑷、创建原理图文件为顶层设计的工程。
然后将此文件s_add.bdf设定为工程。
⑸、绘制四位加法器原理图。
创建工程后即进入了工程管理窗口,设工程名为s_add。
双击左侧的工程名,再次进入原理图编辑窗口。
双击原理图编辑窗口任何位置,再次弹出输入元件对话框。
分别在Name栏输入元件名为and2、xor、和输出引脚output。
并用拖动的方法接好电路。
然后分别在input和output引脚的PIN NAME上双击使其变成黑色,再用键盘分别输入各引脚名,最后作为本项工程的顶层电路原理设计。
完成设计,并将四位加法器封装成一个元件,以便在更高层设计中调用。
⑹、测试四位加法器。
Ⅱ、全程综合与编译。
选择Processing→Start Compilation命令,启动全程编译。
Ⅲ、仿真测试
⑴、打开波形编辑器。
选择File→New命令,在New窗口中选择Vector Waveform File选项。
单击OK按钮,即出现空白的波形编辑器。
⑵、设置仿真时间区域。
对于时序仿真来说,将仿真时间轴设置在一个合理的时间区域上非常重要。
选择Edit→End Time命令,在弹出的窗口中的Time 文本框中输入55,单位为微秒,整个仿真域的时间调整为55μs,单击OK,结束设置。
⑶、波形文件存盘。
选择File→Save As命令,将以默认名为s_add.vwf的波形文件存入文件夹D: ╲ADD4中。
⑷、将工程的端口信号节点选入波形编辑器中。
首先选择View→Utility Window→Node Finder命令,在Filter下拉列表框中选择“Pin:all”,通常默认选此项,然后单击List按钮,于是在下方的Nodes Found窗口中出现设计中的s_add工程的所有端口名。
将所有的端口节点分别拖到波形编辑窗口。
结束后关闭Nodes Found窗口。
⑸、设置激励信号波形。
单击端口名,使之变为蓝色条,再单击左列的时钟设置键,在Clock窗口中的Duty cycle是占空比,默认为五十,即50%占空比,然后设置EN的电平为1,设置输入值。
⑹、对设置好的仿真激励波形进行存盘。
⑺、仿真器参数设置。
选择Assignment→Settings命令,在Settings窗口下选择Category→Simulator Settings.在右侧的Smulation mode下拉列表中选择Timing,即选择时序仿真,并选择仿真激励文件名为s_add.vwf。
选择Simulation period栏,确认选中了Run simulation until all vector stimuli are used.
⑻、启动仿真器。
选择Pracessing→Start Simulation命令,启动仿真,直到出现Simulation was successful,仿真结束。
⑼、观察仿真结果,仿真波形文件Simulation Report通常会自动弹出。
6、仿真结果分析
Ⅰ、RTL图观察。
⑴、选择Tools→Netlist Viewers命令,选择RTL Viewer。
⑵、打开S_add工程的RTL电路图。