《用VHDL设计奇偶校验器.docx》由会员分享,可在线阅读,更多相关《用VHDL设计奇偶校验器.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、用VHDL设计奇偶校验器本例为对八位输入数据和其奇偶校验位进行校验,输出正确的奇偶校验位。IN_READY输入表示输入已准备好;OUT_REQ输入表示输出请求;CLK输入表示输入时钟;当OUT_READY输出表示输出准备好,能够为下级电路使用;源代码如下:packagetypesissubtypeshortisintegerrange0to255;endtypes;usework.types.all;entityparityisport(CLK:inbit;IN0,IN1,IN2,IN3,IN4,IN5,IN6,IN7:inbit;EVEN_IN,ODD_IN:inbit;IN_READY:i
2、nbit;OUT_REQ:inbit;OUT_READY:outbit;EVEN_OUT:outbit;ODD_OUT:outbit;);endparity;architecturealgorithmofparityisbeginprocessvariablecond:boolean:=true;variablecount:short;beginwaituntil(CLKeventandCLK=1andIN_READY=1);if(EVEN_IN=ODD_IN)then-奇偶校验预判定cond:=false;endif;count:=0;ifIN0=1thencount:=count+1;en
3、dif;ifIN1=1thencount:=count+1;endif;ifIN2=1thencount:=count+1;endif;ifIN3=1thencount:=count+1;endif;ifIN4=1thencount:=count+1;endif;ifIN5=1thencount:=count+1;endif;ifIN6=1thencount:=count+1;endif;ifIN7=1thencount:=count+1;endif;-判定输入数据中1的个数的奇偶whilecount1loopcount:=count-2;endloop;-判定奇偶校验位的正确性ifcount=1andODD_IN=0thencond:=false;endif;ifcount=0andEVEN_IN=0thencond:=false;endif;-输出奇偶校验位ifcount=1thenEVEN_OUT