Add an ASCII drawing

This commit is contained in:
Eddie Hung 2019-09-12 18:13:46 -07:00
parent c52863f147
commit 734034a872
1 changed files with 22 additions and 3 deletions

View File

@ -48,12 +48,31 @@ endmodule
// With abc_map.v responsible for disconnecting inputs to // With abc_map.v responsible for disconnecting inputs to
// the combinatorial DSP48E1 model by a register (e.g. // the combinatorial DSP48E1 model by a register (e.g.
// disconnecting A when AREG, MREG or PREG is enabled) // disconnecting A when AREG, MREG or PREG is enabled)
// this mux captures the existence of a replacement path // this blackbox captures the existence of a replacement
// between AREG/BREG/CREG/etc. and P/PCOUT. // path between AREG/BREG/CREG/etc. and P/PCOUT.
// Since the Aq/ADq/Bq/etc. inputs are assumed to arrive at // Since the Aq/ADq/Bq/etc. inputs are assumed to arrive at
// the mux at zero time, the combinatorial delay through // the box at zero time, the combinatorial delay through
// these muxes thus represents the clock-to-q delay at // these muxes thus represents the clock-to-q delay at
// P/PCOUT. // P/PCOUT.
// Doing so should means that ABC is able to analyse the
// worst-case delay through to P.
// However, the true value of being as complete as this is
// questionable since if AREG=1 and BREG=0 (as below)
// then the worse-case path would very likely be through B
// and very unlikely to be through AREG.Q...?
//
// In graphical form:
//
// NEW "PI" >>---+
// for AREG.Q |
// |
// +---------+ | __
// A --X X-| | +--| \
// | DSP48E1 |P | |--- P
// | AREG=1 |-------|__/
// B ------| |
// +---------+
//
(* abc_box_id=2100 *) (* abc_box_id=2100 *)
module \$__ABC_DSP48E1_MULT_P_MUX (input Aq, ADq, Bq, Cq, Dq, Mq, input [47:0] P, input Pq, output [47:0] O); module \$__ABC_DSP48E1_MULT_P_MUX (input Aq, ADq, Bq, Cq, Dq, Mq, input [47:0] P, input Pq, output [47:0] O);
endmodule endmodule