clash-lib-1.10.0: prims/vhdl/Clash_Intel_DDR.primitives.yaml
- BlackBox:
name: Clash.Intel.DDR.altddioIn#
imports:
- altera_mf.altera_mf_components.all
kind: Declaration
libraries:
- altera_mf
type: |-
altddioIn#
:: forall deviceFamily n dom domDDR
. HasCallStack -- ARG[0]
=> KnownDomain dom -- ARG[1]
=> KnownDomain domDDR -- ARG[2]
=> DomPeriod ~ 2 * ... -- ARG[3]
=> DomEdge ~ Rising -- ARG[4]
=> KnownNat n -- ARG[5]
=> SSymbol deviceFamily -- ARG[6]
-> Clock dom -- ARG[7]
-> Reset dom -- ARG[8]
-> Enable dom -- ARG[9]
-> Signal domDDR (BitVector n) -- ARG[10]
-> Signal dom (BitVector n, BitVector n)
template: |-
-- altddioIn begin
~GENSYM[~COMPNAME_ALTDDIO_IN][0] : block
signal ~GENSYM[dataout_l][1] : ~TYP[10];
signal ~GENSYM[dataout_h][2] : ~TYP[10];~IF ~ISACTIVEENABLE[9] ~THEN
signal ~GENSYM[ce_logic][4]: std_logic;~ELSE ~FI
begin~IF ~ISACTIVEENABLE[9] ~THEN
~SYM[4] <= '1' when (~ARG[9]) else '0';~ELSE ~FI
~GENSYM[~COMPNAME_ALTDDIO_IN][7] : ALTDDIO_IN
GENERIC MAP (
intended_device_family => ~LIT[6],
invert_input_clocks => "OFF",
lpm_hint => "UNUSED",
lpm_type => "altddio_in",
power_up_high => "OFF",
width => ~SIZE[~TYP[10]]
)
PORT MAP (~IF ~ISSYNC[1] ~THEN
sclr => ~ARG[8],~ELSE
aclr => ~ARG[8],~FI
datain => ~ARG[10],~IF ~ISACTIVEENABLE[9] ~THEN
inclocken => ~SYM[4],~ELSE ~FI
inclock => ~ARG[7],
dataout_h => ~SYM[2],
dataout_l => ~SYM[1]
);
~RESULT <= (~SYM[1],~SYM[2]);
end block;
-- altddioIn end
- BlackBox:
name: Clash.Intel.DDR.altddioOut#
imports:
- altera_mf.altera_mf_components.all
kind: Declaration
libraries:
- altera_mf
type: |-
altddioOut#
:: forall deviceFamily n dom domDDR
. HasCallStack -- ARG[0]
=> KnownDomain dom -- ARG[1]
=> KnownDomain domDDR -- ARG[2]
=> DomPeriod ~ 2 * ... -- ARG[3]
=> DomEdge ~ Rising -- ARG[4]
=> KnownNat n -- ARG[5]
=> SSymbol deviceFamily -- ARG[6]
-> Clock dom -- ARG[7]
-> Reset dom -- ARG[8]
-> Enable dom -- ARG[9]
-> Signal dom (BitVector n) -- ARG[10]
-> Signal dom (BitVector n) -- ARG[11]
-> Signal domDDR (BitVector n)
template: |-
-- altddioOut begin
~GENSYM[~COMPNAME_ALTDDIO_OUT][0] : block ~IF ~ISACTIVEENABLE[9] ~THEN
signal ~GENSYM[ce_logic][1] : std_logic; ~ELSE ~FI
begin~IF ~ISACTIVEENABLE[9] ~THEN
~SYM[1] <= '1' when (~ARG[9]) else '0'; ~ELSE ~FI
~GENSYM[~COMPNAME_ALTDDIO_OUT][7] : ALTDDIO_OUT
GENERIC MAP (
extend_oe_disable => "OFF",
intended_device_family => ~LIT[6],
invert_output => "OFF",
lpm_hint => "UNUSED",
lpm_type => "altddio_out",
oe_reg => "UNREGISTERED",
power_up_high => "OFF",
width => ~SIZE[~TYPO]
)
PORT MAP (~IF ~ISSYNC[1] ~THEN
sclr => ~ARG[8],~ELSE
aclr => ~ARG[8],~FI ~IF ~ISACTIVEENABLE[9] ~THEN
outclocken => ~SYM[1],~ELSE ~FI
outclock => ~ARG[7],
datain_h => ~ARG[10],
datain_l => ~ARG[11],
dataout => ~RESULT
);
end block;
-- altddioOut end