资源描述
成 绩 评 定 表
学生姓名
班级学号
专 业
通信工程
课程设计
题目
四位二进制减法(缺1011,1100,1101,1110)
评
语
组长签字:
成绩
日期
20 年 月 日
课程设计任务书
学 院
信息科学与工程
专 业
通信工程
学生姓名
班级学号
课程设计题目
四位二进制减法(缺1011,1100,1101,1110)
实践教学要求与任务:
1. 了解教学系统设计方法。
2. 熟悉Xillinx ISE环境。
3. 熟悉Multisim环境。
4. 设计实现四位二进制减法(缺1011,1100,1101,1110)。
工作计划与进度安排:
第一周 熟悉熟悉Xillinx ISE和Multisim环境,练习数字系统设计方法。
第二周
1)在ISE环境中仿真实现四位二进制减法(缺1011,1100,1101,1110),并下载到FPGA目标芯片上。
2)在Multisim环境中仿真实现四位二进制减法(缺1011,1100,1101,1110)并通过虚拟仪器验证其正确性。
指导教师:
201 年 月 日
专业负责人:
201 年 月 日
学院教学副院长:
201 年 月 日
- 20 -
目录
一、课程设计的目的 - 4 -
二、设计的总体框图 - 4 -
三、 实现过程 - 4 -
1、VHDL程序实现 - 4 -
1.1建立工程 - 4 -
1.2VHDL源程序 - 6 -
1.3编译及波形仿真 - 8 -
1.4引脚锁定与下载 - 12 -
2.4仿真结果分析 - 16 -
2.multisim电路实现过程 - 16 -
2.1设计原理 - 16 -
2.2multisim设计电路 - 18 -
2.4仿真结果分析 - 19 -
四、设计的总结与体会 - 20 -
五、参考文献 - 20 -
一、课程设计的目的
1. 了解教学系统设计方法。
2. 熟悉Xillinx ISE环境。
3. 熟悉Multisim环境。
4. 设计实现四位二进制减法(缺1011,1100,1101,1110)。
二、设计的总体框图
由题目可知,无效状态为0011,.0100,0101,0110根据二进制递减计数的规律,可看出状态图如图2.1所示。
1111 /0 1010 /0 1001 /0 1000 /0 0111 /0 0110 /0 0101
/1 /0
0000 /0 0001 /0 0010 /0 0011 /0 0100
图1 状态图
三、 实现过程
1、VHDL程序实现
1.1建立工程
File——〉New Project;Project Name:工程名:cn2; Project Location:工程保存的位置F:1003060301\cn);next——>……——>next直至finish。
1.2VHDL源程序
右击xc95108-15pc84,选New Source,再选VHDL Module后,填加文件名cn2——〉next( Port Name中随便填c)——〉finish。
写入程序,保存程序
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity yingzi is
PORT (cp,r:IN STD_LOGIC;
q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0) );
end yingzi;
ARCHITECTURE Behavioral OF yingzi IS
SIGNAL count:STD_LOGIC_VECTOR(3 DOWNTO 0) ;
BEGIN
PROCESS (cp,r)
BEGIN
if r='0' then count<="1111";
elsiF cp'EVENT AND cp='1' THEN
if count="1111" THEN
count <="1010";
ELSE count <= count -1;
END IF;
end if;
END PROCESS;
q<=not count;
end Behavioral;
1.3编译及波形仿真
双击Implement Design(或右键Run),运行程序,调试成功显示如下
综合通过后,回到vi.vhd界面,建立波形仿真文件进行观察,在ISE软件左侧右键点击cn2 - Behavioral Source,选择New Source,在弹出的对话框中选择Test bench waveform,键入波形图文件名,一路Next直到弹出对话框,将Initial length of test bench 设为4000以便于观察仿真结果,其他的可以用默认值。点击Finish.
左侧Sources for 栏内选择Behavioral Simulation,选择t1 ,打开Processes下的Xilinx ISE Simulator如图
点击Simulate Behavioral Model(或右键RUN)运行仿真波形,如下
1.4引脚锁定与下载
左上侧Source for选项中选择Synthesis/Implementation,左下侧Processes——〉User Constraints——〉Assign Package Pins分配引脚:Cp-key13,r-sw1,q3-L1,q2-L2,q1-L3,q0-L4。点击保存,OK。
回到ISE :Processes——〉Implement Design——〉Optional Implementation Tools——〉双击Lock Pins锁定引脚.
Processes——〉Implement Design——〉双击Generate Programming File——〉Configure Device(iMPACT),默认JTAG,finishi,v1.jed ——〉Open..
右键点绿——〉Progaram——〉OK,结束下载。(调试时sw向上是1;灯亮为1)
2.4仿真结果分析
下载到芯片上后,根据锁定的引脚,key13为cp,sw向上是0(on);灯亮为0,先将灯复位,全灭,再按key13观察输出状态,摁一下key13减一个数,中间正好缺1011,1100,1101,1110。
2.multisim电路实现过程
2.1设计原理
1.状态图
由题目可知,无效状态为0011,.0100,0101,0110根据二进制递减计数的规律,可看出状态图如图2.1所示。
1111 /0 1010 /0 1001 /0 1000 /0 0111 /0 0110 /0 0101
/1 /0
0000 /0 0001 /0 0010 /0 0011 /0 0100
图2.1 状态图
2.选择触发器
选用由于JK触发器功能齐全、使用灵活,在这里选用4个CP上升沿触发的边沿JK触发器。
3.求时钟方程、状态方程
(1) 求时钟方程
采用同步方案,故取CP0=CP1=CP2=CP3=CP。CP是整个要设计的时序电路的输入时钟脉冲。
(2) 求状态方程
由图2.1所示状态图可直接画出如图2.3所示电路次态的卡诺图,再分解开便可以得到如图2.4所示各触发器的卡诺图。
00
01
11
10
00
1111
0000
0010
0001
01
0011
0100
0010
0101
11
xxxx
xxxx
1110
xxxx
10
0111
1000
xxxx
1001
图2.3 次态的卡诺图
根据卡诺图得到:
4.求驱动方程
JK触发器的特性方程为
与特性方程对应,可得
式(1)
2.2multisim设计电路
根据所选用的触发器和时钟方程、输出方程、驱动方程,便可以画出如图2.5所示的逻辑电路图。
图2.2 逻辑电路图
2.3虚拟观察的波形
图2.5 逻辑分析仪
2.4仿真结果分析
将无效状态1011、1100、1101、1110代入式(1)进行计算,结果如下:
1011 1010(有效状态)
1100 0011(有效状态)
1110 1101 1000(有效状态)
可见,所设计的时序电路能够自启动。
四、设计的总结与体会
通过此次课程设计,发现自己还有许多不足之处:在画卡诺图求次态方程的时候不够仔细,导致在multisim虚拟电路结果错误,操作部够熟练,将在以后多多练习和更加仔细做题,进一步提高。
五、参考文献
[1]余孟尝.数字电子技术基础简明教程.第三版.高等教育出版社,2012。6
[2]张丽萍 王向磊.数字逻辑实验指导书.沈阳理工大学信息学院,2012.6
展开阅读全文