基于VHDL语言的八位时序奇偶校验器的设计
时间:2025-07-11
时间:2025-07-11
本文介绍了数据传输中经常用到的校验方法——奇偶校验。给出了串行通信校验需要的八位时序奇偶校验器的VHDL设计原理。并利用Altcra公司的Max+PlusⅡ集成设计环境完成了该校验器的VHDL源代码输入和仿真测试。
维普资讯 http://
科技信息, 0计算机与网络信息技术O
S IN E I F R TO CE C N O MA I N
20 06年第 1期
基于 V D语言的八位时序奇偶校验器的设计 HL曹永建俎美杰济南 20 1 ) 5 04 (山东师范大学传播学院山东摘要:文介绍了数据传输中经常用到的校验方法——奇偶校验。出了串行通信校验需要的八往时序奇偶校验器的 VH本给 DL设计原理。 井利用 Alr公司的 Ma+ lsI ta e x Pu I集成设计环境完成了该校验器的 VHDL泺代码输入和仿真测试。 关键词:偶校验;字逻辑电路设计; HDL语言; x+ lsI奇数 V Ma Pu I
一
、
引言
近年来。D E A技术获得了 1毛速发展。相比之下,传统电路设计应用分立元件或通用数字电路芯片没计周期长,费大,且往往局部花而功能优化,体功能较差。E A技术足以计算机为平台 .据硬件描整 D根述语言能自动地完成逻辑编译、简分割、合和及优化,局布线 .化综布
仿真直至对特定目标芯片的适配编译.逻辑映射和编程下载等工作。
本设计的主要程序代码如下: 以自顶向下的设计方法,硬件设计软件化,脱了传统手工设计的 e t yu d t s使摆 ni p aei t (,1 2s,,。,。。, O s B,, s s 8 s s s s。 0 B 3 4 56 7 89 l众多缺点。随着 E A技术的深人发展,于硬件描述语言的方法将有 D基 e ty u d t s ni p aei t取代传统手工设计方法的趋势。本文就是采用硬件描述语言 V L设 HD计了一款简单易用的八位时序奇偶校验器。 二、偶校验原理奇在数据传输过程中,由于受到噪声干扰或传输中断等因素的影响
s11, 3 1) l。 2 1。4; s s ssg a in ln x t t:tt; e Lsa es a e廿 gn e l
prcokrst: t—oi ot l, e,i s l c ( c e an d g;b:u t lgc o tsd oi;—
pr s n s ae, ee t t t—
w mig u i; a n: t t o b)e d e t yu d t; n n i p ae t a
c ie tr s o p mei rhtcue am fu d stp t t s y e s ae i
容易使接收到的数据出现误码。 r为能及时可靠地把数据传输给对方并有效地检测错误,传输时有必要进行校验,奇偶校验是常用的在而一
i tr e (stl ks fsp csr ec c) r: o s e,o ib gn e i i rst 1 te f e e= , hn i= 0 te fa h nn x t t< s; e t sa e= 4 b a<=:
种检错码。
p e e t sa e=s; rs n~ t t< O e sfrsn li ii g_
奇偶校验码是一种通过增加冗余位使得码字中””个数恒为奇 1的数或偶数的编码方法。其局限性是只能检测出奇数个错误 .由于其但简单方便。数据传输的差错控制上仍然得到广泛的使用。以前的奇在偶校验器太多采用通用逻辑元器件进行设计。致了设计和调试过程导冗长、统稳定性不高,常不便。如今,着以 F G和 C L为代系非随 PA PD表的可编程 A I SC技术的日趋成熟和完善。用户可以完全根据自己的需要 . E A技术作为开发手段。一块 F GA或 C L以 D用 P P D设计出符合自已需要的芯片。
eg (o k t n de l )h c c e
p e e t sa e= n x— t t; rs n_ tt< e t sa e
e di n£ e d p o e sfrt n rc s is; sc n:rc s pe e ts a e e o dpo e s r sn t t,_
es lene t x—
sae= 3 tt< s; b 8<=: e di n
as ) i bg en iwa n n<= 0; rig c s r s n sa e i a e p e e t tt s
( 3 4s,,,,,l, s,, s B s s sO s 56789
尽管当前已经有很多针对奇偶校验的可编程逻辑芯片的设计,但几乎都是针对并行输入数据进行校验 .很少是针对串行通信的。本文设计的的八位时序奇偶校验器完全满足了串行奇偶校验的需要。三、设计的原理、态图和程序代码本状
s11 l, 2的状态转换同上 ) swh ns 3 e l;>i= 0 fa te hnne
x t_
w e O> h ns- i= 0 t e fa h nne xt—
sa e ̄ O t t<.; s es le
sa e=s; t t< 1
本设计采用的是偶校验。个时钟输人一个新的数据位。数据分每
b=:< a
wan n< r r ig=
;
组成 8位的包,前七位是要校验的数据,第八位是奇偶校验位。如果校验到错误的奇偶位,么就会置位一个错误信号。那 设计实体名称为 U D T P A E,设置有三个输人信号,分别为: C O K、E E AoC O K信号用来产生时钟信号, E E L C R S T、 L C R S T信号是异步置位信号,用以置初始状态 s, O A信号用以输人数据。设置两个输出 信号,分别是: w rig B信号用来表示校 B,ann。验完后除去校验位的数据。Wa ig信号用 n rn
es lene xt—
n x_sae -s; e t t t<- O
sae=s tt< 2;b=a<:
ed n
wh ns 4 e 1=>
e d i n f;
i= 0 te fa h nwanig= 1; r n< nex s ae=s 0 t tt< 1;_
wh n s;> e li fane xt—
0 te hn sa e= 3; tt< s
来表示错误信号,初始值为 0图形符号如图。所示:
es len x t t< s O; e t sa e= 1
b=:< a es lenex t_
e di n sae s; tt<= 4 e dc s; n ae e d po e ss c n; n rc s e o d e d ac i cu eam; n r ht tr s e
-
传统设计多采用逻辑运算的形式判断奇偶位,占用了较多的系统资源。设计采用状态机的形式实现 .以大大节省占用系统的资源 .本可 从而提高了系统资源的利用率。本设计分为两个进程 .程 fs用来进 it r
b=二< a
e d i; n fwh n s=> e 2
描述时序状态的变化,进程 s od e n用来描述组合逻辑状态的变化。我 c们设一个初始状态 8, o然后在每个数据位到来时,都设置两个状态, 一个表 …… 此处隐藏:1378字,全部文档内容请下载后查看。喜欢就下载吧 ……