blob: 7d35b845608d77894fab13296711f05816420a9f [file]
# Copyright (C) 2020-2022 The SymbiFlow Authors.
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier:ISC
dsp MULT9X9 MULT18X18 MULT18X36 MULT36X36
port A
clk CLK 0
rst RSTA 0
ena CEA 1
set REGINPUTA=REGISTER
map GSR=GSR
endport
port B
clk CLK 0
rst RSTB 0
ena CEB 1
set REGINPUTB=REGISTER
map GSR=GSR
endport
port Z
clk CLK 0
rst RSTOUT 0
ena CEOUT 1
set REGOUTPUT=REGISTER
map GSR=GSR
endport
enddsp
dsp MULTPREADD9X9 MULTPREADD18X18 MULTADDSUB18X18 MULTADDSUB36X36
port A
clk CLK 0
rst RSTA 0
ena CEA 1
set REGINPUTA=REGISTER
map GSR=GSR
endport
port B
clk CLK 0
rst RSTB 0
ena CEB 1
set REGINPUTB=REGISTER
map GSR=GSR
endport
port C
clk CLK 0
rst RSTC 0
ena CEC 1
set REGINPUTC=REGISTER
map GSR=GSR
endport
port Z
clk CLK 0
rst RSTOUT 0
ena CEOUT 1
set REGOUTPUT=REGISTER
map GSR=GSR
endport
enddsp
# TODO: Uncomment when support for multiple port registers controlled by
# a common parameter is added:
#dsp MULTADDSUB9X9WIDE
# port A0
# clk CLK 0
# rst RSTA0A1 0
# ena CEA0A1 1
#
# set REGINPUTAB0=REGISTER
# map GSR=GSR
# endport
# port A1
# clk CLK 0
# rst RSTA0A1 0
# ena CEA0A1 1
#
# set REGINPUTAB1=REGISTER
# map GSR=GSR
# endport
# port A2
# clk CLK 0
# rst RSTA2A3 0
# ena CEA2A3 1
#
# set REGINPUTAB2=REGISTER
# map GSR=GSR
# endport
# port A3
# clk CLK 0
# rst RSTA2A3 0
# ena CEA2A3 1
#
# set REGINPUTAB3=REGISTER
# map GSR=GSR
# endport
# port B0
# clk CLK 0
# rst RSTB0B1 0
# ena CEB0B1 1
#
# set REGINPUTAB0=REGISTER
# map GSR=GSR
# endport
# port B1
# clk CLK 0
# rst RSTB0B1 0
# ena CEB0B1 1
#
# set REGINPUTAB1=REGISTER
# map GSR=GSR
# endport
# port B2
# clk CLK 0
# rst RSTB2B3 0
# ena CEB2B3 1
#
# set REGINPUTAB2=REGISTER
# map GSR=GSR
# endport
# port B3
# clk CLK 0
# rst RSTB2B3 0
# ena CEB2B3 1
#
# set REGINPUTAB3=REGISTER
# map GSR=GSR
# endport
# port C
# clk CLK 0
# rst RSTC0
# ena CEC 1
#
# set REGINPUTC=REGISTER
# map GSR=GSR
# endport
# port Z
# clk CLK 0
# rst RSTOUT 0
# ena CEOUT 1
#
# set REGOUTPUT=REGISTER
# map GSR=GSR
# endport
#enddsp
ff FD1P3DX
clk CK
rst CD
ena SP
d D
q Q
match GSR
set RESETMODE=ASYNC
endff
ff FD1P3IX
clk CK
rst CD
ena SP
d D
q Q
match GSR
set RESETMODE=SYNC
endff