基于VHDL语言的八位时序奇偶校验器的设计

时间: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字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于VHDL语言的八位时序奇偶校验器的设计.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219