北理工VHDL实验报告.doc

上传人:飞****9 文档编号:137789888 上传时间:2020-07-12 格式:DOC 页数:24 大小:1.14MB
返回 下载 相关 举报
北理工VHDL实验报告.doc_第1页
第1页 / 共24页
北理工VHDL实验报告.doc_第2页
第2页 / 共24页
北理工VHDL实验报告.doc_第3页
第3页 / 共24页
北理工VHDL实验报告.doc_第4页
第4页 / 共24页
北理工VHDL实验报告.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《北理工VHDL实验报告.doc》由会员分享,可在线阅读,更多相关《北理工VHDL实验报告.doc(24页珍藏版)》请在金锄头文库上搜索。

1、 本科实验报告实验名称: VHDL语言及集成电路设计实验 课程名称:VHDL语言及集成电路设计实验时间:2014.5任课教师:桂小琰实验地点:4-427实验教师:任仕伟实验类型: 原理验证 综合设计 自主创新学生姓名:学号/班级:组 号:学 院:信息与电子学院同组搭档:专 业:电子科学与技术成 绩:实验一:带有异步复位端的D触发器一、实验目的(1)熟悉linux操作环境和modelsim软件环境(2)理解时序逻辑和组合逻辑电路的区别(3)理解并行语句和顺序语句(4)用VHDL语言编写一个带有异步复位端的D触发器及其测试文件二、实验原理(1)组合逻辑和时序逻辑组合逻辑电路当前输出的值仅取决于当前

2、的输入,不需要触发器等具有存储能力的逻辑单元,仅仅使用组合逻辑门时序逻辑电路的当前输出不仅取决于当前的输入,还与以前的输入有关,这类电路中包括寄存器等元件,也包括组合逻辑电路,寄存器通过一个反馈环和组合逻辑模块相连。触发器便是属于时序逻辑电路(2)并行和顺序代码从本质上讲,VHDL代码是并发执行的。只有PROCESS,FUNCTION或PROCEDURE内的代码才是顺序执行的。当它们作为一个整体时,与其他模块之间又是并发执行的。以下是3个并发描述语句(stat1,stat2和stat3)的代码,会产生同样的电路结构。stat1 stat3 stat1stat2 = stat2 = stat3

3、= 其他排列顺序stat3 stat1 stat2(3)并行语句进程(PROCESS) 语法结构:进程名: PROCESS (敏感信号列表)变量说明语句BEGIN(顺序执行的代码)END PROCESS 进程名; PROCESS 的特点1多进程之间是并行执行的;2进程结构内部的所有语句都是顺序执行的;3进程中可访问结构体或实体中所定义的信号;4进程的启动是由敏感信号列表所标明的信号来触发,也可以用WAIT语句等待一个触发条件的成立。5各进程之间的通信是由信号来传递的。(4)带有异步复位端的D触发器 电路符号 功能表RDCPQ0xx01x0保持1x1保持10上升沿011上升沿1三、实验代码LIB

4、RARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff ISPORT(d,clk,rst:IN STD_LOGIC; q:OUT STD_LOGIC);END dff; ARCHITECTURE behavior OF dff IS BEGIN PROCESS(rst,clk) BEGIN IF(rst=1) THEN q=0; ELSIF(clkEVENT AND clk=1) THEN qd,clk=clk,rst=rst,q=q); clk_gen:process begin clk=0; wait for clk_period/2; clk=1

5、; wait for clk_period/2; end process; d_gen:process begin wait for 100 ns; d=1; wait for 100 ns; d=0; end process; rst_gen:process begin rst=1; wait for 150 ns; rst=0; wait for 500 ns; rst=1; wait for 150 ns; wait; end process;end tb_behavior;四、仿真结果实验二 步进电机控制器一、实验目的(1)理解两种状态机的区别(2)熟悉两种编程风格(3)编写BCD计数

6、器和步进电机二、实验原理(1)米里型状态机和摩尔型状态机米里(Mealy)型状态机:状态机的输出信号不仅与电路的当前状态有关,还与当前的输入有关摩尔(Moore)型状态机:状态机的当前输出仅仅由当前状态决定(2)有限状态机设计流程:1 理解问题背景。2 逻辑抽象,得出状态转移图。3 状态简化。4 状态分配。5 用VHDL来描述有限状态机。(3)BCD计数器原理图(4)步进电机控制器原理图步进电机状态与输出信号的对应关系状态输出状态S0S1S2S30001001001001000三、实验代码(1)BCD计数器library ieee;use ieee.std_logic_1164.all;ent

7、ity counter is port(clk,rst:in std_logic;count:out std_logic_vector(3 downto 0);end counter;architecture state_machine of counter istype state is(zero,one,two,three,four,five,six,seven,eight,nine);signal pr_state,nx_state:state;begin process (rst,clk) begin if(rst=1)then pr_state count =0000; nx_sta

8、te count =0001; nx_state count =0010; nx_state count =0011; nx_state count =0100; nx_state count =0101; nx_state count =0110; nx_state count =0111; nx_state count =1000; nx_state count =1001; nx_state = zero; end case; end process; end state_machine; (2)步进电机控制器library ieee;use ieee.std_logic_1164.al

9、l;entity stepmotor is port(clk,rst,x:in std_logic;output:out std_logic_vector(3 downto 0);end stepmotor;architecture state_machine of stepmotor istype state is(s0,s1,s2,s3);signal pr_state,nx_state:state;begin process (clk,rst) begin if(rst=1)then pr_state=s0; elsif(clk event and clk =1)then pr_state output =0001; nx_state output =0010; nx_state output =0100; nx_state output =1000; nx_state output =0001; nx_state = s1;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号