打印

VHDL程序问题请教

[复制链接]
1638|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
guwu|  楼主 | 2010-2-19 22:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序段如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY andn IS
   GENERIC(n:INTEGER);
   PORT(a:IN STD_LOGIC_VECTER(n-1 DOWNTO 0);
            c:OUT STD_LOGIC);
END andn;
ARCHITECTURE behav OF andn IS
BEGIN
      PROCESS(a)
      VARIABLE int: STD_LOGIC;
      BEGIN
           int:='1';
FOR I IN a'LENGTH-1 DOWNTO 0 LOOP
               IF a(i)='0'THEN int:='0';
               END IF;
           END LOOP;
           c<=int;
      END PROCESS;
END behav;
程序段中下划线处不明白:哪位哥哥姐姐帮忙解释以下,十分感谢

相关帖子

沙发
shen8103| | 2010-2-20 01:18 | 只看该作者
int初始为1
循环变量I在范围a的长度减一到0间循环
只要输入信号a中有一位为0,则变量赋值0
输出变量int

总结起来就是判断输入信号组是否全1,全1则输出1,有一个0就输出0

使用特权

评论回复
板凳
guwu|  楼主 | 2010-2-20 14:40 | 只看该作者
本帖最后由 guwu 于 2010-2-20 19:46 编辑

明白了,十分感谢,顺便在问一个问题,程序如下,目的就是将一片芯片串进电路中,将输入端口的信号传给输出端口。
ENTITY zuoye IS
PORT
(
     a,clk  :IN BIT;
     b        :OUT BIT
);
END zuoye;

ARCHITECTURE shuchu OF zuoye IS
   BEGIN
      IF( clk'EVENT AND CLK='1' ) THEN b<=a ;
      END IF;
END SHUCHU;
编译时出现错误,但是将IF语句放到进程中,则可以通过编译,是IF语句不能在结构体中当作并行语句么?

在编辑仿针波形文件后发现输出b端口的信号是时钟上升沿到达前一时刻a口的信号值,并且有几纳秒延时,如何能够当时钟和输入信号同时到达时,输出口跟随输入口信号?
感谢各位的帮忙
另外各位哥哥姐姐对VHDL学习有什么心得,还请多多指点,十分感谢

使用特权

评论回复
地板
shen8103| | 2010-2-23 05:08 | 只看该作者
你没有process的么?。。。

输入到输出怎么可能没有延迟呢?肯定有的。

作业还是自己做吧,仔细多看看书上的例子。

使用特权

评论回复
5
guwu|  楼主 | 2010-2-23 12:39 | 只看该作者
你没有process的么?。。。

输入到输出怎么可能没有延迟呢?肯定有的。

作业还是自己做吧,仔细多看看书上的例子。
shen8103 发表于 2010-2-23 05:08

就是想问一下如果没有process,而只有一个IF语句的结构体,是不是可以?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

81

主题

308

帖子

1

粉丝