小泡泡 发表于 2010-4-23 11:34:19

VHDL问题,帮忙解答!

本帖最后由 fpgaw 于 2010-10-29 09:38 编辑

本人初学VHDL,本程序在MAX+plusII中运行通过,通过COMPONENT语句及其例化语句调用自制器件
实验报告要求两个程序的y的端口名应保持一直(见红字),教材上在讲COMPONENT没有提到这一点,我的程序依然通过了,不很理解(是知道是不是MAX软件自身问题)。
特别是后两个红色字体的端口名在当第一个是buffer第二个为 out buffer均可,但第一个是OUT时第二个只能是OUT,why?
请高手讲解

程序如下:
----------fpq.vhd------------------
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY fpq IS
PORT(clk:IN STD_LOGIC;
   y:BUFFER STD_LOGIC);
END fpq;
ARCHITECTURE a OF fpq IS
BEGIN
p:PROCESS(clk)
BEGIN
IF(clk'EVENT AND clk='1') THEN
y<=NOT y;
END IF;
END PROCESS;
END a;


---------------call_fpq.vhd-----------
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY call_fpq IS
PORT(clk:IN STD_LOGIC;
   y:OUT STD_LOGIC);
END;
ARCHITECTURE a OF call_fpq IS
COMPONENT fpq IS
PORT(clk:IN STD_LOGIC;
   y:OUT STD_LOGIC);
END COMPONENT;
BEGIN
u1:fpq PORT MAP(clk,y);
END;

fpga_feixiang 发表于 2023-9-8 14:18:34

6                     
页: [1]
查看完整版本: VHDL问题,帮忙解答!