;***************************************************
;* (C)Copyright by NTT DATA Corp.1994(unpublished) *
;*                        All rights are reserved. *
;***************************************************

(def-module regs-1 power 19 area 3.3 gates 11

	(def-pin in      type input  load 0.14)
	(def-pin clk_enb type input  load 0.14)
	(def-pin m_clock type input  load 0.12 note clock)
	(def-pin s_clock type unused)
	(def-pin p_reset type input  load 0.17)
	(def-pin out     type output load 0.089)
	(def-pin nout    type output load 0.21)

	(def-symbol REGISTER in clk_enb m_clock s_clock p_reset out nout)

	(def-logic out (free_reg
			(or (and clk_enb in) (and ^clk_enb out)) 1)
	)
	(def-logic ^nout out)

	(def-function out   (reg_ws-1 m_clock p_reset clk_enb in))
	(def-function ^nout (reg_ws-1 m_clock p_reset clk_enb in))

	(def-delay /m_clock /out  (+ 2.0 (* 1.8 ~out)))
	(def-delay /m_clock /nout (+ 1.6 (* 1.8 ~nout)))

	(def-constraint in_setup  (- (+ /m_clock ?cycle) /in      1.7) type setup)
	(def-constraint enb_setup (- (+ /m_clock ?cycle) /clk_enb 1.3) type setup)
	(def-constraint prs_setup (- (+ /m_clock ?cycle) /p_reset 1.1) type setup)

	(def-constraint in_hold   (- /in      /m_clock 0   ) type hold)
	(def-constraint enb_hold  (- /clk_enb /m_clock 0.38) type hold)
	(def-constraint prs_hold  (- /p_reset /m_clock 1.7 ) type hold)

	(def-constraint freq  (- ?cycle 12))

	(def-constraint drive (- 0 ~out)  type max)
	(def-constraint drive (- 0 ~nout) type max)
)
