下例是带异步清空的D触发器的U D P描述。
p r i m i t i v e D_Async_FF (Q, Clk, Clr, Data) ;
o u t p u t Q;
r e g Q;
i n p u t Clr, Data, Clk;
t a b l e
// Clk Clr Data Q (State) Q( n e x t
(01) 0 0 : ? : 0 ;
(01) 0 1 : ? : 1 ; 这两句是不是多此一举,底下的情况已经包括了吧
(0x) 0 1 : 1 : 1 ;
(0x) 0 0 : 0 : 0 ;
// 忽略时钟负边沿:
(?0) 0 ? : ? : - ;
(??) 1 ? : ? : 0 ;
? 1 ? : ? : 0; 这句和上面那句有啥区别?
e n d t a b l e
e n d p r i m i t i v e
r i m i t i v e D_Async_FF (Q, Clk, Clr, Data) ;<br>
o u t p u t Q;<br>
r e g Q;<br>
i n p u t Clr, Data, Clk;<br>
t a b l e<br>
// Clk Clr Data Q (State) Q( n e x t<br>
(01) 0 0 : ? : 0 ;<br>
(01) 0 1 : ? : 1 ; 这两句是不是多此一举,底下的情况已经包括了吧//不是多次一举,这两句表示clk上升沿<br>
(0x) 0 1 : 1 : 1 ;<br>
(0x) 0 0 : 0 : 0 ;<br>
// 忽略时钟负边沿:<br>
(?0) 0 ? : ? : - ;<br>
(??) 1 ? : ? : 0 ;<br>
? 1 ? : ? : 0; 这句和上面那句有啥区别?////这句的意思是复位,清零<br>
e n d t a b l e<br>
e n d p r i m i t i v e