农业工程学院课程设计说明书
第五章 总结
经过两周的学习,我对于自己的设计有了进一步的了解。首先我针对自己的题目我先查询了课本,初步对自己的题目有关的知识有一定的了解,接着我在网上查询和下载了数据选择器和奇偶校验器的相关资料。根据这些资料和老师提出的设计要求,我有了一定的想法,结合课本,我首先写出程序,在经过编译,但在编译的过程中出现了不少的错误,所以又一个一个找错误直到最终没错误,通过编译。接着要仿真,仿真也用不少心思,直到完成。
通过这次课程设计,我们对EDA的程序设计方法,对VHDL的语言都有了更深刻的认识,同时也把所学的书本知识和实践相联系了起来,并通过实践,建立起了学习EDA的浓厚兴趣。。团结协作是我们实验成功的一项非常重要的保证。在实验过程中,我们对EDA的设计平台max+plusⅡ有了熟练的使用,掌握了本次设计所用的EDA试验箱用法,为以后更好的学习EDA打下了基础。我们还通过这次课程设计,我意识到了我对这门课掌握还有一定的不足,还有许多的知识是我们不了解的;有的则是一知半解;有的即使原理懂了,但在应用方面却是丝毫不知。所以在今后的学习中,我会更加努力,不仅要学好理论知识,还要把它应用到实践中去,使两者很好的结合起来,互补互助。
- 16 -
农业工程学院课程设计说明书
参考文献
[1] 江国强编著. EDA技术与实用(第三版). 北京:电子工业出版社,2011. [2] 曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版,2006.5 [3] 阎石主编.数字电子技术基础.北京:高等教育出版社,2003.
[4] Mark Zwolinski. Digital System Design with VHDL.北京:电子工业出版社,2008
[5] Alan B. Marcovitz Introduction to logic Design.北京:电子工业出版社,2003
- 17 -
农业工程学院课程设计说明书
附录
奇偶校验器全部程序
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity update is
port(clock,reset ,odd_eve:in std_logic;
a :in std_logic_vector(7 downto 0); success:out std_logic;
disp:out std_logic_vector(39 downto 0)); end;
architecture asm of update is type state is
( s0,st,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16);
signal present_state,next_state:state; begin
first:process(clock,reset) begin
if reset='1' then present_state<=s0;
elsif rising_edge(clock)then present_state<=next_state; end if; end process;
second:process(present_state,a,odd_eve)is begin
if odd_eve='1' then 进入偶校验模式的条件 success<='0';
case present_state is when
s0=>disp<=\
if a='0' then next_state<=st; else
next_state<=st; end if; when
st=>disp<=\
if a='0' then
next_state<=s1; else next_state<=s2;
- 18 -
农业工程学院课程设计说明书
end if; when
s1=>disp<=\
if a='0' then
next_state<=s3; else
next_state<=s4; end if; when
s2=>disp<=\
if a='0' then
next_state<=s4; else
next_state<=s3; end if; when
s3=>disp<=\
if a='0' then
next_state<=s5; else
next_state<=s6; end if; when
s4=>disp<=\
if a='0' then
next_state<=s6; else
next_state<=s5; end if; when
s5=>disp<=\
if a='0' then
next_state<=s7; else
next_state<=s8; end if; when
s6=>disp<=\
if a='0' then
next_state<=s8; else
next_state<=s7; end if; when
- 19 -
农业工程学院课程设计说明书
s7=>disp<=\
if a='0' then
next_state<=s9; else
next_state<=s10; end if; when
s8=>disp<=\
if a='0' then
next_state<=s10; else
next_state<=s9; end if; when
s9=>disp<=\
if a='0' then
next_state<=s11; else
next_state<=s12; end if; when
s10=>disp<=\
if a='0' then
next_state<=s12; else
next_state<=s11; end if; when
s11=>disp<=\
if a='0' then
next_state<=s13; else
next_state<=s14; end if; when
s12=>disp<=\
if a='0' then
next_state<=s14; else
next_state<=s13; end if; when
s13=>disp<=\
if a='0' then
- 20 -