搜索
bottom↓
回复: 7

请教如何使用2个VHDL文件来写程序?QUARTUS ,ALTERA,CPLD

[复制链接]

出0入0汤圆

发表于 2010-3-6 19:33:29 | 显示全部楼层 |阅读模式
用一个的话就是一个ENTITY,多个文件怎么搞啊?我添加了个新文件好像没加一样
谢谢达人。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-3-9 10:17:46 | 显示全部楼层
例如
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity A is       
               
architecture Behavioral of A is                       
begin       
                       
end Behavioral;
--------------------                                       
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity B is

architecture Behavioral of B is
begin

end Behavioral;
---------------
这两个可以放在一个文件中,也可以放在不同的文件中。放在不同的文件中要用Add source->

出0入0汤圆

 楼主| 发表于 2010-3-9 12:51:52 | 显示全部楼层
放在不同的文件中。放在不同的文件中要用Add source->

就是这么做的,但是好像只编译了一个文件,另一个没被编译......

出0入0汤圆

 楼主| 发表于 2010-3-11 16:58:40 | 显示全部楼层
up

出0入17汤圆

发表于 2010-3-11 17:31:42 | 显示全部楼层
以下需要仔细检查:
如2楼的模块是层次化结构:A是顶层模块,调用子模块B,那么在工程设定中需要指定Top-level entity为A,如果指定为B,则A不会被综合。

出0入0汤圆

发表于 2010-3-11 17:42:02 | 显示全部楼层
我抄的书上的例程,一个全加器,调用半加器和或门,希望对楼主有点参考。
--一位二进制全加器顶层设计描述
library ieee;
use ieee.std_logic_1164.all;
entity f_adder is
        port (ain,bin,cin        :        in std_logic;
                                cout,sum        :        out std_logic);
end entity f_adder;
architecture        fd1 of f_adder is
        component h_adder
                port ( a,b : in std_logic;
                        co,so : out std_logic);
        end component;
        component or2a
                port (a,b :in std_logic;
                        c : out std_logic);
        end component;
        signal d,e,f : std_logic;
                begin
                        u1        :        h_adder        port        map        (        a=>ain,        b=>bin,        co=>d,        so=>e);
                        u2        :        h_adder        port        map        (        a=>e,                b=>cin,        co=>f,        so=>sum);
                        u3        :        or2a        port        map        (        a=>d,                b=>f,                c=>cout);
end architecture fd1;

出0入0汤圆

发表于 2010-3-11 17:43:20 | 显示全部楼层
下面是两个分别的文件:半加器和或门
--半加器描述
library ieee;                                                                                               
use ieee.std_logic_1164.all;
entity h_adder is
        port(a,b:        in std_logic;
                        co,so:        out std_logic);
end entity h_adder;
architecture fh1 of h_adder is
                signal abc : std_logic_vector(1 downto 0);
        begin
                abc <= a&b;
        process (abc)
                begin
                        case abc is
                                when "00" =>
                                        so<='0';
                                        co<='0';
                                when "01" =>
                                        so<='1';
                                        co<='0';
                                when "10" =>
                                        so<='1';
                                        co<='0';
                                when "11" =>
                                        so<='1';
                                        co<='1';
                                when others =>
                                        null;
                        end case;
                end process;
        end architecture fh1;







或门


--或门逻辑描述
library ieee;                                                                                               
use ieee.std_logic_1164.all;
entity or2a is
        port(a,b:        in std_logic;
                                c        :        out std_logic);
end entity or2a;
architecture fh1 of or2a is
        begin
                c<=a or b;
end architecture fh1;

出0入0汤圆

发表于 2010-3-13 21:32:33 | 显示全部楼层
多个文件的话,需要利用组件。可以看一下相关的书籍。
和【5楼】 crom  说的差不多。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-11 00:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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