yowasp-yosys 0.44.0.0.post760__py3-none-any.whl → 0.46.0.0.post790__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. yowasp_yosys/share/gowin/cells_sim.v +150 -0
  2. yowasp_yosys/share/gowin/cells_xtra.v +0 -3
  3. yowasp_yosys/share/include/frontends/ast/ast.h +3 -0
  4. yowasp_yosys/share/include/kernel/celltypes.h +3 -3
  5. yowasp_yosys/share/include/kernel/constids.inc +1 -0
  6. yowasp_yosys/share/include/kernel/drivertools.h +1332 -0
  7. yowasp_yosys/share/include/kernel/ff.h +4 -2
  8. yowasp_yosys/share/include/kernel/hashlib.h +32 -0
  9. yowasp_yosys/share/include/kernel/log.h +2 -0
  10. yowasp_yosys/share/include/kernel/mem.h +109 -0
  11. yowasp_yosys/share/include/kernel/rtlil.h +24 -1
  12. yowasp_yosys/share/include/kernel/sexpr.h +122 -0
  13. yowasp_yosys/share/include/kernel/utils.h +9 -0
  14. yowasp_yosys/share/include/kernel/yosys_common.h +2 -0
  15. yowasp_yosys/share/nanoxplore/arith_map.v +76 -0
  16. yowasp_yosys/share/nanoxplore/brams.txt +50 -0
  17. yowasp_yosys/share/nanoxplore/brams_init.vh +23 -0
  18. yowasp_yosys/share/nanoxplore/brams_map.v +84 -0
  19. yowasp_yosys/share/nanoxplore/cells_bb.v +127 -0
  20. yowasp_yosys/share/nanoxplore/cells_bb_l.v +2156 -0
  21. yowasp_yosys/share/nanoxplore/cells_bb_m.v +1527 -0
  22. yowasp_yosys/share/nanoxplore/cells_bb_u.v +2758 -0
  23. yowasp_yosys/share/nanoxplore/cells_map.v +95 -0
  24. yowasp_yosys/share/nanoxplore/cells_sim.v +421 -0
  25. yowasp_yosys/share/nanoxplore/cells_sim_l.v +0 -0
  26. yowasp_yosys/share/nanoxplore/cells_sim_m.v +0 -0
  27. yowasp_yosys/share/nanoxplore/cells_sim_u.v +306 -0
  28. yowasp_yosys/share/nanoxplore/cells_wrap.v +201 -0
  29. yowasp_yosys/share/nanoxplore/cells_wrap_l.v +1713 -0
  30. yowasp_yosys/share/nanoxplore/cells_wrap_m.v +1501 -0
  31. yowasp_yosys/share/nanoxplore/cells_wrap_u.v +3506 -0
  32. yowasp_yosys/share/nanoxplore/io_map.v +15 -0
  33. yowasp_yosys/share/nanoxplore/latches_map.v +11 -0
  34. yowasp_yosys/share/nanoxplore/rf_init.vh +17 -0
  35. yowasp_yosys/share/nanoxplore/rf_rams_l.txt +15 -0
  36. yowasp_yosys/share/nanoxplore/rf_rams_m.txt +15 -0
  37. yowasp_yosys/share/nanoxplore/rf_rams_map_l.v +30 -0
  38. yowasp_yosys/share/nanoxplore/rf_rams_map_m.v +30 -0
  39. yowasp_yosys/share/nanoxplore/rf_rams_map_u.v +345 -0
  40. yowasp_yosys/share/nanoxplore/rf_rams_u.txt +66 -0
  41. yowasp_yosys/share/python3/sby_core.py +1 -0
  42. yowasp_yosys/share/python3/sby_design.py +18 -24
  43. yowasp_yosys/share/python3/sby_engine_aiger.py +39 -3
  44. yowasp_yosys/share/python3/sby_engine_smtbmc.py +16 -8
  45. yowasp_yosys/share/quicklogic/qlf_k6n10f/bram_types_sim.v +1 -1
  46. yowasp_yosys/share/simlib.v +180 -1
  47. yowasp_yosys/share/techmap.v +2 -1
  48. yowasp_yosys/smtbmc.py +19 -8
  49. yowasp_yosys/yosys.wasm +0 -0
  50. {yowasp_yosys-0.44.0.0.post760.dist-info → yowasp_yosys-0.46.0.0.post790.dist-info}/METADATA +1 -1
  51. {yowasp_yosys-0.44.0.0.post760.dist-info → yowasp_yosys-0.46.0.0.post790.dist-info}/RECORD +54 -26
  52. {yowasp_yosys-0.44.0.0.post760.dist-info → yowasp_yosys-0.46.0.0.post790.dist-info}/WHEEL +0 -0
  53. {yowasp_yosys-0.44.0.0.post760.dist-info → yowasp_yosys-0.46.0.0.post790.dist-info}/entry_points.txt +0 -0
  54. {yowasp_yosys-0.44.0.0.post760.dist-info → yowasp_yosys-0.46.0.0.post790.dist-info}/top_level.txt +0 -0
@@ -618,6 +618,21 @@ module OSER4(D3, D2, D1, D0, TX1, TX0, FCLK, PCLK, RESET, Q1, Q0);
618
618
  parameter HWL = "false";
619
619
  endmodule
620
620
 
621
+ module OSER4_MEM (Q0, Q1, D0, D1, D2, D3, TX0, TX1, PCLK, FCLK, TCLK, RESET) ;
622
+ parameter GSREN = "";
623
+ parameter LSREN = "";
624
+ parameter HWL = "";
625
+ parameter TCLK_SOURCE = "";
626
+ parameter TXCLK_POL = "";
627
+
628
+ input D0, D1, D2, D3;
629
+ input TX0, TX1;
630
+ input PCLK, FCLK, TCLK, RESET;
631
+ output Q0, Q1;
632
+
633
+ parameter ID = "";
634
+ endmodule
635
+
621
636
  module OSER8(D7, D6, D5, D4, D3, D2, D1, D0, TX3, TX2, TX1, TX0, FCLK, PCLK, RESET, Q1, Q0);
622
637
  output Q1;
623
638
  output Q0;
@@ -729,6 +744,21 @@ RESET, CALIB, D);
729
744
  parameter LSREN = "true";
730
745
  endmodule
731
746
 
747
+ module IDES4_MEM (Q0, Q1, Q2, Q3, D, WADDR,
748
+ RADDR, CALIB, PCLK, FCLK, ICLK, RESET) ;
749
+ parameter GSREN = "";
750
+ parameter LSREN = "";
751
+
752
+ input D, ICLK, FCLK, PCLK;
753
+ input [2:0] WADDR;
754
+ input [2:0] RADDR;
755
+ input CALIB, RESET;
756
+
757
+ output Q0,Q1,Q2,Q3;
758
+
759
+ parameter ID = "";
760
+ endmodule
761
+
732
762
  module IDES8(Q7, Q6, Q5, Q4, Q3, Q2, Q1, Q0, FCLK, PCLK,
733
763
  RESET, CALIB, D);
734
764
  input D;
@@ -842,6 +872,28 @@ module IDDRC(D, CLK, CLEAR, Q0, Q1);
842
872
  parameter Q1_INIT = 1'b0;
843
873
  endmodule
844
874
 
875
+ module DQS(DQSR90, DQSW0, DQSW270, RPOINT, WPOINT, RVALID, RBURST, RFLAG,
876
+ WFLAG, DQSIN, DLLSTEP, WSTEP, READ, RLOADN, RMOVE, RDIR, WLOADN, WMOVE, WDIR,
877
+ HOLD, RCLKSEL, PCLK, FCLK, RESET) ;
878
+ input DQSIN,PCLK,FCLK,RESET;
879
+ input [3:0] READ;
880
+ input [2:0] RCLKSEL;
881
+ input [7:0] DLLSTEP;
882
+ input [7:0] WSTEP;
883
+ input RLOADN, RMOVE, RDIR, WLOADN, WMOVE, WDIR, HOLD;
884
+
885
+ output DQSR90, DQSW0, DQSW270;
886
+ output [2:0] RPOINT, WPOINT;
887
+ output RVALID,RBURST, RFLAG, WFLAG;
888
+
889
+ parameter FIFO_MODE_SEL = "";
890
+ parameter RD_PNTR = "";
891
+ parameter DQS_MODE = "";
892
+ parameter HWL = "";
893
+ parameter GSREN = "";
894
+ parameter ID = "";
895
+ endmodule
896
+
845
897
  (* blackbox *)
846
898
  module ODDR(D0, D1, TX, CLK, Q0, Q1);
847
899
  input D0;
@@ -1914,5 +1966,103 @@ output CLKOUT;
1914
1966
  parameter DCS_MODE = "RISING";
1915
1967
  endmodule
1916
1968
 
1969
+ (* blackbox *)
1970
+ module EMCU (
1971
+ input FCLK,
1972
+ input PORESETN,
1973
+ input SYSRESETN,
1974
+ input RTCSRCCLK,
1975
+ output [15:0] IOEXPOUTPUTO,
1976
+ output [15:0] IOEXPOUTPUTENO,
1977
+ input [15:0] IOEXPINPUTI,
1978
+ output UART0TXDO,
1979
+ output UART1TXDO,
1980
+ output UART0BAUDTICK,
1981
+ output UART1BAUDTICK,
1982
+ input UART0RXDI,
1983
+ input UART1RXDI,
1984
+ output INTMONITOR,
1985
+ output MTXHRESETN,
1986
+ output [12:0] SRAM0ADDR,
1987
+ output [3:0] SRAM0WREN,
1988
+ output [31:0] SRAM0WDATA,
1989
+ output SRAM0CS,
1990
+ input [31:0] SRAM0RDATA,
1991
+ output TARGFLASH0HSEL,
1992
+ output [28:0] TARGFLASH0HADDR,
1993
+ output [1:0] TARGFLASH0HTRANS,
1994
+ output [2:0] TARGFLASH0HSIZE,
1995
+ output [2:0] TARGFLASH0HBURST,
1996
+ output TARGFLASH0HREADYMUX,
1997
+ input [31:0] TARGFLASH0HRDATA,
1998
+ input [2:0] TARGFLASH0HRUSER,
1999
+ input TARGFLASH0HRESP,
2000
+ input TARGFLASH0EXRESP,
2001
+ input TARGFLASH0HREADYOUT,
2002
+ output TARGEXP0HSEL,
2003
+ output [31:0] TARGEXP0HADDR,
2004
+ output [1:0] TARGEXP0HTRANS,
2005
+ output TARGEXP0HWRITE,
2006
+ output [2:0] TARGEXP0HSIZE,
2007
+ output [2:0] TARGEXP0HBURST,
2008
+ output [3:0] TARGEXP0HPROT,
2009
+ output [1:0] TARGEXP0MEMATTR,
2010
+ output TARGEXP0EXREQ,
2011
+ output [3:0] TARGEXP0HMASTER,
2012
+ output [31:0] TARGEXP0HWDATA,
2013
+ output TARGEXP0HMASTLOCK,
2014
+ output TARGEXP0HREADYMUX,
2015
+ output TARGEXP0HAUSER,
2016
+ output [3:0] TARGEXP0HWUSER,
2017
+ input [31:0] TARGEXP0HRDATA,
2018
+ input TARGEXP0HREADYOUT,
2019
+ input TARGEXP0HRESP,
2020
+ input TARGEXP0EXRESP,
2021
+ input [2:0] TARGEXP0HRUSER,
2022
+ output [31:0] INITEXP0HRDATA,
2023
+ output INITEXP0HREADY,
2024
+ output INITEXP0HRESP,
2025
+ output INITEXP0EXRESP,
2026
+ output [2:0] INITEXP0HRUSER,
2027
+ input INITEXP0HSEL,
2028
+ input [31:0] INITEXP0HADDR,
2029
+ input [1:0] INITEXP0HTRANS,
2030
+ input INITEXP0HWRITE,
2031
+ input [2:0] INITEXP0HSIZE,
2032
+ input [2:0] INITEXP0HBURST,
2033
+ input [3:0] INITEXP0HPROT,
2034
+ input [1:0] INITEXP0MEMATTR,
2035
+ input INITEXP0EXREQ,
2036
+ input [3:0] INITEXP0HMASTER,
2037
+ input [31:0] INITEXP0HWDATA,
2038
+ input INITEXP0HMASTLOCK,
2039
+ input INITEXP0HAUSER,
2040
+ input [3:0] INITEXP0HWUSER,
2041
+ output [3:0] APBTARGEXP2PSTRB,
2042
+ output [2:0] APBTARGEXP2PPROT,
2043
+ output APBTARGEXP2PSEL,
2044
+ output APBTARGEXP2PENABLE,
2045
+ output [11:0] APBTARGEXP2PADDR,
2046
+ output APBTARGEXP2PWRITE,
2047
+ output [31:0] APBTARGEXP2PWDATA,
2048
+ input [31:0] APBTARGEXP2PRDATA,
2049
+ input APBTARGEXP2PREADY,
2050
+ input APBTARGEXP2PSLVERR,
2051
+ input [3:0] MTXREMAP,
2052
+ output DAPTDO,
2053
+ output DAPJTAGNSW,
2054
+ output DAPNTDOEN,
2055
+ input DAPSWDITMS,
2056
+ input DAPTDI,
2057
+ input DAPNTRST,
2058
+ input DAPSWCLKTCK,
2059
+ output [3:0] TPIUTRACEDATA,
2060
+ output TPIUTRACECLK,
2061
+ input [4:0] GPINT,
2062
+ input FLASHERR,
2063
+ input FLASHINT
2064
+
2065
+ );
2066
+ endmodule
1917
2067
 
1918
2068
 
@@ -1699,9 +1699,6 @@ input CLKIN, CE;
1699
1699
  output CLKOUT, CLKOUTN;
1700
1700
  endmodule
1701
1701
 
1702
- module EMCU (...);
1703
- endmodule
1704
-
1705
1702
  module FLASH64K (...);
1706
1703
  input[4:0]XADR;
1707
1704
  input[5:0]YADR;
@@ -410,6 +410,9 @@ namespace AST
410
410
  extern void (*set_line_num)(int);
411
411
  extern int (*get_line_num)();
412
412
 
413
+ // for stats
414
+ unsigned long long astnode_count();
415
+
413
416
  // set set_line_num and get_line_num to internal dummy functions (done by simplify() and AstModule::derive
414
417
  // to control the filename and linenum properties of new nodes not generated by a frontend parser)
415
418
  void use_internal_line_num();
@@ -114,7 +114,7 @@ struct CellTypes
114
114
  void setup_internals_eval()
115
115
  {
116
116
  std::vector<RTLIL::IdString> unary_ops = {
117
- ID($not), ID($pos), ID($neg),
117
+ ID($not), ID($pos), ID($buf), ID($neg),
118
118
  ID($reduce_and), ID($reduce_or), ID($reduce_xor), ID($reduce_xnor), ID($reduce_bool),
119
119
  ID($logic_not), ID($slice), ID($lut), ID($sop)
120
120
  };
@@ -339,7 +339,7 @@ struct CellTypes
339
339
  type = ID($shl);
340
340
 
341
341
  if (type != ID($sshr) && type != ID($sshl) && type != ID($shr) && type != ID($shl) && type != ID($shift) && type != ID($shiftx) &&
342
- type != ID($pos) && type != ID($neg) && type != ID($not)) {
342
+ type != ID($pos) && type != ID($buf) && type != ID($neg) && type != ID($not)) {
343
343
  if (!signed1 || !signed2)
344
344
  signed1 = false, signed2 = false;
345
345
  }
@@ -384,7 +384,7 @@ struct CellTypes
384
384
  HANDLE_CELL_TYPE(neg)
385
385
  #undef HANDLE_CELL_TYPE
386
386
 
387
- if (type == ID($_BUF_))
387
+ if (type.in(ID($_BUF_), ID($buf)))
388
388
  return arg1;
389
389
  if (type == ID($_NOT_))
390
390
  return eval_not(arg1);
@@ -43,6 +43,7 @@ X(CE_OVER_SRST)
43
43
  X(CFG_ABITS)
44
44
  X(CFG_DBITS)
45
45
  X(CFG_INIT)
46
+ X(chain)
46
47
  X(CI)
47
48
  X(CLK)
48
49
  X(clkbuf_driver)