华南理工大学数字系统设计实验2报告
数字系统设计 实验二报告(计09-1班 姚伟 08093342)
实验二:时序电路设计一.实验目的熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。
二.实验任务任务1:设计触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
任务2:设计锁存器,同样给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
三.实验过程1.新建一个文件夹,取名second。
2.输入源程序。
3.文件存盘,文件名为second,扩展名为.vhd。
4.创建工程,按照老师要求对软件进行设置。
5.进行失序仿真,得到仿真图形。
四.实验程序任务1:library ieee;use ieee.std_logic_1164.all;entity second isport(clk,d:in std_logic;q:out std_logic);end;architecture bhv of second issignal q1:std_logic;beginprocess(clk,q1)beginif clk'event and clk ='1'then q1<=d;end if;end process;q<=q1;end bhv;任务2:library ieee;use ieee.std_logic_1164.all;entity suocun isport (clk,d:in std_logic; q:out std_logic);end;architecture bhv of suocun isbeginprocess (clk,d)beginif clk='1'then q<=d;end if;end process;end;五.实验结果任务1:任务2:。
数字系统设计实验报告
一、实验目的1. 理解数字系统设计的基本概念和流程。
2. 掌握数字电路的基本设计方法和技巧。
3. 熟悉常用数字集成电路的使用方法。
4. 培养实际动手能力和团队协作精神。
二、实验内容本次实验主要围绕数字系统设计展开,包括以下几个方面:1. 数字电路原理图绘制与仿真2. 数字系统硬件描述语言(HDL)编程3. 顶层模块设计4. 系统仿真与调试三、实验步骤1. 数字电路原理图绘制与仿真(1)根据实验要求,设计数字电路原理图,如数字时钟、移位寄存器等。
(2)使用Multisim等仿真软件对原理图进行仿真,验证电路功能。
2. 数字系统硬件描述语言(HDL)编程(1)根据原理图,使用Verilog或VHDL等HDL语言编写代码。
(2)对代码进行语法检查,确保代码正确。
3. 顶层模块设计(1)根据实验要求,设计顶层模块,如数字时钟控制器、移位寄存器控制器等。
(2)将底层模块(如计数器、触发器等)集成到顶层模块中。
4. 系统仿真与调试(1)使用仿真软件对顶层模块进行仿真,验证系统功能。
(2)根据仿真结果,对代码进行修改和优化,直至系统功能满足要求。
四、实验结果与分析1. 数字电路原理图绘制与仿真(1)原理图设计:根据实验要求,设计了一个数字时钟电路原理图,包括分频器、计数器、触发器等模块。
(2)仿真结果:通过仿真软件对原理图进行仿真,验证了电路功能。
2. 数字系统硬件描述语言(HDL)编程(1)代码编写:使用Verilog语言编写了数字时钟电路的代码,包括分频器、计数器、触发器等模块。
(2)代码验证:通过语法检查,确保代码正确。
3. 顶层模块设计(1)顶层模块设计:根据实验要求,设计了一个数字时钟控制器顶层模块,将底层模块集成到顶层模块中。
(2)系统仿真:通过仿真软件对顶层模块进行仿真,验证了系统功能。
4. 系统仿真与调试(1)系统仿真:通过仿真软件对顶层模块进行仿真,验证了系统功能。
(2)调试:根据仿真结果,对代码进行修改和优化,直至系统功能满足要求。
华南理工大学-数学实验报告二
for i=1:n %每条边计算一次
q1=p(i,:); %目前线段的起点坐标
q2=p(i+1,:); %目前线段的终点坐标
d=(q2-q1)/3;
j=j+1;r(j,:)=q1; %原起点存入a
j=j+1;r(j,:)=q1+d; %新1点存入a
n=1; %存放线段的数量,初始值为1
for s=1:k %实现迭代过程,计算所有的结点的坐标
j=0;
for i=1:n %每条边计算一次
q1=l(i,:); %目前线段的起点坐标
q2=l(i+1,:); %目前线段的终点坐标
d=(q2-q1)/3;
j=j+1;e(j,:)=q1; %原起点存入a
j=j+1;e(j,:)=q1+d; %新1点存入a
程序:
function frat2(k) %显示等边三角形迭代k次后的图形
A=[cos(pi/3) sin(pi/3);-sin(pi/3) cos(pi/3)];
%用于计算新的结点
B=[cos(pi/3) -sin(pi/3);sin(pi/3) cos(pi/3)];
%用于计算新的结点
p=[0 0;10 0]; %存放结点坐标
B=[cos(pi/3)-sin(pi/3);sin(pi/3) cos(pi/3)];
得出这两个重要的曲线旋转公式。
感悟:
实现雪花的算法有多种,有时选择的算法虽然繁琐,往往却很好理解和方便调试错误。
d=(q2-q1)/3;
j=j+1;w(j,:)=q1; %原起点存入a
j=j+1;w(j,:)=q1+d; %新1点存入a
数字系统的设计与实验实验报告
数字系统的设计与实验学院:专业:班级:学号:姓名指导老师2013 年12月 10 日实验一原码反码发生器一实验目的:1、掌握组合逻辑电路的基本设计方法。
2、学习波形仿真的方法。
3、加深对最简单的二进制原码、反码的理解,灵活运用基本的逻辑门。
二实验内容1、设计的电路应具备以下功能:A.包含如下端口:一个选择信号端口,一个8位二进制输入端口,一个原码/反码输出端口。
B. 选择信号的逻辑状态为0时输出原码;逻辑状态为1时输出反码。
2、完成电路设计。
3、对设计的正确性进行验证。
三实验要求1、列出所要实现的功能的真值表。
2、画出电路的逻辑图。
3、编写用VHDL语言描述的源程序。
library ieee;use ieee.std_logic_1164.all;entity shiyan1 isport (cin : in std_logic_vector(7 downto 0);fin : in std_logic;cout: out std_logic_vector(7 downto 0));end shiyan1;architecture behave of shiyan1 isbeginprocess(fin)begincase fin iswhen '1' => cout <= not cin;when '0' => cout <= cin;when others => null;end case;end process;end behave;4、在MAX 软件平台上完成编译和功能仿真。
一、信号端口为0时二、信号端口为1总结:经过上个实验后,对maxplu件有了一定了解,对于 VHDL也更加熟悉,首先构造真值表,画出逻辑电路图,然后编写程序生成仿真波形图。
在编写程序的时候也出现了一些错误,比如是将单个字符用双引号,结果编译通不过。
老是报错。
数字系统设计实践实验报告
实验项目四信号存储与回放实验报告吴衡106040363王皓106040026目录摘要和关键词 (2)一.设计任务与要求 (2)1.1 设计任务 (2)1.2 技术指标 (2)1.3 题目评析 (2)二.实验方案 (2)2.1方案流程图 (2)2.2方案解析 (3)三.系统硬件设计 (3)3.1 系统的总体设计(设计思想、设计步骤),系统的计算。
(3)3.2 单元电路(或称功能模块)的设计,单元的参数计算。
(4)3.3 单元电路的功能以及工作原理的分析(单元具体电路图)。
(4)3.3.1直通回路模块: (4)3.3.2存储第一个数据的存储器模块: (5)3.3.3 DPCM模块: (6)3.3.4解码器模块: (6)3.3.5单次播放控制器: (7)3.3.6主控片段与RAM模块: (7)四.代码算法解析 (8)4.1存储第一个数据的存储器模块代码(cunchu.vhdl) (8)代码解析: (8)4.2DPCM模块代码:(zhuanhuan.vhdl) (8)代码解析: (9)4.3解码器模块代码:(shuzhi.vhdl) (9)代码解析: (9)4.4单次播放控制器代码:(kongzhi2.vhdl) (10)代码解析: (10)4.5主控片段模块代码:(kongzhi.vhdl) (10)代码解析: (11)五.系统测试 (11)5.1 RAM测试: (11)5.2 各模块测试: (11)5.3 示波器输出: (12)六.附录 (12)6.1 存储第一个数据的存储器模块代码:(cunchu.vhdl) (12)6.2 DPCM模块代码:(zhuanhuan.vhdl) (13)6.3 解码器模块代码:(shuzhi.vhdl) (13)6.4 单次播放控制器代码:(kongzhi2.vhdl) (14)6.5 主控片段模块代码:(kongzhi.vhdl) (14)6.6 电路总实验图: (16)七.实验声明 (16)摘要和关键词:信号存储、回放,ADC、DPCM、信号、解码一.设计任务与要求1.1 设计任务设计并制作一个数字化信号存储与回放系统。
数字系统设计综合实验报告
数字系统设计综合实验报告实验名称:1、加法器设计2、编码器设计3、译码器设计4、数据选择器设计5、计数器设计6、累加器设计7、交通灯控制器设计班级:姓名:学号:指导老师:实验1 加法器设计1)实验目的(1)复习加法器的分类及工作原理。
(2)掌握用图形法设计半加器的方法。
(3)掌握用元件例化法设计全加器的方法。
(4)掌握用元件例化法设计多位加法器的方法。
(5)掌握用Verilog HDL语言设计多位加法器的方法。
(6)学习运用波形仿真验证程序的正确性。
(7)学习定时分析工具的使用方法。
2)实验原理加法器是能够实现二进制加法运算的电路,是构成计算机中算术运算电路的基本单元。
目前,在数字计算机中,无论加、减、乘、除法运算,都是化为若干步加法运算来完成的。
加法器可分为1位加法器和多位加法器两大类。
1位加法器有可分为半加器和全加器两种,多位加法器可分为串行进位加法器和超前进位加法器两种。
(1)半加器如果不考虑来自低位的进位而将两个1位二进制数相加,称半加。
实现半加运算的电路则称为半加器。
若设A和B是两个1位的加数,S 是两者相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到。
(2)全加器在将两个1位二进制数相加时,除了最低位以外,每一位都应该考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称全加。
实现全加运算的电路则称为全加器。
若设A、B、CI分别是两个1位的加数、来自低位的进位,S是相加的和,C是向高位的进位。
则由二进制加法运算规则可以得到:3)实验内容及步骤(1)用图形法设计半加器,仿真设计结果。
(2)用原件例化的方法设计全加器,仿真设计结果(3)用原件例化的方法设计一个4为二进制加法器,仿真设计结果,进行定时分析。
(4)用Verilog HDL语言设计一个4为二进制加法器,仿真设计结果,进行定时分析。
(5)分别下载用上述两种方法设计4为加法器,并进行在线测试。
4)设计1)用图形法设计的半加器,如下图1所示,由其生成的符号如图2所示。
华南理工大学数字系统设计实验4报告
//????? 0~F ?????? parameter SEG_NUM0 SEG_NUM1 SEG_NUM2 SEG_NUM3 SEG_NUM4 SEG_NUM5 SEG_NUM6 SEG_NUM7 SEG_NUM8 SEG_NUM9 SEG_NUMA SEG_NUMB SEG_NUMC SEG_NUMD = 8'hc0, = 8'hf9, = 8'ha4, = 8'hb0, = 8'h99, = 8'h92, = 8'h82, = 8'hF8, = 8'h80, = 8'h90, = 8'h88, = 8'h83, = 8'hc6, = 8'ha1, 8
实验日期与时间: 预习检查纪录:
2017 年 12 月 22 日
批改教师:
报告内容:
一、实验要求
运用状态机设计按键控制数码管显示的电路系统 设计要求: 1、 按键控制数码管显示,当按下 S2 时,Q4 数码管显示 1;再次按下 S2,Q4 数码管 显示 2; 2、 第三次按下 S2,Q4 数码管显示 3;第四次按下 S2 时,Q4 数码管显示 4.第五次按 下 S2 时 Q4 又从 1 开始显示,如此反复。 3、 检测按键是否按下需要消抖,消抖程序请同学们参考附录程序,参考程序是利用四 个按键控制四个 LED 灯的亮灭。请同学们在读懂参考程序的基础上将其改编为符合要 求 1 的程序。 4、 参考程序是普通的控制程序,本实验要求同学们利用状态机来编写程序。
SIGNAL key_rst_r: std_logic; SIGNAL key_rst_an:std_logic; SIGNAL low_sw: SIGNAL low_sw_r: std_logic; std_logic;
华南理工大学数字信号处理实验报告2(曹老师)
一、实验目的1、加深对离散信号的DFT的理解;2、在MATLAB中实现FFT算法。
二、实验原理N点序列的DFT和IDFT变换定义式如下:,,利用旋转因子具有周期性,可以得到快速算法(FFT)。
在MATLAB中,可以用函数和计算N点序列的DFT 正、反变换。
三、实验内容1、对连续的单一频率周期信号按采样频率采样,截取长度N分别选N =20和N =16,观察其DFT结果的幅度谱。
实验代码:k=8;n1=[0:1:19];xa1=sin(2*pi*n1/k);subplot(2,2,1)plot(n1,xa1)xlabel('t/T');ylabel('x(n)');xk1=fft(xa1);xk1=abs(xk1);subplot(2,2,2)stem(n1,xk1)xlabel('k');ylabel('X(k)'); n2=[0:1:15]; xa2=sin(2*pi*n2/k); subplot(2,2,3) plot(n2,xa2)xlabel('t/T');ylabel('x(n)'); xk2=fft(xa2);xk2=abs(xk2); subplot(2,2,4) stem(n2,xk2)xlabel('k');ylabel('X(k)');实验结果:5101520-1-0.500.51t/Tx (n )05101520kX (k )51015-1-0.500.51t/Tx (n )kX (k )2 2N 点实数序列⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧-=+=n N n n Nn N n x 其它,012,...,2,1,0),192cos(21)72cos()(ππN=64。
用一个64点的复数FFT 程序,一次算出N n x DFT k X 2)]([)(=,并绘出)(k X 。
数字系统设计实验报告
数字系统设计实验共八个实验报告课程:数字系统设计班级:08电52姓名:马帼英实验日期:2011/4/11~2011/4/30目录1实验一基本组合逻辑电路设计实验 (3)2实验二加法器设计 (4)3实验三译码器设计 (6)4实验四计数器设计 (8)5实验五阻塞与非阻塞区别验证 (10)6实验六累加器设计 (12)7实验七数码管扫描电路设计 (14)8实验八数字频率计设计 (17)实验一实验名称:基本组合逻辑电路设计实验第1 组同组人:刘秀秀,马帼英一、实验目的:熟悉MAX+plus 软件的使用二、实验电路:三、波形图:实验二实验名称:加法器设计第1 组同组人:刘秀秀,马帼英一、实验目的:(1)复习加法器的分类及工作原理;(2)掌握用图形法设计半加器的方法;(3)掌握用元件例化法设计全加器的方法;(4)掌握用元件例化法设计多位加法器的方法;(5)掌握用Verilog HDL语言设计多位加法器的方法;(6)学习运用波形仿真验证程序的正确性;学习定时分析工具的使用方法。
二、实验电路:三、实验步骤:1)首先在原理图输入方式下设计出1位的半加器,并进行仿真验证;2)在原理图输入方式下采用调用半加器元件的方式设计出1位的全加器,并进行仿真验证;3)下载全加器电路,并进行在线测试。
四、实验结果分析、体会:实验过程中需注意的几点:1)保存所设计的原理图文件时,注意后缀名为.gdf;2)编程下载前一定要进行时序编译;3)分配引脚时要注意输入输出端口编号一定要与实验箱上的输入输出端口引脚号相对应。
五、思考题:1时序仿真波形图上出现了什么现象?其产生的原因是什么呢?如何进行消除?答:在组合逻辑中,由于多少输入信号变化先后不同、信号传输的路径不同,或是各种器件延迟时间不同(这种现象称为竞争)都有可能造成输出波形产生不应有的尖脉冲(俗称毛刺),这种现象成为冒险。
解决方法:一是添加布尔式的消去项,二是在芯片外部加电容。
2请比较分析用元件例化法与语言进行设计的4位加法器的定时分析结果。
数字系统设计实验报告
计算机科学与技术学院数字系统设计实验报告姓名:学号:专业:班级:指导教师:2011年 11月徐州实验4-1 组合电路的设计实验目的:熟悉Quartus 2的 VHDL 文本设计流程全过程,学习简单组合电路的设计,多层次电路的设计、仿真和硬件测试。
实验内容:1.首先利用Quartus 2 完成2选1 多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。
最后在实验系统上进行硬件测试,验证本项设计的功能。
2.将此多路选择器看成是一个元件mux21a,利用元件例化语句描述,并将此文件放在同一目录中。
任务一:1.程序代码ENTITY mux21a ISPORT (a,b,s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)BEGINIF s='0' THEN y<=a;ELSE y<=b;END IF;END PROCESS;END ARCHITECTURE one;2.编译3.时序仿真4.观察RTL电路任务二:1.程序代码entity MUXK ISPORT (a1,a2,a3,s1,s0: in bit;outy:out bit);end entity MUXK;ARCHITECTURE one of MUXK ISCOMPONENT mux21aport (a,b,s:in bit;y:out bit);end component;signal tmp: bit;beginu1:mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);u2:mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);end architecture one;2.编译3.波形图4.观察RTL电路实验体会:通过这次实验,对vhdl文本设计流程有了初步的了解,对组合电路的原理和构成有了更深的认识。
数字系统设计实验报告
计算机科学与技术学院数字系统设计实验报告姓名:学号:专业:班级:指导教师:2011年11月徐州实验4-1 组合电路的设计实验目的:熟悉Quartus 2的 VHDL 文本设计流程全过程,学习简单组合电路的设计,多层次电路的设计、仿真和硬件测试。
实验内容:1.首先利用Quartus 2 完成2选1 多路选择器的文本编辑输入和仿真测试等步骤,给出仿真波形。
最后在实验系统上进行硬件测试,验证本项设计的功能。
2.将此多路选择器看成是一个元件mux21a,利用元件例化语句描述,并将此文件放在同一目录中。
任务一:1.程序代码ENTITY mux21a ISPORT (a,b,s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a ISBEGINPROCESS(a,b,s)BEGINIF s='0' THEN y<=a;ELSE y<=b;END IF;END PROCESS;END ARCHITECTURE one;2.编译3.时序仿真4.观察RTL电路任务二:1.程序代码entity MUXK ISPORT (a1,a2,a3,s1,s0: in bit;outy:out bit);end entity MUXK;ARCHITECTURE one of MUXK ISCOMPONENT mux21aport (a,b,s:in bit;y:out bit);end component;signal tmp: bit;beginu1:mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);u2:mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);end architecture one;2.编译3.波形图4.观察RTL电路实验体会:通过这次实验,对vhdl文本设计流程有了初步的了解,对组合电路的原理和构成有了更深的认识。
数字系统设计_实验报告
一、实验目的1. 熟悉数字系统设计的基本流程和方法;2. 掌握数字系统硬件描述语言(如Verilog)的基本语法和设计方法;3. 培养动手实践能力,提高数字系统设计水平;4. 了解数字系统设计中常用模块的功能和实现方法。
二、实验内容1. 数字系统硬件描述语言(Verilog)编程2. 数字系统模块设计3. 数字系统仿真与调试三、实验步骤1. 设计数字系统模块(1)分析数字系统功能需求,确定模块功能;(2)根据模块功能,设计模块的输入输出端口和内部结构;(3)使用Verilog语言编写模块代码。
2. 编写顶层模块(1)根据数字系统功能需求,设计顶层模块的输入输出端口和内部结构;(2)将已设计的模块实例化,连接各模块端口;(3)编写顶层模块代码。
3. 仿真与调试(1)使用仿真工具(如ModelSim)对顶层模块进行仿真;(2)观察仿真波形,分析模块功能是否满足设计要求;(3)根据仿真结果,对模块代码进行修改和优化;(4)重复步骤(2)和(3),直至模块功能满足设计要求。
四、实验结果与分析1. 数字系统模块设计(1)设计了一个4位加法器模块,包括两个4位输入端口、一个4位输出端口和两个进位输出端口;(2)设计了一个2位乘法器模块,包括两个2位输入端口和一个4位输出端口;(3)设计了一个8位存储器模块,包括一个8位输入端口、一个8位输出端口和一个地址输入端口。
2. 顶层模块设计(1)根据功能需求,设计了一个包含加法器、乘法器和存储器的数字系统顶层模块;(2)将已设计的模块实例化,连接各模块端口;(3)编写顶层模块代码。
3. 仿真与调试(1)使用ModelSim对顶层模块进行仿真;(2)观察仿真波形,发现加法器和乘法器功能正常,但存储器模块存在错误;(3)分析存储器模块代码,发现地址输入端口的逻辑关系错误;(4)修改存储器模块代码,重新进行仿真,验证模块功能正确。
五、实验总结1. 通过本次实验,掌握了数字系统设计的基本流程和方法;2. 学会了使用Verilog语言进行数字系统模块设计;3. 培养了动手实践能力,提高了数字系统设计水平;4. 了解数字系统设计中常用模块的功能和实现方法。
数字系统设计及实验实验报告
数字系统设计及实验实验报告一、实验目的数字系统设计及实验课程旨在让我们深入理解数字逻辑的基本概念和原理,掌握数字系统的设计方法和实现技术。
通过实验,我们能够将理论知识应用于实际,提高解决问题的能力和实践动手能力。
本次实验的具体目的包括:1、熟悉数字电路的基本逻辑门、组合逻辑电路和时序逻辑电路的设计方法。
2、掌握使用硬件描述语言(如 Verilog 或 VHDL)进行数字系统建模和设计。
3、学会使用相关的电子设计自动化(EDA)工具进行电路的仿真、综合和实现。
4、培养团队合作精神和工程实践能力,提高解决实际问题的综合素质。
二、实验设备和工具1、计算机:用于编写代码、进行仿真和综合。
2、 EDA 软件:如 Quartus II、ModelSim 等。
3、实验开发板:提供硬件平台进行电路的下载和测试。
4、数字万用表、示波器等测量仪器:用于检测电路的性能和信号。
三、实验内容1、基本逻辑门电路的设计与实现设计并实现与门、或门、非门、与非门、或非门和异或门等基本逻辑门电路。
使用 EDA 工具进行仿真,验证逻辑功能的正确性。
在实验开发板上下载并测试实际电路。
2、组合逻辑电路的设计与实现设计一个 4 位加法器,实现两个 4 位二进制数的相加。
设计一个编码器和译码器,实现数字信号的编码和解码。
设计一个数据选择器,根据控制信号选择不同的输入数据。
3、时序逻辑电路的设计与实现设计一个同步计数器,实现模 10 计数功能。
设计一个移位寄存器,实现数据的移位存储功能。
设计一个有限状态机(FSM),实现简单的状态转换和控制逻辑。
四、实验步骤1、设计方案的确定根据实验要求,分析问题,确定电路的功能和性能指标。
选择合适的逻辑器件和设计方法,制定详细的设计方案。
2、代码编写使用硬件描述语言(如 Verilog 或 VHDL)编写电路的代码。
遵循代码规范,注重代码的可读性和可维护性。
3、仿真验证在 EDA 工具中对编写的代码进行仿真,输入不同的测试向量,观察输出结果是否符合预期。
数字系统设计 实验报告
数字系统设计实验报告1. 引言数字系统设计是计算机科学与工程中的重要领域之一。
本实验旨在通过设计一个基本的数字系统,深入理解数字系统的原理和设计过程。
本文将按照以下步骤详细介绍实验的设计和实施。
2. 实验目标本实验旨在设计一个简单的数字系统,包括输入、处理和输出三个模块。
具体目标如下: - 设计一个输入模块,用于接收用户的输入数据。
- 设计一个处理模块,对输入数据进行特定的处理。
- 设计一个输出模块,将处理结果展示给用户。
3. 实验设计3.1 输入模块设计输入模块主要用于接收用户的输入数据,并将其传递给处理模块进行处理。
在本实验中,我们选择使用键盘作为输入设备。
具体设计步骤如下: 1. 初始化输入设备,确保能够正确接收用户输入。
2. 设计输入缓冲区,用于存储用户输入的数据。
3. 实现输入函数,将用户输入的数据存储到输入缓冲区中。
3.2 处理模块设计处理模块是数字系统的核心部分,负责对输入数据进行特定的处理。
在本实验中,我们选择设计一个简单的加法器作为处理模块。
具体设计步骤如下: 1. 定义输入数据的格式和表示方法。
2. 实现加法器的逻辑电路,可以通过使用逻辑门和触发器等基本组件来完成。
3. 设计加法器的控制电路,用于控制加法器的运算过程。
4. 验证加法器的正确性,可以通过给定一些输入数据进行测试。
3.3 输出模块设计输出模块用于将处理结果展示给用户。
在本实验中,我们选择使用显示器作为输出设备。
具体设计步骤如下: 1. 初始化输出设备,确保能够正确显示处理结果。
2. 设计输出缓冲区,用于存储待显示的数据。
3. 实现输出函数,将输出数据从输出缓冲区中传输到显示器上。
4. 实验实施4.1 输入模块实施根据3.1节中的设计步骤,我们首先初始化输入设备,然后设计输入缓冲区,并实现相应的输入函数。
4.2 处理模块实施根据3.2节中的设计步骤,我们定义输入数据的格式和表示方法,然后实现加法器的逻辑电路和控制电路。
LAB2实验报告2033
LAB2实验报告2033数字系统组成原理实验实验二运算器ALU181学号 1315212033姓名滕健伟班级电子信息2班华侨大学电子工程系一、算术逻辑运算实验一.实验目的1.了解简单运算器的数据传输通路。
2.验证运算功能发生器的组合功能。
3.掌握算术逻辑运算加、减、与的工作原理。
4.验证实验台运算的8 位加、减、与、直通功能。
5.按给定数据,完成几种指定的算术和逻辑运算。
二.实验内容实验原理算术逻辑单元ALU 的数据通路如图1-1 所示。
其中运算器ALU181 根据74LS181 的功能用VHDL 硬件描述语言编辑而成,构成8 位字长的ALU。
参加运算的两个8 位数据分别为A[7..0]和B[7..0],运算模式由S[3..0]的16 种组合决定,而S[3..0]的值由4 位2 进制计数器LPM_COUNTER 产生,计数时钟是Sclk;此外,设M=0,选择算术运算,M=1 为逻辑运算,CN 为低位的进位位;F[7..0]为输出结果,CO 为运算后的输出进位位。
两个8 位数据由总线IN[7..0]分别通过两个电平锁存器74373 锁入,ALU 功能如表1-1 所示。
选择端高电平作用数据S3S2S1S0M=H M=L算术操作逻辑功能Cn=L(无进位)Cn=H(有进位)0000F= A F= A F= A加10001F= A+ B F= A+ B F=(A+ B)加10010F= AB F= A+ B F= A+ B+10011F= 0 F= 减1(2的补码)F= 00100F= AB F= A加AB F= A加AB加10101F= B F=(A+ B)加AB F=(A+ B)加AB+10110F= A⊕ B F= A减B F= A减B减10111F= AB F= A+ B F= (A+ B)减11000F= A + B F= A加AB F= A加AB加11001 F = A⊕ B F= A加B F= A加B加11010F= B F=(A+ B)加AB F= (A+ B)加AB加11011F= AB F= AB F= AB减11100F= 1 F= A加A*F= A加A加11101F= A+ B F=(A+ B)加A F=(A+ B)加A加11110F= A+ B F=(A+ B)加A F=(A+ B)加A加11111F= A F= A F= A减1表1-1三.实验步骤(1)设计ALU 元件在Quartus II 环境下,用文本输入编辑器T ext Editor 输入ALU181.VHD 算术逻辑单元文件,编译VHDL文件,并将ALU181.VHD 文件制作成一个可调用的原理图元件。
数字系统综合设计实验报告
实验十二 数字系统综合设计一. 实验目的1.进一步提高独立分析问题和解决问题的能力。
2.掌握数字系统的分析和设计方法。
3.对数字集成电路的综合应用有进一步的认识和理解。
二. 设计题目:制作一个简易的电子秒表功能要求:(1) 具有两位数码显示。
分别显示1/10秒和秒计数。
(2) 有两个按键分别控制启动(开始计时)/停止和清零。
功能表如下:三、概述:要完成题目要求的电子秒表功能,系统应具有如下几部分电路:1、 定时电路;题目要求最小计时单位为1/10秒,即100ms 。
这部分电路必须能准确的产生周期为100ms (频率为10Hz )的时钟信号。
2、 计时电路:题目要求系统具有两位显示器,分别显示秒和1/10秒信号。
所以本系统应具有两个十进制计数器,分别对定时信号进行计数,以产生1/10秒和秒计数。
系统计数范围从0.0~9.9秒。
3、 显示译码驱动电路:将计数器的计数结果(BCD 码)通过译码器译成七段显示码并驱动LED 数码管显示出来。
4、 控制电路:根据题目要求,本电子秒表应具有两个按键。
其中一个控制秒表的启/停,本按键应有自锁功能,按一次启动计时,再按一次停止计时。
另一个按键控制清“0”,本按键不需自锁,按下时系统清“0”;放开时系统回复正常计时功能。
系统电路结构框图如图1所示。
图1 系统结构框图四、电路设计方案:1、定时电路:系统的定时电路要求产生周期为100ms的时钟信号。
根据我们学过的知识,此电路可由下述几种方案实现:方案1:用555定时器构成多谐振荡器。
定时器是电子秒表的核心,其作用是产生一个标准频率的脉冲信号。
振荡频率的精度和稳定度决定了秒表的质量。
图2采用集成电路555定时器与RC组成的多谐振荡器。
输出的脉冲频率为f S=1/[(R1+2R2)C1ln2],周期T=0.69(R1+2R2)C1。
若参数选择:R1= K 、R2= K欧姆,C1=4.7 uF时,可以得到100毫秒脉冲信号。
华工VHDL课程设计报告
VHDL综合设计实验报告多功能电子计时器学院电子与信息学院专业电子信息科学类评价等级姓名班级提交日期 2013 年 2 月 27 日数字系统课程设计一、学时与学分课内学时:2周学分:2.0二、教学目的与要求本课程设计是一实践性课程,要求学生用自顶向下的模块设计方法和VHDL语言完成一个小型数字系统的设计,并可用可编程逻辑器件实现。
三、教学安排1. 方案审核要求2~3个学生自拟一个数字系统设计课题,其难度不得低于一个具有校时、整点报时和闹时功能的数字钟。
不允许抄袭他人的课题与方案。
设计方案应包括:设计要求、详细框图、控制器流程图。
学生在规定时间内将设计方案与指导教师讨论,通过后方可进入下一阶段学习(方案讨论时间为15周3的课堂内)。
2. 设计与实现在微机和进阶实验板平台上完成,通过逻辑模拟和实验板平台功能验证。
(因实验室板子有限,请同学们尽量利用课余时间到实验室调试)3. 验收在进阶实验板上下载,由教师验收平分。
4. 完成一份设计报告四、评分标准1.比例:作品80%报告20%2. 从创新、思想、难度、设计成果的可靠性、合理性等方面综合评价。
王前2012年10月设计要求1. 本计时器存在电子时钟、定时器和秒表三种功能,并可以通过开关的选择,进行不同功能的切换。
2. 电子时钟包括:24时制的时间显示、日期显示、星期显示,并具有调时、整点报时和闹钟功能。
3. 定时器可以进行 0~9999秒的定时,中途可以暂停,继续和停止,定时结束会自动提醒。
4. 秒表要求最大精度为0.01s ,并且有暂停、继续、重置按钮进度安排和任务分工1. 任务分工确定方案模块及模块接口确定 任务分工 程序编写 各自仿真实现 整体调试 整体仿真 后期修改调整2. 进度安排按模块分工,以模块难易程度均匀分工,力保成员都能真正参与到设计中来,拒绝打酱油14周确定题目15周做题目报告期末前分工假期编写各自模块返校进去整合以及后期处理3.设计环境Quartus软件,基于EP2C5T144C8芯片的开发板。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Y : OUT std_logic_vector (7 downto 0)
);
END ENTITY;
---------------------------------------------------------
-- describe architecture
ARCHITECTURE yimaqi38_arch OF yimaqi38 IS --structure
-- include library
LIBRARY IEEE;
-- IEEE Library
-- include package
USE IEEE.std_logic_1164.ALL; -- use package
USE IEEE.std_logic_unsigned.all;
---------------------------------------------------------
when "001" => Y <= "10111111"; -- 6
when "000" => Y <= "01111111"; -- 7
when others => Y <= "XXXXXXXX";
end case;
ELSE
Y <= "11111111";
END IF; 4
END PROCESS; END ARCHITECTURE; ---------------------------------------------------------
7
-- LIUSHUIDENG
-- SHI XIAN LIU SHUI DENG GONG NENG
-- Quartus II version: Quartus II 9.0
-- Chen Yirong
-- 2017.11.24
---------------------------------------------------------
end if; END IF; END PROCESS; LED_OUT <= light; END behav; ---------------------------------------------------------
2.4 仿真结果
实体电路如下图:
(a) 分频器模块
(b) 流水灯模块
图 6 分频器和流水灯实体电路图
2.2 设计思路
设计分频器模块,其中分频采用计数器实现,它的输入输出框架见图 4。 5
图 4 分频器输入输出框架 分频器控制流水灯的整体框架见图 5。2.3 VH NhomakorabeaL 描述
图 5 分频器控制流水灯框架
用 Quartus II 9.0 设计分频器,代码如下:
---------------------------------------------------------
1.3 VHDL 描述
图 1 3-8 译码器输入输出框架
用 Quartus II 9.0 设计 3-8 译码器,代码如下:
---------------------------------------------------------
-- VHDL experience2
-- Quartus II version: Quartus II 9.0
-- include library
LIBRARY IEEE;
-- IEEE Library
-- include package
USE IEEE.std_logic_1164.ALL; -- use package
USE IEEE.std_logic_unsigned.all;
---------------------------------------------------------
实验二 组合逻辑、时序逻辑基本模块电路设计
地
点:
31 号 楼
312 房; 实验台号:
12
实验日期与时间: 2017 年 11 月 24 日
评 分:
预习检查纪录:
批改教师:
报告内容:
一、实验要求
完成 3-8 译码器的仿真实验设计,并且将编译好的程序生成可下载文件,将生成文 件通过 USB-blaster 为 FPGA 编程;
USE IEEE.std_logic_unsigned.all;
---------------------------------------------------------
3
-- introduce entity
ENTITY yimaqi38 IS
--shiti
PORT (
A,B,C,EN: IN std_logic; -- A,B,C is INPUT and EN is shinengduan
-- Chen Yirong
-- 2017.11.24
---------------------------------------------------------
-- include library
LIBRARY IEEE;
--IEEE Library
-- include package
USE IEEE.std_logic_1164.ALL; --use package
1
表 1 译码表
表 2 信号分配表
编号
信号名
信号说明
EP2C8Q208
1
50MHz
主时钟
Bank1_23_I
2
SW0
按下为低电平 Bank2_208_IO
3
SW1
按下为低电平 Bank2_198_IO
4
SW2
按下为低电平 Bank2_201_IO
5
SW3
按下为低电平 Bank2_199_IO
6
LED0
SIGNAL ABC : std_logic_vector(2 downto 0);
BEGIN
ABC <= A&B&C;
PROCESS(ABC,EN)
BEGIN
IF(EN='0') THEN -- when EN is low, ABC is valid input
case ABC is
when "111" => Y <= "11111110"; -- 0
PROCESS(clk) BEGIN
IF(rising_edge(clk)) then count<=count-1; --dijian if (count>=n/2) then Y<='0'; --fenpin else Y<='1'; end if; if (count<=0) then count<=n-1; end if;
-- describe architecture
ARCHITECTURE behav OF liushuideng IS --structure
SIGNAL light:std_logic_vector(7 DOWNTO 0); -- COUNTER
BEGIN
PROCESS(clk,rst_n)
BEGIN
1.4 仿真结果
实体电路如下图:
仿真波形如下图:
图 2 译码器实体电路图
2 分频器实验
图 3 3-8 译码器仿真结果
2.1 设计要求
1) 将 EDA 板上的系统时钟 50MHz 分频为 1Hz 的时钟信号 2) 占空比为 50% 3) 利用流水灯点亮程序,在 EDA 板上观察效果 4) 实体命名为 clkdiv_(班级号)_(班级序号)
END ENTITY; ---------------------------------------------------------- describe architecture ARCHITECTURE behav OF clkdiv_15dianzhuo_12 IS --structure SIGNAL count:integer RANGE n-1 DOWNTO 0:=n-1; -- COUNTER BEGIN
END IF; END PROCESS; END behav; --------------------------------------------------------用 Quartus II 9.0 设计流水灯电路模块,代码如下: ---------------------------------------------------------- VHDL experience2
-- introduce entity
ENTITY liushuideng is -- shiti
PORT( clk,rst_n:IN std_logic;
LED_OUT:OUT std_logic_vector(7 DOWNTO 0)
);
END ENTITY;
---------------------------------------------------------
-- introduce entity 6
ENTITY clkdiv_15dianzhuo_12 is -- shiti -- change n to change frequence GENERIC( n:integer :=50000000 ); -- leishucanshu PORT( clk:IN std_logic; Y:OUT std_logic);