奇偶校验器_奇偶校验设计程序

编程实验

72人已加入

描述

 

  程序很简单,但是可以引申到很多小的细节

  Library IEEE;

  Use IEEE.Std_logic_1164.All;

  Entity Parity Is

  Port (

  A: In STD_LOGIC_VECTOR (8 Downto 0);

  B: Out STD_LOGIC

  );

  End Parity;

  Architecture Parity_arch Of Parity Is

  Begin

  Process(A)

  Variable Even:std_logic;

  Begin

  Even:=''0'';

  For I In A''Range Loop

  If A(I)=''1'' Then

  Even:=Not Even;

  End If;

  End Loop;

  B<=Even;

  End Process;

  End Parity_arch;

  在这里用到了LOOP语句,在VHDL里有3种循环方式

  1:Loop...........2while Condition Loop........3for Identifier In Range Loop....

  LOOP的形式实现一个无限循环,可以提供跳出循环的方法,但用处不大

  第二种形式很有用,但退出循环的条件预先知道。1076。6RTL综合标准不支持While形式。

  最后一种形式是最有用的,我们可以用这种形式循环处理长度为N向量的每一位

  For I In 0 To N-1 Loop

  也可以采用 For I In A''Range Loop这种形式A''Range记取A的向量长度-1

  我们可以采用Synplify_pro综合一下,通过观察生成的RTL文件,我们可以了解LOOP语句生成的结构

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
评论(0)
发评论
ChromeHeartsHat 2014-11-19
0 回复 举报
收起回复

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分