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

VHDL程序包问题 

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
VHDL程序包问题 % Z) d" J) Z- ]8 r/ B3 f
VHDL程序包里的过程和函数有声明有实现, 其他地方可以直接调用, 但是关于component为什么只能有元件声明, 而没有元件实现呢?
0 F* L9 @- ~: ^# h  g1 a这样别的程序包含这个程序包也不能使用这个元件了吧?  元件实现要在哪里写呢? 能举个例子
- T$ X, f3 O7 S5 i! J1 t不知道这么写合不合规矩, 只是这样可以使用) F) B1 F( ?, p6 B8 N& L" b
--Filename                : ll_pkt.vhd9 v) x. @0 ?2 K
--Author                : kalo( z0 U2 v0 f8 v/ i* D; p# B) V0 {
--Description        : something for my own use
) ~# B8 u( o/ a% k- N2 D% N
; `' {8 X- ~! H1 i' b8 o& W. }/ F8 p
library IEEE;7 r, P7 X, o7 {! _9 G' _, G, L
use IEEE.std_logic_1164.all;% A  t, H, a; W5 b  g
# D5 r! _% V  q
package ll_pkt is2 E6 t% ~& ~5 u3 W, _! P! }  @
' b. {. ^0 ~4 d2 n9 _
        -- A component for reset signal sync output
0 h8 D. B% e' |1 ?  p        component RST_SYNC               
7 F2 O  a  \" C1 B- w/ s+ z        port (4 V# r/ s! h/ u( R3 b
                        Clk                : in std_logic;
% ]* ^* t9 e" N' T! q! M- |& x. [" g6 A                        R_async        : in std_logic;8 N; ]7 s5 D+ p0 K
                        R_sync        : out std_logic
6 ~, c& H/ N; D% e0 W                );% U0 y2 ?) n4 O
        end component;, c2 L  g$ F( M! b& ^: l
end ll_pkt;
& d/ [$ _* e# A% o        : b3 l/ B# R* ^6 Q

4 J1 T( A4 J2 E1 ~--------------------RST_SYNC----------------------------------6 ^+ l, n; }% @" A0 b2 S
library IEEE;
. K! a% b1 R4 c( Fuse IEEE.std_logic_1164.all;- x. S6 W/ [: [

* x- s. a4 E2 B8 M7 f/ Ventity RST_SYNC is 1 V& w6 w( q7 x* ]
        port(7 y5 ~- `0 a8 c3 D) T
                        Clk                : in std_logic;
7 x0 t( f7 b6 ^( @2 q1 _                        R_async        : in std_logic;
% C- P5 r; H7 H+ g                        R_sync        : out std_logic( A  E5 O0 h: R4 ]+ ]4 Q# f
                );# B: s1 q8 I; W1 N9 P
end RST_SYNC;
* j0 s+ z6 t- x- g' Q3 M* |& [5 G5 W% B% `( m8 [  g6 [. M8 f" O
architecture BEHAVIOR of RST_SYNC is ! P( U" O4 |7 B: f5 h, O& N
        signal reg_L1 : std_logic;                --latch async reset signal level 1        
2 b2 |& g7 z3 y' a2 O        signal reg_L2 : std_logic;                --latch async reset signal level 2
. J# D# G" I1 K* p6 D" H+ O: c! ybegin% T0 V4 y0 ?, U9 [
        R_sync <= reg_L2;                        --reset signal out7 j, P% {! i/ G" a/ |2 A

; }# K- `9 r) ^# }        Main : process(Clk, R_async)$ s3 z4 A8 Z- o3 P5 m( Q
        begin
1 k, G1 A, d' @                if (R_async = '0') then
& I+ `9 o4 ~0 M                        reg_L1 <= '0';
* f5 G( M) _( V" F                        reg_L2 <= '0';
- @3 |0 e+ c7 p                elsif (Clk'event and Clk = '1') then1 w2 L$ O2 y, F4 j7 }7 b5 E
                        reg_L1 <= '1';
4 w6 v+ _: S; z$ O9 u8 b                        reg_L2 <= reg_L1;
- H- J7 u+ U) {" `) S- E                end if;
" Y+ Q% A0 z/ |1 {( a: G) p0 I        end process;
% M* b( h( |7 o4 z" R8 tend BEHAVIOR;
, n1 T  {  J, ?---------------------------------------------------------------
, D4 Z& I& J1 ~+ R
* A- I1 i% ^5 b; u4 i  \" ^! D9 U1 K7 i% ]) z, f  ]: j
----------------------package body for other types--------------9 L7 d$ V) o. l3 {6 P
package body ll_pkt is " ]. J* C, f$ T# P
        ----# S% ^' G1 w8 ^
end ll_pkt;
" d! O  `/ P5 i+ R/ K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-23 21:06 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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