| # 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 |
| |