电子设计自动化讲义.docx
- 文档编号:25792949
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:23
- 大小:304.15KB
电子设计自动化讲义.docx
《电子设计自动化讲义.docx》由会员分享,可在线阅读,更多相关《电子设计自动化讲义.docx(23页珍藏版)》请在冰豆网上搜索。
电子设计自动化讲义
电子设计自动化讲义
第1章实验-----------------------------------------------------------------1
第2章附图(GW48EDA/SOPC系统实验电路结构图)------------------------------7
第3章GW48EDA/SOPC系统结构图信号与芯片引脚对照表------------------------10
第4章课程设计——电子时钟设计---------------------------------------------12
第1章实验
1.基本电路设计
(1)实验目的:
熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路、时序电路的设计、仿真和硬件测试。
(2)实验内容
Ø学习QuartusⅡ的使用方法
按照课件“QuartusII使用_图文.PPT”(或教材第4章)给出的步骤,熟悉并掌握QuartusII的基本使用方法。
Ø组合电路的设计
首先利用QuartusⅡ完成4选1多路选择器(例1)的文本编辑输入(mux41.vhd)和编译、综合、仿真测试等步骤,给出图1所示的仿真波形。
【例1】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMUX41IS
PORT(A0,A1,A2,A3:
INSTD_LOGIC;
S:
INSTD_LOGIC_VECTOR(1DOWNTO0);
Y:
OUTSTD_LOGIC);
ENDMUX41;
ARCHITECTUREDATAFLOWOFMUX41IS
BEGIN
Y<=A0WHENS="00"ELSE
A1WHENS="01"ELSE
A2WHENS="10"ELSE
A3;
ENDDATAFLOW;
图1mux41功能时序波形
Ø时序电路的设计
根据组合电路的设计的步骤和要求,设计触发器(例2)。
【例2】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDFF1IS
PORT(CLK:
INSTD_LOGIC;
D:
INSTD_LOGIC;
Q:
OUTSTD_LOGIC);
END;
ARCHITECTUREbhvOFDFF1IS
SIGNALQ1:
STD_LOGIC;--类似于在芯片内部定义一个数据的暂存节点(双横线--是注释符号)
BEGIN
PROCESS(CLK,D)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
Q1<=D;
ENDIF;
ENDPROCESS;
Q<=Q1;--将内部的暂存数据向端口输出
ENDbhv;
(3)实验报告:
根据以上的实验内容写出实验报告,包括实验目的、实验原理、实验程序;给出程序分析报告、RTL电路图、仿真波形图(截图打印,贴在试验报告上)及其分析报告。
(4)附加内容:
设计1位全加器。
首先用QuartusⅡ完成教材3.4.1小节给出的全加器的设计、编译及综合;其次,对半加器及全加器进行波形仿真,验证设计的正确性。
2.7段数码显示译码器设计
(1)实验目的:
学习计数器及7段数码显示译码器的设计、仿真和硬件测试;进一步熟悉VHDL设计技术。
(2)实验内容
Ø设计含异步清0和同步时钟使能的加法计数器电路
实验程序见例3,设计流程参考实验1。
【例3】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT10IS
PORT(CLK,RST,EN:
INSTD_LOGIC;
CQ:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
COUT:
OUTSTD_LOGIC);
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
BEGIN
PROCESS(CLK,RST,EN)
VARIABLECQI:
STD_LOGIC_VECTOR(3DOWNTO0);
BEGIN
IFRST='1'THENCQI:
=(OTHERS=>'0');--()
ELSIFCLK'EVENTANDCLK='1'THEN--()
IFEN='1'THEN--()
IFCQI<9THEN--()
CQI:
=CQI+1;
ELSE--()
CQI:
=(OTHERS=>'0');
ENDIF;
ENDIF;
ENDIF;
IFCQI=9THEN--()
COUT<='1';
ELSE
COUT<='0';
ENDIF;
CQ<=CQI;--()
ENDPROCESS;
ENDbehav;
针对以上例程完成以下步骤。
●在QuartusⅡ上对上例进行编辑、编译、综合、适配、仿真。
说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形(截图打印,贴在试验报告上)。
●引脚锁定以及硬件下载测试。
引脚锁定后进行编译、下载和硬件测试实验。
建议选择GW48EDA系统的电路模式1(附图2,EN接按键8,RST接按键7,CLK接CLK0,CQ接发光二极管D7~D4,COUT接发光二极管D8)。
将实验过程和实验结果写进实验报告。
●使用SignalTapII对此计数器进行实时测试,流程与要求参考教材6.2节。
●为此项设计加入一个可用于SignalTapII采样的独立的时钟输入端(采用时钟选择clock0=12MHz,计数器时钟CLK分别选择256Hz、16384Hz、6MHz),并进行实时测试。
(3)思考题:
在上例中是否可以不定义信号CQI,而直接用输出端口信号完成加法运算,即:
CQ<=CQ+1?
为什么?
Ø设计7段数码显示译码器电路
实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
例4作为7段译码器,输出信号LED7S的7位分别接如图3数码管的7个段,高位在左,低位在右。
例如当LED7S输出为“1101101”时,数码管的7个段:
g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
注意,这里没有考虑表示小数点的发光二极管,如果要考虑,需要增加段h,例4中的LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0)应改为…(7DOWNTO0)。
图27段译码器仿真波形
图3共阴数码管及其电路图4计数器和译码器连接电路的顶层文件原理图
【例4】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDECL7SIS
PORT(A:
INSTD_LOGIC_VECTOR(3DOWNTO0);
LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
END;
ARCHITECTUREoneOFDECL7SIS
BEGIN
PROCESS(A)
BEGIN
CASEAIS
WHEN"0000"=>LED7S<="0111111";
WHEN"0001"=>LED7S<="0000110";
WHEN"0010"=>LED7S<="1011011";
WHEN"0011"=>LED7S<="1001111";
WHEN"0100"=>LED7S<="1100110";
WHEN"0101"=>LED7S<="1101101";
WHEN"0110"=>LED7S<="1111101";
WHEN"0111"=>LED7S<="0000111";
WHEN"1000"=>LED7S<="1111111";
WHEN"1001"=>LED7S<="1101111";
WHEN"1010"=>LED7S<="1110111";
WHEN"1011"=>LED7S<="1111100";
WHEN"1100"=>LED7S<="0111001";
WHEN"1101"=>LED7S<="1011110";
WHEN"1110"=>LED7S<="1111001";
WHEN"1111"=>LED7S<="1110001";
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESS;
END;
针对以上例程完成以下步骤。
●在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
提示:
用输入总线的方式给出输入信号仿真数据,仿真波形示例图如图2所示。
●引脚锁定及硬件测试。
建议选GW48EDA系统的实验电路模式6(附图5),用数码8显示译码输出(PIO46-PIO40),键8、键7、键6和键5四位控制输入,硬件验证译码器的工作性能。
Ø数码管显示4位二进制计数值
用教材3.4.2小节介绍的例化语句,按图4的方式连接成顶层设计电路(用VHDL表述),图中的CNT4B是一个4位二进制加法计数器,可以由例3修改获得;模块DECL7S即为例4实体元件,重复以上实验过程。
注意图4中的tmp是4位总线,led是7位总线。
对于引脚锁定和实验,建议选电路模式6(附图5),用数码8显示译码输出,用clock0作为时钟输入(注意clock0的频率的选择)。
(3)实验报告:
根据以上的实验内容写出实验报告,包括实验目的、实验原理、实验程序和详细实验过程;给出程序分析报告、RTL电路图、仿真波形图及其分析报告。
3.8位数码扫描显示电路设计
(1)实验目的:
学习硬件扫描显示电路的设计。
(2)实验内容
实验原理:
图5所示的是8位数码扫描显示电路,其中每个数码管的8个段:
h、g、f、e、d、c、b、a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1、k2、…k8来选择。
被选通的数码管显示数据,其余关闭。
如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其它7个数码管呈现关闭状态。
根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的改变,就能实现扫描显示的目的。
例5是扫描显示的示例程序,其中clk是扫描时钟;SG为7段控制信号,由高位至低位分别接g、f、e、d、c、b、a等7个段;BT是位选控制信号,接图5中的8个选通信号:
k1、k2、…k8。
程序中CNT8是一个3位计数器,作扫描计数信号,由进程P2生成;进程P3是7段译码查表输出程序,与例4相同;进程P1是对8个数码管选通的扫描程序,例如当CNT8等于"001"时,K2对应的数码管被选通,同时,A被赋值3,再由进程P3译码输出"1001111",显示在数码管上即为“3”;当CNT8改变时,将能在8个数码管上显示数据:
“13579BDF”。
图58位数码扫描显示电路
【例5】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYSCAN_LEDIS
PORT(CLK:
INSTD_LOGIC;
SG:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);--段控制信号输出
BT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));--位控制信号输出
END;
ARCHITECTUREoneOFSCAN_LEDIS
SIGNALCNT8:
STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALA:
INTEGERRANGE0TO15;
BEGIN
P1:
PROCESS(CNT8)
BEGIN
CASECNT8IS
WHEN"000"=>BT<="00000001";A<=1;
WHEN"001"=>BT<="00000010";A<=3;
WHEN"010"=>BT<="00000100";A<=5;
WHEN"011"=>BT<="00001000";A<=7;
WHEN"100"=>BT<="00010000";A<=9;
WHEN"101"=>BT<="00100000";A<=11;
WHEN"110"=>BT<="01000000";A<=13;
WHEN"111"=>BT<="10000000";A<=15;
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESSP1;
P2:
PROCESS(CLK)
BEGIN
IFCLK'EVENTANDCLK='1'THEN
CNT8<=CNT8+1;
ENDIF;
ENDPROCESSP2;
P3:
PROCESS(A)–-译码电路
BEGIN
CASEAIS
WHEN0=>SG<="0111111";WHEN1=>SG<="0000110";
WHEN2=>SG<="1011011";WHEN3=>SG<="1001111";
WHEN4=>SG<="1100110";WHEN5=>SG<="1101101";
WHEN6=>SG<="1111101";WHEN7=>SG<="0000111";
WHEN8=>SG<="1111111";WHEN9=>SG<="1101111";
WHEN10=>SG<="1110111";WHEN11=>SG<="1111100";
WHEN12=>SG<="0111001";WHEN13=>SG<="1011110";
WHEN14=>SG<="1111001";WHEN15=>SG<="1110001";
WHENOTHERS=>NULL;
ENDCASE;
ENDPROCESSP3;
END;
针对以上例程完成以下步骤。
●说明例5中各语句的含义,以及该例的整体功能。
对该例进行编辑、编译、综合、适配、仿真,给出仿真波形。
实验方式:
若考虑小数点,SG的8个段分别与PIO43、PIO44、…、PIO49(高位在左)、BT的8个位分别与PIO34、PIO35、…、PIO41(高位在左);电路模式不限,引脚图参考附图8。
将GW48EDA系统数码管左侧的3根插针上的跳线移到下面,即CLOSE位置。
这时实验系统的8个数码管构成图5的电路结构,时钟CLK可选择clock0,通过跳线选择16384Hz信号。
引脚锁定后进行编译、下载和硬件测试实验。
将实验过程和实验结果写进实验报告。
●修改例5的进程P1中的显示数据直接给出的方式,增加8个4位锁存器,作为显示数据缓冲器,使得所有8个显示数据都必须来自缓冲器。
缓冲器中的数据可以通过不同方式锁入,如来自A/D采样的数据、来自分时锁入的数据、来自串行方式输入的数据,或来自单片机等。
(3)实验报告:
根据以上的实验内容写出实验报告,包括实验目的、实验原理、实验程序和详细实验过程;给出程序分析报告、RTL电路图、仿真波形图及其分析报告。
4.数控分频器的设计
(1)实验目的:
学习数控分频器的设计、分析和测试方法。
(2)实验内容
①实验原理:
数控分频器的功能就是当在输入端给定不同输入数据时,将对输入的时钟信号有不同的分频比,数控分频器就是用计数值可并行预置的加法计数器设计完成的,方法是将计数溢出位与预置数加载输入信号相接即可,详细设计程序如例6所示。
(注意:
CLK频率太高,显示太密,看不出来,呈现黑色)
图6当给出不同输入值D时,FOUT输出不同频率(CLK周期=50ns)
针对以上例程完成以下步骤。
●根据图6的波形提示,分析例6中的各语句功能、设计原理及逻辑功能,详述进程P_REG和P_DIV的作用,并画出该程序的RTL电路图。
●仿真:
输入不同的CLK频率和预置值D,给出如图6的时序波形。
●在实验系统上硬件验证例6的功能。
可选实验电路模式1(附图2);键2/键1负责输入8位预置数D(PIO7-PIO0);CLK由clock0输入,频率选65536Hz或更高(确保分频后落在音频范围);输出FOUT接扬声器(SPEAKER)。
编译下载后进行硬件测试:
改变键2/键1的输入值,可听到不同音调的声音。
●将例6的代码修改,设计完成8位数据控制的PWM信号发生器。
●将以上8位数据控制的PWM信号发生器扩展成16位数据控制的PWM信号发生器。
(可选)
(3)思考题:
怎样利用2个由例6给出的模块设计一个电路,使其输出方波的正负脉宽的宽度分别由两个8位输入数据控制?
(4)实验报告:
根据以上的实验内容写出实验报告,包括实验目的、实验原理、实验程序和详细实验过程;给出程序分析报告、RTL电路图、仿真波形图及其分析报告。
【例6】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYDVFIS
PORT(CLK:
INSTD_LOGIC;
D:
INSTD_LOGIC_VECTOR(7DOWNTO0);
FOUT:
OUTSTD_LOGIC);
END;
ARCHITECTUREoneOFDVFIS
SIGNALFULL:
STD_LOGIC;
BEGIN
P_REG:
PROCESS(CLK)
VARIABLECNT8:
STD_LOGIC_VECTOR(7DOWNTO0);
BEGIN
IFCLK'EVENTANDCLK='1'THEN
IFCNT8="11111111"THEN
CNT8:
=D;--当CNT8计数计满时,输入数据D被同步预置给计数器CNT8
FULL<='1';--同时使溢出标志信号FULL输出为高电平
ELSE
CNT8:
=CNT8+1;--否则继续作加1计数
FULL<='0';--且输出溢出标志信号FULL为低电平
ENDIF;
ENDIF;
ENDPROCESSP_REG;
P_DIV:
PROCESS(FULL)
VARIABLECNT2:
STD_LOGIC;
BEGIN
IFFULL'EVENTANDFULL='1'THEN
CNT2:
=NOTCNT2;--如果溢出标志信号FULL为高电平,D触发器输出取反
IFCNT2='1'THEN
FOUT<='1';
ELSE
FOUT<='0';
ENDIF;
ENDIF;
ENDPROCESSP_DIV;
END;
第2章附图(GW48EDA/SOPC系统实验电路结构图)
附图1实验电路结构图NO.0附图2实验电路结构图NO.1
附图3实验电路结构图NO.2附图4实验电路结构图NO.3
附图5实验电路结构图NO.6附图6实验电路结构图NO.8
附图7实验电路结构图NO.5
附图8GW48-PK2上扫描显示模式时的连接方式:
8数码管扫描方式显示,输入信号高电平有效
附图9实验电路结构图NO.7
第3章GW48结构图信号与芯片引脚对照表
结构图上的信号名
GWAK30/50EP1K30/50TQC144
GWAC3:
EP1C3TC144
GW48-SOPC/DSPEP1C12Q240C8
GW48-XS200
GW48-XS400
引脚号
引脚名称
引脚号
引脚名称
引脚号
引脚名称
引脚号
引脚号
PIO0
8
I/O0
1
I/O0
233
I/O0
5
21
PIO1
9
I/O1
2
I/O1
234
I/O1
6
22
PIO2
10
I/O2
3
I/O2
235
I/O2
7
24
PIO3
12
I/O3
4
I/O3
236
I/O3
8
26
PIO4
13
I/O4
5
I/O4
237
I/O4
10
27
PIO5
17
I/O5
6
I/O5
238
I/O5
11
28
PIO6
18
I/O6
7
I/O6
239
I/O6
12
29
PIO7
19
I/O7
10
I/O7
240
I/O7
13
31
PIO8
20
I/O8
11
I/O8
1
I/O8
14
33
PIO9
21
I/O9
32
I/O9
2
I/O9
15
34
PIO10
22
I/O10
33
I/O10
3
I/O10
17
15
PIO11
23
I/O11
34
I/O11
4
I/O11
18
16
PIO12
26
I/O12
35
I/O12
6
I/O12
20
35
PIO13
27
I/O13
36
I/O13
7
I/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子设计 自动化 讲义