华南理工大学数字系统设计实验2报告

合集下载

数字系统设计 实验二报告(计09-1班 姚伟 08093342)

数字系统设计 实验二报告(计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)调试:根据仿真结果,对代码进行修改和优化,直至系统功能满足要求。

华南理工大学-数学实验报告二

华南理工大学-数学实验报告二
n=1; %存放线段的数量,初始值为j=0;
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报告

华南理工大学数字系统设计实验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(曹老师)

华南理工大学数字信号处理实验报告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 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);
相关文档
最新文档