集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1822|回复: 4

VHDL菜鸟问题

[复制链接]
yhjbest11 发表于 2010-10-11 12:19:27 | 显示全部楼层 |阅读模式
architecture bahav of trans is
signal s1,s2,s3:std_logic_vector(7 downto 0);
begin
        process(s1,C,A,S)
        begin
        if S="00" then
                s1 <= C;
                else s1 <="ZZZZZZZZ";
                end if;
                A<=s1;
                end process;   
               
        process(s2,C,A,S)
        begin
        if S="01" then
                s2 <= A;
                else s2 <="ZZZZZZZZ";
                end if;
                C<=s2;
                end process;
               
        process(s3,C,B,S)
        begin
        if S="10" or S="11" then
                s3 <= B;
                else s3<="ZZZZZZZZ";
                end if;
                C<=s3;
                end process;
end bahav;
怎么理解其中的一个Process,
 楼主| yhjbest11 发表于 2010-10-11 13:48:58 | 显示全部楼层
各位大虾。求解
自己林 发表于 2010-10-11 15:08:23 | 显示全部楼层
这三个进程可以理解为同步执行的吧。。。
wyxj 发表于 2010-10-18 22:52:07 | 显示全部楼层
当进程的敏感信号表内元素发生变化,进程执行!注意信号在进程执行完才给赋值!三进程同步!也就是说在第一个进程中
if S="00" then
                s1 <= C;                             当s1=00时给s1赋值c
                else s1 <="ZZZZZZZZ";     否则s1为高阻态(s1是一个8位的标准逻辑位矢量的数据)
                end if;                                if结束
                A<=s1;                              将中间信号的值给a
                end process;                     进程结束
自己看看!s1,s2,s3为中间传递信号
liyujie 发表于 2010-10-19 09:07:48 | 显示全部楼层
同意楼上说法
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-26 02:00 , Processed in 0.059085 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表