当前位置:
文档之家› 北理VHDL硬件描述语言实验(四次全)
北理VHDL硬件描述语言实验(四次全)
四、仿真结果及说明
实验仿真的图形如下
从激励文件可以看出,时钟是周期为 50ns 的方波,而复位端 rst 的信号设置为前 150ns 为高电平,接下来 150ns 为低电平,之后均为高电平。 D 触发器的 VHDL 语言中明确指出
也就是说,复位信号 rst 高有效,在激励文件中,rst=’0’时,复位端无效,D 触发器正常 工作。 在仿真图形中可以看到,在复位端无效的 150ns 中,每一次时钟的上升沿到来,输出 q
本科实验报告
实验名称: VHDL 硬件描述语言实验
课程名称: 任课教师: 实验教师: 学生姓名: 学号/班级: 学 专 院: 业:
VHDL 硬件描述语言
实验时间: 实验地点:
□ 原理验证 实验类型: ■ 综合设计 □ 自主创新
组
号:
同组搭档: 成 绩:
目
录
D 触发器的设计与实现........................................................................................................................... 1 一、实验目的 .................................................................................................................................. 1 二、实验内容 .................................................................................................................................. 1 三、D 触发器的设计....................................................................................................................... 1 四、仿真结果及说明....................................................................................................................... 3 五、实验心得与体会....................................................................................................................... 4 步进电机控制器 ...................................................................................................................................... 5 一、实验目的 .................................................................................................................................. 5 二、状态机练习:BCD 计数器 ..................................................................................................... 5 三、步进电机控制器....................................................................................................................... 8 四、实验心得与体会..................................................................................................................... 11 16 位超前进位加法器............................................................................................................................ 12 一、实验目的 ................................................................................................................................ 12 二、设计 4 位超前进位加法器..................................................................................................... 12 三、16 位加法器的设计................................................................................................................ 14 四、仿真结果及说明..................................................................................................................... 16 五、实验心得与体会..................................................................................................................... 16 选择运算器 ............................................................................................................................................ 17 一、实验目的 ................................................................................................................................ 17 二、实验内容 ................................................................................................................................ 17 三、实验代码 ................................................................................................................................ 19 四、仿真结果及说明..................................................................................................................... 27 五、实验心得与体会..................................................................................................................... 28
1. linux 基本操作 · 登陆后,桌面右键“open terminal”,输入命令“vsim”打开 Modelsim 软件; · 右键“open terminal”,输入命令“gftp”,出现窗口,进行登录连接主机向 ftp 上传文 件。 2. Modelsim 基本操作流程 建立工程 创建文件 编写程序 保存并编译 仿真 3.设计编写 D 触发器
三、D 触发器的设计
1.设计说明 带有异步复位端的 D 触发器如图所示
真值表如下 d 0 1 clk ↑ ↑ ↓ rst 1 0 0 0 q 0 0 1 Qn-1
1
该触发器有 3 个输入端口,分别为 d、clk、rst,输出为 q(可能还有 q’) ,功能描述如 下: 复位信号无效时,遇到一个上升沿,输出 q 等于输入信号 d; 复位信号有效时,输出 q 置‘0’。 也就是说,复位信号 rst 应当优于时钟信号 clk 与输入信号 d 进行考虑,在编写代码时 需要首先判断复位信号的值。 2. 实验代码 1)D 触发器的 VHDL 描述 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY dff IS PORT (clk,d,rst:IN STD_LOGIC; q:OUT STD_LOGIC); END ENTITY dff; ARCHITECTURE behave OF dff IS BEGIN PROCESS (rst,clk) BEGIN IF (rst='1') THEN q<='0'; ELSIF (clk'EVENT AND clk='1') THEN q<=d; END IF; END PROCESS; END ARCHITECTURE behave; 2)D 触发器程序的 testbench 激励文件 LIBRARY IEEE; use IEEE.STD_LOGIC_1164.ALL; ENTITY dff_tb IS END ENTITY dff_tb; ARCHITECTURE behave OF dff_tb IS COMPONENT dff IS PORT(d,clk,rst:IN STD_LOGIC; q:OUT STD_LOGIC); END COMPONENT dff; CONSTANT clk_period:TIME:=50 ns; SIGNAL d,clk,rst,q:STD_LOGIC; BEGIN dut:dff PORT MAP(d,clk,rst,q);