yosys.git
5 years agoMerge remote-tracking branch 'origin/master' into xc7srl
Eddie Hung [Wed, 3 Apr 2019 10:36:11 +0000 (03:36 -0700)]
Merge remote-tracking branch 'origin/master' into xc7srl

5 years agoMerge pull request #912 from YosysHQ/bram_addr_en
Clifford Wolf [Wed, 3 Apr 2019 08:00:18 +0000 (10:00 +0200)]
Merge pull request #912 from YosysHQ/bram_addr_en

memory_bram: Consider read enable for address expansion register

5 years agoMerge pull request #910 from ucb-bar/memupdates
Clifford Wolf [Wed, 3 Apr 2019 07:59:11 +0000 (09:59 +0200)]
Merge pull request #910 from ucb-bar/memupdates

Refine memory support to deal with general Verilog memory definitions.

5 years agomemory_bram: Consider read enable for address expansion register
David Shah [Tue, 2 Apr 2019 18:47:50 +0000 (19:47 +0100)]
memory_bram: Consider read enable for address expansion register

Signed-off-by: David Shah <dave@ds0.me>
5 years agoMerge pull request #895 from YosysHQ/pmux2shiftx
Eddie Hung [Tue, 2 Apr 2019 07:16:14 +0000 (00:16 -0700)]
Merge pull request #895 from YosysHQ/pmux2shiftx

RFC: Add a pmux-to-shiftx optimisation to proc_mux

5 years agoRefine memory support to deal with general Verilog memory definitions.
Jim Lawson [Mon, 1 Apr 2019 22:02:12 +0000 (15:02 -0700)]
Refine memory support to deal with general Verilog memory definitions.

5 years agoMerge pull request #907 from YosysHQ/clifford/fix906
Clifford Wolf [Fri, 29 Mar 2019 23:09:42 +0000 (00:09 +0100)]
Merge pull request #907 from YosysHQ/clifford/fix906

Build Verilog parser with -DYYMAXDEPTH=100000

5 years agoBuild Verilog parser with -DYYMAXDEPTH=100000, fixes #906
Clifford Wolf [Fri, 29 Mar 2019 15:32:44 +0000 (16:32 +0100)]
Build Verilog parser with -DYYMAXDEPTH=100000, fixes #906

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #901 from trcwm/libertyfixes
Clifford Wolf [Thu, 28 Mar 2019 08:32:05 +0000 (09:32 +0100)]
Merge pull request #901 from trcwm/libertyfixes

Libertyfixes: accept superfluous ; at end of group.

5 years agoMerge pull request #903 from YosysHQ/bram_reset_transp
Clifford Wolf [Thu, 28 Mar 2019 08:30:48 +0000 (09:30 +0100)]
Merge pull request #903 from YosysHQ/bram_reset_transp

memory_bram: Reset make_transp when growing read ports

5 years agomemory_bram: Reset make_transp when growing read ports
David Shah [Wed, 27 Mar 2019 17:19:14 +0000 (17:19 +0000)]
memory_bram: Reset make_transp when growing read ports

Signed-off-by: David Shah <dave@ds0.me>
5 years agoLiberty file parser now accepts superfluous ;
Niels Moseley [Wed, 27 Mar 2019 14:17:58 +0000 (15:17 +0100)]
Liberty file parser now accepts superfluous ;

5 years agoLiberty file parser now accepts superfluous ;
Niels Moseley [Wed, 27 Mar 2019 14:16:19 +0000 (15:16 +0100)]
Liberty file parser now accepts superfluous ;

5 years agoLiberty file parser now accepts superfluous ;
Niels Moseley [Wed, 27 Mar 2019 14:15:53 +0000 (15:15 +0100)]
Liberty file parser now accepts superfluous ;

5 years agoAdd "read -verific" and "read -noverific"
Clifford Wolf [Wed, 27 Mar 2019 13:03:35 +0000 (14:03 +0100)]
Add "read -verific" and "read -noverific"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "rename -output"
Clifford Wolf [Wed, 27 Mar 2019 12:47:42 +0000 (13:47 +0100)]
Add "rename -output"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoImprove "rename" help message
Clifford Wolf [Wed, 27 Mar 2019 12:33:26 +0000 (13:33 +0100)]
Improve "rename" help message

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "cutpoint -undef"
Clifford Wolf [Tue, 26 Mar 2019 15:01:14 +0000 (16:01 +0100)]
Add "cutpoint -undef"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "hdlname" attribute
Clifford Wolf [Tue, 26 Mar 2019 13:51:35 +0000 (14:51 +0100)]
Add "hdlname" attribute

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoFix "verific -extnets" for more complex situations
Clifford Wolf [Tue, 26 Mar 2019 13:17:46 +0000 (14:17 +0100)]
Fix "verific -extnets" for more complex situations

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agosynth_xilinx to use shregmap with -minlen 3
Eddie Hung [Mon, 25 Mar 2019 20:18:55 +0000 (13:18 -0700)]
synth_xilinx to use shregmap with -minlen 3

5 years agoMerge remote-tracking branch 'origin/master' into xc7srl
Eddie Hung [Mon, 25 Mar 2019 20:17:22 +0000 (13:17 -0700)]
Merge remote-tracking branch 'origin/master' into xc7srl

5 years agoAdd "cutpoint" pass
Clifford Wolf [Mon, 25 Mar 2019 18:49:00 +0000 (19:49 +0100)]
Add "cutpoint" pass

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoCreate one $shiftx per bit in width
Eddie Hung [Mon, 25 Mar 2019 18:16:56 +0000 (11:16 -0700)]
Create one $shiftx per bit in width

5 years agoMerge pull request #896 from YosysHQ/transp_fixes
Clifford Wolf [Mon, 25 Mar 2019 13:55:16 +0000 (14:55 +0100)]
Merge pull request #896 from YosysHQ/transp_fixes

memory_bram: Fix multiclock make_transp

5 years agoMerge pull request #897 from trcwm/libertyfixes
Clifford Wolf [Mon, 25 Mar 2019 13:47:33 +0000 (14:47 +0100)]
Merge pull request #897 from trcwm/libertyfixes

Liberty parser: Accept ranges [A:B], and ignore missing ';'.

5 years agospaces -> tabs
Niels Moseley [Mon, 25 Mar 2019 13:12:04 +0000 (14:12 +0100)]
spaces -> tabs

5 years agoEOL is now accepted as ';' replacement on lines that look like: feature_xyz(option)
Niels Moseley [Mon, 25 Mar 2019 11:15:10 +0000 (12:15 +0100)]
EOL is now accepted as ';' replacement on lines that look like: feature_xyz(option)

5 years agoUpdated the liberty parser to accept [A:B] ranges (AST has not been updated). Liberty...
Niels Moseley [Sun, 24 Mar 2019 21:54:18 +0000 (22:54 +0100)]
Updated the liberty parser to accept [A:B] ranges (AST has not been updated). Liberty parser now also accepts key : value pair lines that do not end in ';'.

5 years agomemory_bram: Fix multiclock make_transp
David Shah [Sun, 24 Mar 2019 16:21:36 +0000 (16:21 +0000)]
memory_bram: Fix multiclock make_transp

Signed-off-by: David Shah <dave@ds0.me>
5 years agoAdd a pmux-to-shiftx optimisation to proc_mux
Eddie Hung [Sat, 23 Mar 2019 23:45:36 +0000 (16:45 -0700)]
Add a pmux-to-shiftx optimisation to proc_mux

5 years agoCope with SHREG not having E port; Revert $pmux fine tune
Eddie Hung [Sat, 23 Mar 2019 23:09:38 +0000 (16:09 -0700)]
Cope with SHREG not having E port; Revert $pmux fine tune

5 years agoAdd "mutate -none -mode", "mutate -mode none"
Clifford Wolf [Sat, 23 Mar 2019 19:20:32 +0000 (20:20 +0100)]
Add "mutate -none -mode", "mutate -mode none"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "mutate -s <filename>"
Clifford Wolf [Sat, 23 Mar 2019 16:53:09 +0000 (17:53 +0100)]
Add "mutate -s <filename>"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #893 from YosysHQ/clifford/btormeminit
Clifford Wolf [Sat, 23 Mar 2019 15:02:01 +0000 (16:02 +0100)]
Merge pull request #893 from YosysHQ/clifford/btormeminit

Memory init support in write_btor

5 years agoAdd support for memory initialization to write_btor
Clifford Wolf [Sat, 23 Mar 2019 13:40:01 +0000 (14:40 +0100)]
Add support for memory initialization to write_btor

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoFix BTOR output tags syntax in writye_btor
Clifford Wolf [Sat, 23 Mar 2019 13:39:42 +0000 (14:39 +0100)]
Fix BTOR output tags syntax in writye_btor

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd RTLIL::Const::ext[su](), fix RTLIL::SigSpec::extend_u0 for 0-size signals
Clifford Wolf [Sat, 23 Mar 2019 13:38:48 +0000 (14:38 +0100)]
Add RTLIL::Const::ext[su](), fix RTLIL::SigSpec::extend_u0 for 0-size signals

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd support for SHREGMAP+$mux, also fine tune $pmux
Eddie Hung [Sat, 23 Mar 2019 06:22:19 +0000 (23:22 -0700)]
Add support for SHREGMAP+$mux, also fine tune $pmux

5 years agoLeftover printf
Eddie Hung [Sat, 23 Mar 2019 02:14:04 +0000 (19:14 -0700)]
Leftover printf

5 years agoFixes for multibit
Eddie Hung [Sat, 23 Mar 2019 01:32:42 +0000 (18:32 -0700)]
Fixes for multibit

5 years agoWorking for 1 bit
Eddie Hung [Sat, 23 Mar 2019 00:46:49 +0000 (17:46 -0700)]
Working for 1 bit

5 years agoMerge remote-tracking branch 'origin/master' into xc7srl
Eddie Hung [Fri, 22 Mar 2019 20:10:42 +0000 (13:10 -0700)]
Merge remote-tracking branch 'origin/master' into xc7srl

5 years agoMerge pull request #889 from YosysHQ/clifford/fix888
Clifford Wolf [Fri, 22 Mar 2019 17:03:06 +0000 (18:03 +0100)]
Merge pull request #889 from YosysHQ/clifford/fix888

Fix mem2reg handling of memories with upto data ports

5 years agoMerge pull request #890 from YosysHQ/clifford/fix887
Clifford Wolf [Fri, 22 Mar 2019 17:02:29 +0000 (18:02 +0100)]
Merge pull request #890 from YosysHQ/clifford/fix887

Trim init attributes when resizing FFs in "wreduce"

5 years agoMerge pull request #891 from YosysHQ/xilinx_keep
David Shah [Fri, 22 Mar 2019 14:28:29 +0000 (14:28 +0000)]
Merge pull request #891 from YosysHQ/xilinx_keep

xilinx: Add keep attribute where appropriate

5 years agoxilinx: Add keep attribute where appropriate
David Shah [Fri, 22 Mar 2019 13:57:17 +0000 (13:57 +0000)]
xilinx: Add keep attribute where appropriate

Signed-off-by: David Shah <dave@ds0.me>
5 years agoTrim init attributes when resizing FFs in "wreduce", fixes #887
Clifford Wolf [Fri, 22 Mar 2019 10:42:19 +0000 (11:42 +0100)]
Trim init attributes when resizing FFs in "wreduce", fixes #887

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd '-nosrl' option to synth_xilinx
Eddie Hung [Thu, 21 Mar 2019 22:04:44 +0000 (15:04 -0700)]
Add '-nosrl' option to synth_xilinx

5 years agoFix mem2reg handling of memories with upto data ports, fixes #888
Clifford Wolf [Thu, 21 Mar 2019 21:19:17 +0000 (22:19 +0100)]
Fix mem2reg handling of memories with upto data ports, fixes #888

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoImprove "read_verilog -dump_vlog[12]" handling of upto ranges
Clifford Wolf [Thu, 21 Mar 2019 21:20:16 +0000 (22:20 +0100)]
Improve "read_verilog -dump_vlog[12]" handling of upto ranges

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoImprove read_verilog debug output capabilities
Clifford Wolf [Thu, 21 Mar 2019 19:52:29 +0000 (20:52 +0100)]
Improve read_verilog debug output capabilities

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoOpt
Eddie Hung [Thu, 21 Mar 2019 17:20:27 +0000 (10:20 -0700)]
Opt

5 years agoFix spacing
Eddie Hung [Wed, 20 Mar 2019 19:28:39 +0000 (12:28 -0700)]
Fix spacing

5 years agoFine tune cells_map.v
Eddie Hung [Wed, 20 Mar 2019 17:55:14 +0000 (10:55 -0700)]
Fine tune cells_map.v

5 years agoRevert $__SHREG_ to orig; use $__XILINX_SHREG for variable length
Eddie Hung [Wed, 20 Mar 2019 04:58:05 +0000 (21:58 -0700)]
Revert $__SHREG_ to orig; use $__XILINX_SHREG for variable length

5 years agoAdd support for variable length Xilinx SRL > 128
Eddie Hung [Wed, 20 Mar 2019 00:44:33 +0000 (17:44 -0700)]
Add support for variable length Xilinx SRL > 128

5 years agoRestore original synth_xilinx commands
Eddie Hung [Tue, 19 Mar 2019 23:14:08 +0000 (16:14 -0700)]
Restore original synth_xilinx commands

5 years agoFix spacing
Eddie Hung [Tue, 19 Mar 2019 23:12:32 +0000 (16:12 -0700)]
Fix spacing

5 years agoshregmap -tech xilinx to delete $shiftx for var length SRL
Eddie Hung [Tue, 19 Mar 2019 22:05:08 +0000 (15:05 -0700)]
shregmap -tech xilinx to delete $shiftx for var length SRL

5 years agoFix INIT for variable length SRs that have been bumped up one
Eddie Hung [Tue, 19 Mar 2019 21:54:43 +0000 (14:54 -0700)]
Fix INIT for variable length SRs that have been bumped up one

5 years agoMerge remote-tracking branch 'origin/master' into xc7srl
Eddie Hung [Tue, 19 Mar 2019 20:11:30 +0000 (13:11 -0700)]
Merge remote-tracking branch 'origin/master' into xc7srl

5 years agoMake output port a non chain user
Eddie Hung [Tue, 19 Mar 2019 20:08:43 +0000 (13:08 -0700)]
Make output port a non chain user

5 years agoMerge pull request #885 from YosysHQ/clifford/fix873
Clifford Wolf [Tue, 19 Mar 2019 19:31:53 +0000 (20:31 +0100)]
Merge pull request #885 from YosysHQ/clifford/fix873

Add Xilinx negedge FFs to synth_xilinx dffinit call, fixes #873

5 years agoAdd Xilinx negedge FFs to synth_xilinx dffinit call, fixes #873
Clifford Wolf [Tue, 19 Mar 2019 19:29:54 +0000 (20:29 +0100)]
Add Xilinx negedge FFs to synth_xilinx dffinit call, fixes #873

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #808 from eddiehung/read_aiger
Eddie Hung [Tue, 19 Mar 2019 16:41:40 +0000 (09:41 -0700)]
Merge pull request #808 from eddiehung/read_aiger

Add new read_aiger frontend

5 years agoMerge https://github.com/YosysHQ/yosys into read_aiger
Eddie Hung [Tue, 19 Mar 2019 15:52:31 +0000 (08:52 -0700)]
Merge https://github.com/YosysHQ/yosys into read_aiger

5 years agoAdd author name
Eddie Hung [Tue, 19 Mar 2019 15:52:06 +0000 (08:52 -0700)]
Add author name

5 years agoMerge pull request #884 from zachjs/master
Clifford Wolf [Tue, 19 Mar 2019 13:08:57 +0000 (14:08 +0100)]
Merge pull request #884 from zachjs/master

fix local name resolution in prefix constructs

5 years agofix local name resolution in prefix constructs
Zachary Snow [Tue, 19 Mar 2019 00:34:21 +0000 (20:34 -0400)]
fix local name resolution in prefix constructs

5 years agoFix shregmap to correctly recognise non chain users; cleanup
Eddie Hung [Mon, 18 Mar 2019 23:12:19 +0000 (16:12 -0700)]
Fix shregmap to correctly recognise non chain users; cleanup

5 years agoshiftx NULL pointer check
Eddie Hung [Mon, 18 Mar 2019 20:35:54 +0000 (13:35 -0700)]
shiftx NULL pointer check

5 years agoUpdate issue template
Clifford Wolf [Sun, 17 Mar 2019 11:53:47 +0000 (12:53 +0100)]
Update issue template

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoUpdate issue template
Clifford Wolf [Sun, 17 Mar 2019 11:44:23 +0000 (12:44 +0100)]
Update issue template

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoCleanup
Eddie Hung [Sat, 16 Mar 2019 19:49:46 +0000 (12:49 -0700)]
Cleanup

5 years agoOnly accept <128 for variable length, only if $shiftx exclusive
Eddie Hung [Sat, 16 Mar 2019 15:51:13 +0000 (08:51 -0700)]
Only accept <128 for variable length, only if $shiftx exclusive

5 years agoMerge pull request #877 from FelixVi/master
Clifford Wolf [Sat, 16 Mar 2019 13:19:02 +0000 (14:19 +0100)]
Merge pull request #877 from FelixVi/master

Add note about test requirements in README

5 years agoAdd note about test requirements in README
Felix Vietmeyer [Sat, 16 Mar 2019 12:20:59 +0000 (06:20 -0600)]
Add note about test requirements in README

5 years agoCleanup synth_xilinx
Eddie Hung [Sat, 16 Mar 2019 06:01:40 +0000 (23:01 -0700)]
Cleanup synth_xilinx

5 years agoWorking
Eddie Hung [Sat, 16 Mar 2019 02:13:40 +0000 (19:13 -0700)]
Working

5 years agoImprove mix of src/wire/wirebit coverage in "mutate -list"
Clifford Wolf [Fri, 15 Mar 2019 23:55:46 +0000 (00:55 +0100)]
Improve mix of src/wire/wirebit coverage in "mutate -list"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #876 from YosysHQ/clifford/fmcombine
Clifford Wolf [Fri, 15 Mar 2019 23:17:15 +0000 (00:17 +0100)]
Merge pull request #876 from YosysHQ/clifford/fmcombine

Add fmcombine pass

5 years agoAdd "fmcombine -fwd -bwd -nop"
Clifford Wolf [Fri, 15 Mar 2019 20:45:37 +0000 (21:45 +0100)]
Add "fmcombine -fwd -bwd -nop"

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd fmcombine pass
Clifford Wolf [Fri, 15 Mar 2019 19:18:38 +0000 (20:18 +0100)]
Add fmcombine pass

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #875 from YosysHQ/clifford/mutate
Clifford Wolf [Thu, 14 Mar 2019 23:51:40 +0000 (00:51 +0100)]
Merge pull request #875 from YosysHQ/clifford/mutate

Add "mutate" pass

5 years agoDisable realmath tests
Clifford Wolf [Thu, 14 Mar 2019 23:48:23 +0000 (00:48 +0100)]
Disable realmath tests

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoImprovements in "mutate" list-reduce algorithm
Clifford Wolf [Thu, 14 Mar 2019 23:18:31 +0000 (00:18 +0100)]
Improvements in "mutate" list-reduce algorithm

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "mutate -cfg", improve pick_cover behavior
Clifford Wolf [Thu, 14 Mar 2019 22:20:41 +0000 (23:20 +0100)]
Add "mutate -cfg", improve pick_cover behavior

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd a strictly coverage-driven mutation selection strategy
Clifford Wolf [Thu, 14 Mar 2019 22:01:55 +0000 (23:01 +0100)]
Add a strictly coverage-driven mutation selection strategy

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoImprove "mutate" wire coverage metric
Clifford Wolf [Thu, 14 Mar 2019 22:01:01 +0000 (23:01 +0100)]
Improve "mutate" wire coverage metric

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd more mutation types, improve mutation src cover
Clifford Wolf [Thu, 14 Mar 2019 18:52:02 +0000 (19:52 +0100)]
Add more mutation types, improve mutation src cover

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoFix smtbmc.py handling of zero appended steps
Clifford Wolf [Wed, 13 Mar 2019 18:27:17 +0000 (19:27 +0100)]
Fix smtbmc.py handling of zero appended steps

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "mutate" command DB reduce functionality
Clifford Wolf [Wed, 13 Mar 2019 16:36:37 +0000 (17:36 +0100)]
Add "mutate" command DB reduce functionality

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd hashlib "<container>::element(int n)" methods
Clifford Wolf [Wed, 13 Mar 2019 16:36:06 +0000 (17:36 +0100)]
Add hashlib "<container>::element(int n)" methods

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd "mutate -mode inv", various other mutate improvements
Clifford Wolf [Wed, 13 Mar 2019 15:09:47 +0000 (16:09 +0100)]
Add "mutate -mode inv", various other mutate improvements

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoAdd basic "mutate -list N" framework
Clifford Wolf [Tue, 12 Mar 2019 16:01:59 +0000 (17:01 +0100)]
Add basic "mutate -list N" framework

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #874 from YosysHQ/clifford/andopt
Clifford Wolf [Thu, 14 Mar 2019 20:22:16 +0000 (21:22 +0100)]
Merge pull request #874 from YosysHQ/clifford/andopt

Improve handling of and-with-1 and or-with-0 in opt_expr, fixes #327

5 years agoImprove handling of and-with-1 and or-with-0 in opt_expr, fixes #327
Clifford Wolf [Thu, 14 Mar 2019 19:35:15 +0000 (20:35 +0100)]
Improve handling of and-with-1 and or-with-0 in opt_expr, fixes #327

Signed-off-by: Clifford Wolf <clifford@clifford.at>
5 years agoMerge pull request #872 from YosysHQ/clifford/pmuxfix
Clifford Wolf [Thu, 14 Mar 2019 17:42:45 +0000 (18:42 +0100)]
Merge pull request #872 from YosysHQ/clifford/pmuxfix

Improve handling of "full_case" attributes

5 years agoImprove handling of "full_case" attributes
Clifford Wolf [Thu, 14 Mar 2019 16:51:21 +0000 (17:51 +0100)]
Improve handling of "full_case" attributes

Signed-off-by: Clifford Wolf <clifford@clifford.at>