|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Altera推荐的带异步清零,使能的D触发器的写法' [6 ] [* ?, K. ~& _1 D
module dff_control(clk, aclr, aload, ena, data, adata, q);
1 s i% {7 L: u8 d" N; Q5 v# _4 t, l, iinput clk, aclr, aload, ena, data, adata;
& P$ g0 E8 k! ]* H/ o2 toutput q;' _6 T$ [' e5 e9 m( U0 z" f% I0 L
reg q;
$ N0 l" T$ V+ I1 ]always @ (posedge clk or posedge aclr or posedge aload)9 l0 R: E5 @ k0 J
begin
2 n( ]" E- `& G6 Cif (aclr)
' [0 E: X9 B! O+ z6 u. W1 G* Dq <= 1'b0;
! M$ i% D0 e; ]& Z! O, q! r4 relse if (aload)7 K$ w1 a1 j; I0 |; B
q <= adata;
9 G7 H% I8 X5 c; P3 F$ belse if (ena)4 n: ~2 @5 z4 F, N4 z
q <= data;
" M; L' x. O6 R; z7 z' Yend+ r8 s% {* L- a1 f" M, ]
endmodul
% z3 t0 z( X+ e1 w+ o1 g2 k+ a' R: B( C4 X# \. s9 |+ B
1 Q6 @: }1 V7 X, F' d2 e) X$ ~) V$ s* q9 d( V* m
LIBRARY ieee;
# N- z& O. u% gUSE ieee.std_logic_1164.all;
* e3 }' B! a5 k j& w+ W% h( u. CENTITY dff_control IS; e% Z1 b# a" I `
PORT (
( x: N# ]+ ^& y3 Zclk: IN STD_LOGIC;
9 `7 @3 F9 K! \) d- saclr: IN STD_LOGIC;
9 [1 z8 H" m# [1 A, Paload: IN STD_LOGIC;
/ ^1 B$ n ]5 `6 k" K! dadata: IN STD_LOGIC;+ c( d& V5 Q" `
ena: IN STD_LOGIC;" P" d& r, H" R1 F( a, k
data: IN STD_LOGIC;/ ^: O) t' ~+ y m
q: OUT STD_LOGIC, b& B4 U2 e% l$ W% k8 V" P
);- a) f+ S3 E6 U" q, v6 Q) y
END dff_control;
0 H9 N' Q$ p9 r1 r8 q' r- L( |6 l4 b0 j" u- v a0 p
ARCHITECTURE rtl OF dff_control IS
6 k: l; ]; s$ J7 X* FBEGIN: `7 r: k5 ~# h
PROCESS (clk, aclr, aload, adata)0 P3 l/ w. K% V- }( N
BEGIN
7 _3 F4 g/ q/ K- L3 X, U) \: pIF (aclr = '1') THEN
2 Q4 N# d; k: ?( h9 |8 v0 p# Bq <= '0';
- [; H. H! a4 ?) p4 N- Q7 ?ELSIF (aload = '1') THEN( N9 s7 i" h* {& r2 {
q <= adata;9 s" o. C+ ~6 |1 X
ELSE# ^* t. ` w4 R5 I. f
IF (clk = '1' AND clk'event) THEN
* F2 u* V2 s3 ?IF (ena ='1') THEN7 E/ R" Y/ y. G' J ?
q <= data;3 s$ v! d3 {* C& l f
END IF;, ~+ E1 S! @; y
END IF;
9 [2 F- O- O$ k3 u* Y3 p1 lEND IF;+ l! r. n! T* ?9 H; m5 [
END PROCESS;- Z( b8 ]6 ?3 x7 l `' _# s
END rtl; |
|
$ K* b2 x0 |6 V- @+ o' u |
|