summaryrefslogtreecommitdiff
path: root/CHECKLISTS
blob: 4a42165121319da7c06dadafa676639b9315161f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
This file contains checklists for various tasks.


Table of contents
=================

1. Checklist for creating Yosys releases
2. Checklist for adding internal cell types


1. Checklist for creating Yosys releases
========================================


Update the CHANGELOG file:

	cd ~yosys
	gitk &
	vi CHANGELOG


Run all tests with "make config-{clang-debug,gcc-debug,gcc-4.6,release}":

	cd ~yosys
	make clean
	make test vloghtb
	make install

	cd ~yosys-bigsim
	make clean
	make full

	cd ~vloghammer
	make purge
	make gen_issues gen_samples
	make SYN_LIST="yosys" SIM_LIST="icarus yosim verilator" FULL=1 world
	chromium-browser report.html


Then with default config setting:

	cd ~yosys
	./yosys -p 'proc; show' tests/simple/fiedler-cooley.v
	./yosys -p 'proc; opt; show' tests/simple/fiedler-cooley.v

	cd ~yosys
	make manual
	- sanity check the figures in the appnotes and presentation
	    - if there are any odd things -> investigate
	    - make cosmetic changes to the .tex files if necessary


Also with default config setting:

	cd ~yosys/techlibs/cmos
	bash testbench.sh

	cd ~yosys/techlibs/xilinx/example_sim_counter
	bash run_sim.sh

	cd ~yosys/techlibs/xilinx/example_mojo_counter
	bash example.sh


Finally if a current verific library is available:

	cd ~yosys
	cat frontends/verific/build_amd64.txt
	- follow instructions

	cd frontends/verific
	../../yosys test_navre.ys


Release candiate:

	- create branch yosys-x.y.z-rc and push to github
	- contact the usual suspects per mail and ask them to test
	- post on the reddit and ask people to test
	- commit KISS fixes to the -rc branch if necessary


Release:

	- set YOSYS_VER to x.y.z in Makefile
	- update version string in CHANGELOG
	git commit -am "Yosys x.y.z"

	- push tag to github
	- post changelog on github
	- post short release note on reddit
	- delete -rc branch from github


Updating the website:

	cd ~yosys
	make manual
	make install

	- update pdf files on the website

	cd ~yosys-web
	make update_cmd
	make update_show
	git commit -am update
	make push


In master branch:

	git merge {release-tag}
	- set version to x.y.z+ in Makefile
	- add section "Yosys x.y.z .. x.y.z+" to CHANGELOG
	git commit --amend -am "Yosys x.y.z+"


2. Checklist for adding internal cell types
===========================================

Things to do right away:

	- Add to kernel/celltypes.h (incl. eval() handling for non-mem cells)
	- Add to InternalCellChecker::check() in kernel/rtlil.cc
	- Add to techlibs/common/simlib.v
	- Add to techlibs/common/techmap.v

Things to do after finalizing the cell interface:

	- Add support to kernel/satgen.h for the new cell type
	- Add to manual/CHAPTER_CellLib.tex (or just add a fixme to the bottom)
	- Maybe add support to the verilog backend for dumping such cells as expression