Marcin Kościelnicki
49765ec19e
minor review fixes
2019-08-13 18:05:49 +00:00
Marcin Kościelnicki
c6d5b97b98
review fixes
2019-08-13 00:35:54 +00:00
Marcin Kościelnicki
f4c62f33ac
Add clock buffer insertion pass, improve iopadmap.
...
A few new attributes are defined for use in cell libraries:
- iopad_external_pin: marks PAD cell's external-facing pin. Pad
insertion will be skipped for ports that are already connected
to such a pin.
- clkbuf_sink: marks an input pin as a clock pin, requesting clock
buffer insertion.
- clkbuf_driver: marks an output pin as a clock buffer output pin.
Clock buffer insertion will be skipped for nets that are already
driven by such a pin.
All three are module attributes that should be set to a comma-separeted
list of pin names.
Clock buffer insertion itself works as follows:
1. All cell ports, starting from bottom up, can be marked as clock sinks
(requesting clock buffer insertion) or as clock buffer outputs.
2. If a wire in a given module is driven by a cell port that is a clock
buffer output, it is in turn also considered a clock buffer output.
3. If an input port in a non-top module is connected to a clock sink in a
contained cell, it is also in turn considered a clock sink.
4. If a wire in a module is driven by a non-clock-buffer cell, and is
also connected to a clock sink port in a contained cell, a clock
buffer is inserted in this module.
5. For the top module, a clock buffer is also inserted on input ports
connected to clock sinks, optionally with a special kind of input
PAD (such as IBUFG for Xilinx).
6. Clock buffer insertion on a given wire is skipped if the clkbuf_inhibit
attribute is set on it.
2019-08-13 00:16:38 +02:00
Serge Bazanski
78b30bbb11
Merge pull request #1152 from 1138-4EB/feat-docker
...
Dockerfile
2019-08-12 15:09:25 +02:00
Eddie Hung
ba1a428f55
Merge pull request #1277 from YosysHQ/eddie/fix_1262
...
opt_expr -fine to now trim LSBs of $alu cells too
2019-08-11 22:10:17 -07:00
Eddie Hung
88d5185596
Merge remote-tracking branch 'origin/master' into eddie/fix_1262
2019-08-11 21:13:40 -07:00
Eddie Hung
c851dc1310
Merge pull request #1280 from YosysHQ/revert-1266-eddie/ice40_full_adder
...
Revert "Wrap SB_LUT+SB_CARRY into $__ICE40_CARRY_WRAPPER"
2019-08-10 14:18:16 -07:00
Eddie Hung
282cc77604
Wrong way around
2019-08-10 11:55:00 -07:00
David Shah
f9020ce2b3
Revert "Wrap SB_LUT+SB_CARRY into $__ICE40_CARRY_WRAPPER"
2019-08-10 17:14:48 +01:00
Eddie Hung
02b0d328ad
cover_list -> cover as per @cliffordwolf
2019-08-10 08:26:41 -07:00
Clifford Wolf
f54bf1631f
Merge pull request #1258 from YosysHQ/eddie/cleanup
...
Cleanup a few barnacles across codebase
2019-08-10 09:52:14 +02:00
Clifford Wolf
4f81213165
Merge pull request #1261 from YosysHQ/clifford/verific_init
...
Automatically prune init attributes in verific front-end
2019-08-10 09:47:25 +02:00
Clifford Wolf
05c46a31dc
Merge pull request #1263 from ucb-bar/firrtl_err_on_unsupported_cell
...
FIRRTL error on unsupported cell
2019-08-10 09:47:10 +02:00
Clifford Wolf
a469d1a64a
Merge pull request #1270 from YosysHQ/eddie/alu_lcu_doc
...
Add a few comments to document $alu and $lcu
2019-08-10 09:46:46 +02:00
Clifford Wolf
465a59319a
Merge pull request #1272 from mmicko/travis_fix
...
Propagate parameters for Travis build
2019-08-10 09:45:26 +02:00
Clifford Wolf
b1e817e616
Merge pull request #1274 from YosysHQ/eddie/fix_1271
...
Add __STDC_FORMAT_MACROS before <inttypes.h> as per @mithro
2019-08-10 09:45:06 +02:00
Clifford Wolf
dad9514d86
Merge pull request #1276 from YosysHQ/clifford/fix1273
...
Disable NMUX, AOI3, OAI3, AOI4, OAI4 in ABC default gate lib
2019-08-10 09:38:22 +02:00
Eddie Hung
849e0eeab4
Grammar
2019-08-09 12:43:21 -07:00
Eddie Hung
041defc5a6
Reformat so it shows up/looks nice when "help $alu" and "help $alu+"
2019-08-09 12:33:39 -07:00
Eddie Hung
31f6d74552
Separate $alu handling
2019-08-09 12:13:32 -07:00
Eddie Hung
0adf81cb91
Add $alu tests
2019-08-09 12:13:17 -07:00
Eddie Hung
9f1b82f594
opt_expr -fine to trim LSBs of $alu too
2019-08-09 10:32:12 -07:00
Eddie Hung
8350dfb809
Add alumacc versions of opt_expr tests
2019-08-09 10:30:53 -07:00
Eddie Hung
9300111601
Add new $alu test, remove wreduce
2019-08-09 10:22:06 -07:00
Clifford Wolf
6d0be8d206
Disable NMUX, AOI3, OAI3, AOI4, OAI4 in ABC default gate lib, add "abc -g all", fixes #1273
...
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-08-09 19:17:59 +02:00
Eddie Hung
313c9ec8df
Cleanup some more
2019-08-09 10:13:49 -07:00
whitequark
39f4c1096a
Merge pull request #1267 from whitequark/proc_prune-fix-1243
...
proc_prune: fix handling of exactly identical assigns
2019-08-09 17:10:46 +00:00
Eddie Hung
d9c1664462
Simplify opt_expr tests using equiv_opt
2019-08-09 10:08:17 -07:00
Eddie Hung
acfb672d34
A bit more on where $lcu comes from
2019-08-09 09:50:47 -07:00
Eddie Hung
5aef998957
Add more comments
2019-08-09 09:48:17 -07:00
Eddie Hung
446dcb3ed3
Add __STDC_FORMAT_MACROS before <inttypes.h> as per @mithro
2019-08-09 09:17:35 -07:00
Miodrag Milanovic
8853d6d232
ABC requires it like this
2019-08-09 08:54:17 +02:00
Miodrag Milanovic
5130a65865
Propagate parameters for Travis build
2019-08-09 08:06:14 +02:00
Eddie Hung
dae7c59358
Add a few comments to document $alu and $lcu
2019-08-08 10:05:28 -07:00
Eddie Hung
ac2fc3a144
Merge pull request #1264 from YosysHQ/eddie/fix_1254
...
opt_lut to ignore LUT cells, or those that drive bits, with (* keep *)
2019-08-08 07:58:33 -07:00
Eddie Hung
61d7f1997b
Merge pull request #1266 from YosysHQ/eddie/ice40_full_adder
...
Wrap SB_LUT+SB_CARRY into $__ICE40_CARRY_WRAPPER
2019-08-08 07:58:11 -07:00
whitequark
0b09a347dc
proc_prune: fix handling of exactly identical assigns.
...
Before this commit, in a process like:
process $proc$bug.v:8$3
assign $foo \bar
switch \sel
case 1'1
assign $foo 1'1
assign $foo 1'1
case
assign $foo 1'0
end
end
both of the "assign $foo 1'1" would incorrectly be removed.
Fixes #1243 .
2019-08-08 05:32:35 +00:00
Eddie Hung
8bf45f34c4
Remove dump call
2019-08-07 21:36:02 -07:00
Eddie Hung
2b6cdfb39f
Move tests/various/opt* into tests/opt/
2019-08-07 21:35:48 -07:00
Eddie Hung
d5e8c0e6d3
Remove ice40_unlut call, simply do equiv_opt on synth_ice40
2019-08-07 21:33:56 -07:00
Eddie Hung
35bf509603
Add testcase from removed opt_ff.{v,ys}
2019-08-07 21:31:32 -07:00
Eddie Hung
4545bf482f
Remove tests/opt/opt_ff.{v,ys} as they don't seem to do anything but run
2019-08-07 16:48:38 -07:00
Eddie Hung
9776084eda
Allow whitebox modules to be overwritten
2019-08-07 16:40:24 -07:00
Eddie Hung
9962e6fc1a
Update CHANGELOG
2019-08-07 16:33:46 -07:00
Eddie Hung
675c1d4218
Add ice40_wrapcarry pass, rename $__ICE40_FULL_ADDER -> CARRY_WRAPPER
2019-08-07 16:29:38 -07:00
Eddie Hung
cc331cf70d
Add test
2019-08-07 16:29:38 -07:00
Eddie Hung
ea8ac8fd74
Remove ice40_unlut
2019-08-07 16:29:38 -07:00
Eddie Hung
6b314c8371
Wrap SB_CARRY+SB_LUT into $__ICE40_FULL_ADDER
2019-08-07 16:29:38 -07:00
Eddie Hung
f69410daaf
opt_lut to ignore LUT cells, or those that drive bits, with (* keep *)
2019-08-07 13:15:02 -07:00
Eddie Hung
3414ee1e3f
Merge pull request #1248 from YosysHQ/eddie/abc9_speedup
...
abc9: speedup by using using "clean" more efficiently
2019-08-07 12:25:26 -07:00