找回密码
 注册
关于网站域名变更的通知
查看: 327|回复: 1
打印 上一主题 下一主题

VHDL程序包问题 

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-12-3 09:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
VHDL程序包问题 $ n( s3 Z  M0 I
VHDL程序包里的过程和函数有声明有实现, 其他地方可以直接调用, 但是关于component为什么只能有元件声明, 而没有元件实现呢?
6 i# b7 l- |% z% |5 N这样别的程序包含这个程序包也不能使用这个元件了吧?  元件实现要在哪里写呢? 能举个例子
! j6 d! _; y+ ]7 j! K5 ?不知道这么写合不合规矩, 只是这样可以使用
& `7 C6 [% r( b+ j6 s& V* U--Filename                : ll_pkt.vhd
% v  F) W1 ^/ T; K  A" b--Author                : kalo
8 @" [$ J- y, i7 e--Description        : something for my own use) @5 _$ i) j2 m$ n( U

$ r& j" @8 A4 Z& i! ^1 r( |6 c/ V5 e
library IEEE;6 ^' g; A; J8 c9 {/ ~
use IEEE.std_logic_1164.all;. V' @% n- Y6 ^
6 ]  ^/ R" \4 T- R
package ll_pkt is4 R4 E% C% g" g* x) T( Q  i

) S# U0 i6 Z, }        -- A component for reset signal sync output% ]- e+ H# u4 P3 w) h
        component RST_SYNC                # K6 g" s4 ^. s% n& c
        port (
+ }$ N) V+ m9 \8 O                        Clk                : in std_logic;
! c( d" R% }3 }- o                        R_async        : in std_logic;
) o& n( D( `3 X" x8 D) {4 O8 }, b                        R_sync        : out std_logic
2 I8 a, @$ T9 B! e& z/ s. z+ t                );% U9 o0 A/ O3 |* R- r6 e
        end component;
, G' k/ Y6 q0 {$ _% [end ll_pkt;; u, j0 X+ M4 \, |2 o. `
        7 _! [  u) G/ z+ y! ~$ I( D. m! k% E. `
, L2 _& Q( D8 E* k9 K1 p. Y& N9 v
--------------------RST_SYNC----------------------------------
' p/ B# N0 l/ C5 d! D  zlibrary IEEE;
1 \6 [. K( r" D. o6 ^( \) N; Kuse IEEE.std_logic_1164.all;' H4 {/ e# _7 M4 ~$ K4 g- t6 p( z
7 Q9 g" M' @& `
entity RST_SYNC is ( w0 M- j) a3 h3 c
        port(1 \0 y( [1 b# M& o- S
                        Clk                : in std_logic;
1 }( C! p( M3 \4 W+ n0 B                        R_async        : in std_logic;
8 s4 _, ^1 y1 o; O/ j0 z) \                        R_sync        : out std_logic" A4 t  g1 H$ x5 F/ l
                );
, R+ l- ~# ]/ s, ]! X6 Iend RST_SYNC;, B, h; K, L5 w  O, O# _

3 Z4 d, r& ~1 Zarchitecture BEHAVIOR of RST_SYNC is
% a7 V( T3 _8 i; I: e        signal reg_L1 : std_logic;                --latch async reset signal level 1        
$ ^' |- l. A6 ^$ ~) Z+ `, ^3 i        signal reg_L2 : std_logic;                --latch async reset signal level 2& }* |& h. J2 w& W
begin
  H! A2 j* p+ x1 _, x+ s        R_sync <= reg_L2;                        --reset signal out8 y3 o  {# z! `  I/ E9 m9 k1 w6 E

0 V' n* Y9 `( e3 E: v3 w        Main : process(Clk, R_async). U2 r2 @7 ^& u/ }, K8 D) V& @2 i
        begin3 U7 e% M' D# X6 A
                if (R_async = '0') then" o; ^& ^* Z; k1 x
                        reg_L1 <= '0';
0 a+ t6 U9 u5 y                        reg_L2 <= '0';
, K5 m) B- R: w7 p+ ?                elsif (Clk'event and Clk = '1') then; U3 k! |1 Y: ^2 O2 C
                        reg_L1 <= '1';; t1 I1 D. ^. \# J, ?; S. W$ Z9 `
                        reg_L2 <= reg_L1;
% ^/ ~5 x7 I1 r                end if;/ N2 ]0 j  M3 E4 [' J& G
        end process;( R. C1 I% h0 G" Q3 j- o3 i; a- |' r
end BEHAVIOR;
3 ]- S8 Y  u! G2 }---------------------------------------------------------------* B2 x+ L  Y" w" O9 Y

& _5 ^6 I! c3 O, K) L& [
% z: D/ U, T- F5 P+ l+ {9 t+ _----------------------package body for other types--------------. s) w- f5 y) g
package body ll_pkt is ( `' U. a3 y6 Q, M1 J- U6 d2 V
        ----
5 f8 z2 ^& \3 [5 oend ll_pkt;
( g$ }2 W# ^- A% f
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-24 01:31 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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