- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字系统设计实验---除法器实验
深 圳 大 学 实 验 报 告
课程名称: 数字系统设计
实验项目名称: 除法器的设计
学院: 信息工程学院
专业: 电子信息工程
指导教师:
报告人: 学号:2009100000 班级: 1班
实验时间: 2011-12-10
实验报告提交时间: 2011-12-22
教务处制
一、实验目的与要求:
实验目的:
掌握触除法器的原理和设计。
熟悉VHDL状态机的设计。
学会分析波形图。
实验要求:
一个除法器的被除数为8位,除数为5位,商为3位。
1. 用算法状态机画出系统的所有状态变化;
2. 输出和整理VHDL源代码;
3. 输出和整理电路结构图;
4. 输出和整理仿真波形图; 二、实验原理
这次设计的除法器由减法器、比较器、控制器和被除数寄存器组成,而结果放于被除数的最低位,由于本除法器实现的是八位除以五位商得三位,所以除法在被执行前必须先判断其商是否会溢出,如果产生溢出,则被除数后三位不足以存放商,所以除法不能被执行,接着采用被除数左移的方法,依次减去除数,判断减法结果,如果结果大于0,则把商的其中一位赋值为1,否则移位,直到移位三次后运算结束。最后进行仿真验证实验的正确性。
1、设计原理图:本图参考课本
2、状态转换图:
St/Load C’Sh C/Su
C/V
C’/Sh
C’/Su C’/Sh C/Su
三、实验内容与步骤
1、VHDL代码的编写:
--------------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.all;
---------------------------------------------------------------------------------------
entity div_test is
Port ( Clk,St: in std_logic;
div_Ad : in STD_LOGIC_VECTOR (7 downto 0);--被除数
div_Bd : in STD_LOGIC_VECTOR (4 downto 0);--除数
V:out STD_LOGIC; --V判断是否溢出
K:out STD_LOGIC; --K重低电平到高电平时输出商
output : out STD_LOGIC_VECTOR (2 downto 0);--商
outputA : out STD_LOGIC_VECTOR (8 downto 0));--验证商与被除数共用一个寄存器
end div_test;
architecture Behavioral of div_test is
signal Ad:std_logic_vector(8 downto 0);--中间信号
signal Bd:std_logic_vector(4 downto 0);--中间信号
signal state:integer range 0 to 4; --五种状态
signal C:std_logic ; --移位或相减的信号判断
begin
process(Clk,St)
begin
if Clkevent and Clk=1then
case state is
when 0 = --状态S0
if St=1 then--赋值操作
Ad(8 downto 0) = 0
文档评论(0)