奇偶校验器
2012-06-02
标签: 奇偶校验

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

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...........2whileconditionloop........3for identifier in range loop....

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

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

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

foriin0to n-1 loop

也可以采用for i in a'range loop这种形式a'range记取a的向量长度-1

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

可能会用到的工具/仪表
相关文章
推荐文章
热门文章
章节目录
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号