blob: 6463b2b2585aab39e44d0b4be645e5b56e64bc0e [file] [log] [blame]
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# portions adapted from the javascript wavedrom.js
# https://github.com/drom/wavedrom/blob/master/wavedrom.js
# see LICENSE.wavedrom
head1 = """
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
overflow="hidden"
"""
# Styles are from wavedrom.js
head2 = """
<style type="text/css">
text { font-size: 11pt; font-style: normal; font-variant:
normal; font-weight: normal; font-stretch: normal;
text-align: center; fill-opacity: 1; font-family:
Helvetica }
.muted {
fill: #aaa
}
.warning {
fill: #f6b900
}
.error {
fill: #f60000
}
.info {
fill: #0041c4
}
.success {
fill: #00ab00
}
.h1 {
font-size: 33pt;
font-weight: bold
}
.h2 {
font-size: 27pt;
font-weight: bold
}
.h3 {
font-size: 20pt;
font-weight: bold
}
.h4 {
font-size: 14pt;
font-weight: bold
}
.h5 {
font-size: 11pt;
font-weight: bold
}
.h6 {
font-size: 8pt;
font-weight: bold
}
.s1 {
fill: none;
stroke: #000;
stroke-width: 1;
stroke-linecap: round;
stroke-linejoin: miter;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-dasharray: none
}
.s2 {
fill: none;
stroke: #000;
stroke-width: 0.5;
stroke-linecap: round;
stroke-linejoin: miter;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-dasharray: none
}
.s3 {
color: #000;
fill: none;
stroke: #000;
stroke-width: 1;
stroke-linecap: round;
stroke-linejoin: miter;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-dasharray: 1, 3;
stroke-dashoffset: 0;
marker: none;
visibility: visible;
display: inline;
overflow: visible;
enable-background: accumulate
}
.s4 {
color: #000;
fill: none;
stroke: #000;
stroke-width: 1;
stroke-linecap: round;
stroke-linejoin: miter;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-dasharray: none;
stroke-dashoffset: 0;
marker: none;
visibility: visible;
display: inline;
overflow: visible
}
.s5 {
fill: #fff;
stroke: none
}
.s6 {
color: #000;
fill: #ffffb4;
fill-opacity: 1;
fill-rule: nonzero;
stroke: none;
stroke-width: 1px;
marker: none;
visibility: visible;
display: inline;
overflow: visible;
enable-background: accumulate
}
.s7 {
color: #000;
fill: #ffe0b9;
fill-opacity: 1;
fill-rule: nonzero;
stroke: none;
stroke-width: 1px;
marker: none;
visibility: visible;
display: inline;
overflow: visible;
enable-background: accumulate
}
.s8 {
color: #000;
fill: #b9e0ff;
fill-opacity: 1;
fill-rule: nonzero;
stroke: none;
stroke-width: 1px;
marker: none;
visibility: visible;
display: inline;
overflow: visible;
enable-background: accumulate
}
.s9 {
fill: #000;
fill-opacity: 1;
stroke: none
}
.s10 {
color: #000;
fill: #fff;
fill-opacity: 1;
fill-rule: nonzero;
stroke: none;
stroke-width: 1px;
marker: none;
visibility: visible;
display: inline;
overflow: visible;
enable-background: accumulate
}
.s11 {
fill: #0041c4;
fill-opacity: 1;
stroke: none
}
.s12 {
fill: none;
stroke: #0041c4;
stroke-width: 1;
stroke-linecap: round;
stroke-linejoin: miter;
stroke-miterlimit: 4;
stroke-opacity: 1;
stroke-dasharray: none
}
</style>
"""
defs_head = """
<defs>
"""
defs_tail = """
</defs>
"""
tail = """
</svg>
"""
# Brick definitions from wavedrom.js
# Split out here so only the ones that are used are inserted in the svg
use_defs = {
'arrows':
''' <marker id="arrowhead" style="fill: rgb(0, 65, 196);" markerHeight="7" markerWidth="10" markerUnits="strokeWidth" viewBox="0 -4 11 8" refX="15" refY="0" orient="auto">
<path d="M0 -4 11 0 0 4z"></path>
</marker>
<marker id="arrowtail" style="fill: rgb(0, 65, 196);" markerHeight="7" markerWidth="10" markerUnits="strokeWidth" viewBox="-11 -4 11 8" refX="-15" refY="0" orient="auto">
<path d="M0 -4 -11 0 0 4z"></path>
</marker>
''',
'socket':
''' <g id="socket">
<rect y="15" x="6" height="20" width="20"></rect>
</g>''',
'pclk':
''' <g id="pclk">
<path d="M0,20 0,0 20,0" class="s1"></path>
</g>''',
'nclk':
''' <g id="nclk">
<path d="m0,0 0,20 20,0" class="s1"></path>
</g>''',
'000':
''' <g id="000">
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'0m0':
''' <g id="0m0">
<path d="m0,20 3,0 3,-10 3,10 11,0" class="s1"></path>
</g>''',
'0m1':
''' <g id="0m1">
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'0mx':
''' <g id="0mx">
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 5,20" class="s2"></path>
<path d="M20,0 4,16" class="s2"></path>
<path d="M15,0 6,9" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'0md':
''' <g id="0md">
<path d="m8,20 10,0" class="s3"></path>
<path d="m0,20 5,0" class="s1"></path>
</g>''',
'0mu':
''' <g id="0mu">
<path d="m0,20 3,0 C 7,10 10.107603,0 20,0" class="s1"></path>
</g>''',
'0mz':
''' <g id="0mz">
<path d="m0,20 3,0 C 10,10 15,10 20,10" class="s1"></path>
</g>''',
'111':
''' <g id="111">
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'1m0':
''' <g id="1m0">
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
</g>''',
'1m1':
''' <g id="1m1">
<path d="M0,0 3,0 6,10 9,0 20,0" class="s1"></path>
</g>''',
'1mx':
''' <g id="1mx">
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 6,9" class="s2"></path>
<path d="M10,0 5,5" class="s2"></path>
<path d="M3.5,1.5 5,0" class="s2"></path>
</g>''',
'1md':
''' <g id="1md">
<path d="m0,0 3,0 c 4,10 7,20 17,20" class="s1"></path>
</g>''',
'1mu':
''' <g id="1mu">
<path d="M0,0 5,0" class="s1"></path>
<path d="M8,0 18,0" class="s3"></path>
</g>''',
'1mz':
''' <g id="1mz">
<path d="m0,0 3,0 c 7,10 12,10 17,10" class="s1"></path>
</g>''',
'xxx':
''' <g id="xxx">
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,5 5,0" class="s2"></path>
<path d="M0,10 10,0" class="s2"></path>
<path d="M0,15 15,0" class="s2"></path>
<path d="M0,20 20,0" class="s2"></path>
<path d="M5,20 20,5" class="s2"></path>
<path d="M10,20 20,10" class="s2"></path>
<path d="m15,20 5,-5" class="s2"></path>
</g>''',
'xm0':
''' <g id="xm0">
<path d="M0,0 4,0 9,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,5 4,1" class="s2"></path>
<path d="M0,10 5,5" class="s2"></path>
<path d="M0,15 6,9" class="s2"></path>
<path d="M0,20 7,13" class="s2"></path>
<path d="M5,20 8,17" class="s2"></path>
</g>''',
'xm1':
''' <g id="xm1">
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,20 4,20 9,0" class="s1"></path>
<path d="M0,5 5,0" class="s2"></path>
<path d="M0,10 9,1" class="s2"></path>
<path d="M0,15 7,8" class="s2"></path>
<path d="M0,20 5,15" class="s2"></path>
</g>''',
'xmx':
''' <g id="xmx">
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,5 5,0" class="s2"></path>
<path d="M0,10 10,0" class="s2"></path>
<path d="M0,15 15,0" class="s2"></path>
<path d="M0,20 20,0" class="s2"></path>
<path d="M5,20 20,5" class="s2"></path>
<path d="M10,20 20,10" class="s2"></path>
<path d="m15,20 5,-5" class="s2"></path>
</g>''',
'xmd':
''' <g id="xmd">
<path d="m0,0 4,0 c 3,10 6,20 16,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,5 4,1" class="s2"></path>
<path d="M0,10 5.5,4.5" class="s2"></path>
<path d="M0,15 6.5,8.5" class="s2"></path>
<path d="M0,20 8,12" class="s2"></path>
<path d="m5,20 5,-5" class="s2"></path>
<path d="m10,20 2.5,-2.5" class="s2"></path>
</g>''',
'xmu':
''' <g id="xmu">
<path d="M0,0 20,0" class="s1"></path>
<path d="m0,20 4,0 C 7,10 10,0 20,0" class="s1"></path>
<path d="M0,5 5,0" class="s2"></path>
<path d="M0,10 10,0" class="s2"></path>
<path d="M0,15 10,5" class="s2"></path>
<path d="M0,20 6,14" class="s2"></path>
</g>''',
'xmz':
''' <g id="xmz">
<path d="m0,0 4,0 c 6,10 11,10 16,10" class="s1"></path>
<path d="m0,20 4,0 C 10,10 15,10 20,10" class="s1"></path>
<path d="M0,5 4.5,0.5" class="s2"></path>
<path d="M0,10 6.5,3.5" class="s2"></path>
<path d="M0,15 8.5,6.5" class="s2"></path>
<path d="M0,20 11.5,8.5" class="s2"></path>
</g>''',
'ddd':
''' <g id="ddd">
<path d="m0,20 20,0" class="s3"></path>
</g>''',
'dm0':
''' <g id="dm0">
<path d="m0,20 10,0" class="s3"></path>
<path d="m12,20 8,0" class="s1"></path>
</g>''',
'dm1':
''' <g id="dm1">
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'dmx':
''' <g id="dmx">
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 5,20" class="s2"></path>
<path d="M20,0 4,16" class="s2"></path>
<path d="M15,0 6,9" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'dmd':
''' <g id="dmd">
<path d="m0,20 20,0" class="s3"></path>
</g>''',
'dmu':
''' <g id="dmu">
<path d="m0,20 3,0 C 7,10 10.107603,0 20,0" class="s1"></path>
</g>''',
'dmz':
''' <g id="dmz">
<path d="m0,20 3,0 C 10,10 15,10 20,10" class="s1"></path>
</g>''',
'uuu':
''' <g id="uuu">
<path d="M0,0 20,0" class="s3"></path>
</g>''',
'um0':
''' <g id="um0">
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
</g>''',
'um1':
''' <g id="um1">
<path d="M0,0 10,0" class="s3"></path>
<path d="m12,0 8,0" class="s1"></path>
</g>''',
'umx':
''' <g id="umx">
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 6,9" class="s2"></path>
<path d="M10,0 5,5" class="s2"></path>
<path d="M3.5,1.5 5,0" class="s2"></path>
</g>''',
'umd':
''' <g id="umd">
<path d="m0,0 3,0 c 4,10 7,20 17,20" class="s1"></path>
</g>''',
'umu':
''' <g id="umu">
<path d="M0,0 20,0" class="s3"></path>
</g>''',
'umz':
''' <g id="umz">
<path d="m0,0 3,0 c 7,10 12,10 17,10" class="s4"></path>
</g>''',
'zzz':
''' <g id="zzz">
<path d="m0,10 20,0" class="s1"></path>
</g>''',
'zm0':
''' <g id="zm0">
<path d="m0,10 6,0 3,10 11,0" class="s1"></path>
</g>''',
'zm1':
''' <g id="zm1">
<path d="M0,10 6,10 9,0 20,0" class="s1"></path>
</g>''',
'zmx':
''' <g id="zmx">
<path d="m6,10 3,10 11,0" class="s1"></path>
<path d="M0,10 6,10 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 6.5,8.5" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
</g>''',
'zmd':
''' <g id="zmd">
<path d="m0,10 7,0 c 3,5 8,10 13,10" class="s1"></path>
</g>''',
'zmu':
''' <g id="zmu">
<path d="m0,10 7,0 C 10,5 15,0 20,0" class="s1"></path>
</g>''',
'zmz':
''' <g id="zmz">
<path d="m0,10 20,0" class="s1"></path>
</g>''',
'gap':
''' <g id="gap">
<path d="m7,-2 -4,0 c -5,0 -5,24 -10,24 l 4,0 C 2,22 2,-2 7,-2 z" class="s5"></path>
<path d="M-7,22 C -2,22 -2,-2 3,-2" class="s1"></path>
<path d="M-3,22 C 2,22 2,-2 7,-2" class="s1"></path>
</g>''',
'0mv-3':
''' <g id="0mv-3">
<path d="M9,0 20,0 20,20 3,20 z" class="s6"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'1mv-3':
''' <g id="1mv-3">
<path d="M2.875,0 20,0 20,20 9,20 z" class="s6"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'xmv-3':
''' <g id="xmv-3">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s6"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,5 3.5,1.5" class="s2"></path>
<path d="M0,10 4.5,5.5" class="s2"></path>
<path d="M0,15 6,9" class="s2"></path>
<path d="M0,20 4,16" class="s2"></path>
</g>''',
'dmv-3':
''' <g id="dmv-3">
<path d="M9,0 20,0 20,20 3,20 z" class="s6"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'umv-3':
''' <g id="umv-3">
<path d="M3,0 20,0 20,20 9,20 z" class="s6"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'zmv-3':
''' <g id="zmv-3">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s6"></path>
<path d="m6,10 3,10 11,0" class="s1"></path>
<path d="M0,10 6,10 9,0 20,0" class="s1"></path>
</g>''',
'vvv-3':
''' <g id="vvv-3">
<path d="M20,20 0,20 0,0 20,0" class="s6"></path>
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vm0-3':
''' <g id="vm0-3">
<path d="M0,20 0,0 3,0 9,20" class="s6"></path>
<path d="M0,0 3,0 9,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vm1-3':
''' <g id="vm1-3">
<path d="M0,0 0,20 3,20 9,0" class="s6"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,20 3,20 9,0" class="s1"></path>
</g>''',
'vmx-3':
''' <g id="vmx-3">
<path d="M0,0 0,20 3,20 6,10 3,0" class="s6"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 7,8" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
</g>''',
'vmd-3':
''' <g id="vmd-3">
<path d="m0,0 0,20 20,0 C 10,20 7,10 3,0" class="s6"></path>
<path d="m0,0 3,0 c 4,10 7,20 17,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vmu-3':
''' <g id="vmu-3">
<path d="m0,0 0,20 3,0 C 7,10 10,0 20,0" class="s6"></path>
<path d="m0,20 3,0 C 7,10 10,0 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vmz-3':
''' <g id="vmz-3">
<path d="M0,0 3,0 C 10,10 15,10 20,10 15,10 10,10 3,20 L 0,20" class="s6"></path>
<path d="m0,0 3,0 c 7,10 12,10 17,10" class="s1"></path>
<path d="m0,20 3,0 C 10,10 15,10 20,10" class="s1"></path>
</g>''',
'vmv-3-3':
''' <g id="vmv-3-3">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s6"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s6"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-3-4':
''' <g id="vmv-3-4">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s7"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s6"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-3-5':
''' <g id="vmv-3-5">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s8"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s6"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-4-3':
''' <g id="vmv-4-3">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s6"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s7"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-4-4':
''' <g id="vmv-4-4">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s7"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s7"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-4-5':
''' <g id="vmv-4-5">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s8"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s7"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-5-3':
''' <g id="vmv-5-3">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s6"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s8"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-5-4':
''' <g id="vmv-5-4">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s7"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s8"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-5-5':
''' <g id="vmv-5-5">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s8"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s8"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'0mv-4':
''' <g id="0mv-4">
<path d="M9,0 20,0 20,20 3,20 z" class="s7"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'1mv-4':
''' <g id="1mv-4">
<path d="M2.875,0 20,0 20,20 9,20 z" class="s7"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'xmv-4':
''' <g id="xmv-4">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s7"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,5 3.5,1.5" class="s2"></path>
<path d="M0,10 4.5,5.5" class="s2"></path>
<path d="M0,15 6,9" class="s2"></path>
<path d="M0,20 4,16" class="s2"></path>
</g>''',
'dmv-4':
''' <g id="dmv-4">
<path d="M9,0 20,0 20,20 3,20 z" class="s7"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'umv-4':
''' <g id="umv-4">
<path d="M3,0 20,0 20,20 9,20 z" class="s7"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'zmv-4':
''' <g id="zmv-4">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s7"></path>
<path d="m6,10 3,10 11,0" class="s1"></path>
<path d="M0,10 6,10 9,0 20,0" class="s1"></path>
</g>''',
'0mv-5':
''' <g id="0mv-5">
<path d="M9,0 20,0 20,20 3,20 z" class="s8"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'1mv-5':
''' <g id="1mv-5">
<path d="M2.875,0 20,0 20,20 9,20 z" class="s8"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'xmv-5':
''' <g id="xmv-5">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s8"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,5 3.5,1.5" class="s2"></path>
<path d="M0,10 4.5,5.5" class="s2"></path>
<path d="M0,15 6,9" class="s2"></path>
<path d="M0,20 4,16" class="s2"></path>
</g>''',
'dmv-5':
''' <g id="dmv-5">
<path d="M9,0 20,0 20,20 3,20 z" class="s8"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'umv-5':
''' <g id="umv-5">
<path d="M3,0 20,0 20,20 9,20 z" class="s8"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'zmv-5':
''' <g id="zmv-5">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s8"></path>
<path d="m6,10 3,10 11,0" class="s1"></path>
<path d="M0,10 6,10 9,0 20,0" class="s1"></path>
</g>''',
'vvv-4':
''' <g id="vvv-4">
<path d="M20,20 0,20 0,0 20,0" class="s7"></path>
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vm0-4':
''' <g id="vm0-4">
<path d="M0,20 0,0 3,0 9,20" class="s7"></path>
<path d="M0,0 3,0 9,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vm1-4':
''' <g id="vm1-4">
<path d="M0,0 0,20 3,20 9,0" class="s7"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,20 3,20 9,0" class="s1"></path>
</g>''',
'vmx-4':
''' <g id="vmx-4">
<path d="M0,0 0,20 3,20 6,10 3,0" class="s7"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 7,8" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
</g>''',
'vmd-4':
''' <g id="vmd-4">
<path d="m0,0 0,20 20,0 C 10,20 7,10 3,0" class="s7"></path>
<path d="m0,0 3,0 c 4,10 7,20 17,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vmu-4':
''' <g id="vmu-4">
<path d="m0,0 0,20 3,0 C 7,10 10,0 20,0" class="s7"></path>
<path d="m0,20 3,0 C 7,10 10,0 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vmz-4':
''' <g id="vmz-4">
<path d="M0,0 3,0 C 10,10 15,10 20,10 15,10 10,10 3,20 L 0,20" class="s7"></path>
<path d="m0,0 3,0 c 7,10 12,10 17,10" class="s1"></path>
<path d="m0,20 3,0 C 10,10 15,10 20,10" class="s1"></path>
</g>''',
'vvv-5':
''' <g id="vvv-5">
<path d="M20,20 0,20 0,0 20,0" class="s8"></path>
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vm0-5':
''' <g id="vm0-5">
<path d="M0,20 0,0 3,0 9,20" class="s8"></path>
<path d="M0,0 3,0 9,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vm1-5':
''' <g id="vm1-5">
<path d="M0,0 0,20 3,20 9,0" class="s8"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,20 3,20 9,0" class="s1"></path>
</g>''',
'vmx-5':
''' <g id="vmx-5">
<path d="M0,0 0,20 3,20 6,10 3,0" class="s8"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 7,8" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
</g>''',
'vmd-5':
''' <g id="vmd-5">
<path d="m0,0 0,20 20,0 C 10,20 7,10 3,0" class="s8"></path>
<path d="m0,0 3,0 c 4,10 7,20 17,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vmu-5':
''' <g id="vmu-5">
<path d="m0,0 0,20 3,0 C 7,10 10,0 20,0" class="s8"></path>
<path d="m0,20 3,0 C 7,10 10,0 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vmz-5':
''' <g id="vmz-5">
<path d="M0,0 3,0 C 10,10 15,10 20,10 15,10 10,10 3,20 L 0,20" class="s8"></path>
<path d="m0,0 3,0 c 7,10 12,10 17,10" class="s1"></path>
<path d="m0,20 3,0 C 10,10 15,10 20,10" class="s1"></path>
</g>''',
'Pclk':
''' <g id="Pclk">
<path d="M-3,12 0,3 3,12 C 1,11 -1,11 -3,12 z" class="s9"></path>
<path d="M0,20 0,0 20,0" class="s1"></path>
</g>''',
'Nclk':
''' <g id="Nclk">
<path d="M-3,8 0,17 3,8 C 1,9 -1,9 -3,8 z" class="s9"></path>
<path d="m0,0 0,20 20,0" class="s1"></path>
</g>''',
'vvv-2':
''' <g id="vvv-2">
<path d="M20,20 0,20 0,0 20,0" class="s10"></path>
<path d="m0,20 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vm0-2':
''' <g id="vm0-2">
<path d="M0,20 0,0 3,0 9,20" class="s10"></path>
<path d="M0,0 3,0 9,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vm1-2':
''' <g id="vm1-2">
<path d="M0,0 0,20 3,20 9,0" class="s10"></path>
<path d="M0,0 20,0" class="s1"></path>
<path d="M0,20 3,20 9,0" class="s1"></path>
</g>''',
'vmx-2':
''' <g id="vmx-2">
<path d="M0,0 0,20 3,20 6,10 3,0" class="s10"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m20,15 -5,5" class="s2"></path>
<path d="M20,10 10,20" class="s2"></path>
<path d="M20,5 8,17" class="s2"></path>
<path d="M20,0 7,13" class="s2"></path>
<path d="M15,0 7,8" class="s2"></path>
<path d="M10,0 9,1" class="s2"></path>
</g>''',
'vmd-2':
''' <g id="vmd-2">
<path d="m0,0 0,20 20,0 C 10,20 7,10 3,0" class="s10"></path>
<path d="m0,0 3,0 c 4,10 7,20 17,20" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'vmu-2':
''' <g id="vmu-2">
<path d="m0,0 0,20 3,0 C 7,10 10,0 20,0" class="s10"></path>
<path d="m0,20 3,0 C 7,10 10,0 20,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'vmz-2':
''' <g id="vmz-2">
<path d="M0,0 3,0 C 10,10 15,10 20,10 15,10 10,10 3,20 L 0,20" class="s10"></path>
<path d="m0,0 3,0 c 7,10 12,10 17,10" class="s1"></path>
<path d="m0,20 3,0 C 10,10 15,10 20,10" class="s1"></path>
</g>''',
'0mv-2':
''' <g id="0mv-2">
<path d="M9,0 20,0 20,20 3,20 z" class="s10"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'1mv-2':
''' <g id="1mv-2">
<path d="M2.875,0 20,0 20,20 9,20 z" class="s10"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'xmv-2':
''' <g id="xmv-2">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s10"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,5 3.5,1.5" class="s2"></path>
<path d="M0,10 4.5,5.5" class="s2"></path>
<path d="M0,15 6,9" class="s2"></path>
<path d="M0,20 4,16" class="s2"></path>
</g>''',
'dmv-2':
''' <g id="dmv-2">
<path d="M9,0 20,0 20,20 3,20 z" class="s10"></path>
<path d="M3,20 9,0 20,0" class="s1"></path>
<path d="m0,20 20,0" class="s1"></path>
</g>''',
'umv-2':
''' <g id="umv-2">
<path d="M3,0 20,0 20,20 9,20 z" class="s10"></path>
<path d="m3,0 6,20 11,0" class="s1"></path>
<path d="M0,0 20,0" class="s1"></path>
</g>''',
'zmv-2':
''' <g id="zmv-2">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s10"></path>
<path d="m6,10 3,10 11,0" class="s1"></path>
<path d="M0,10 6,10 9,0 20,0" class="s1"></path>
</g>''',
'vmv-3-2':
''' <g id="vmv-3-2">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s10"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s6"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-4-2':
''' <g id="vmv-4-2">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s10"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s7"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-5-2':
''' <g id="vmv-5-2">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s10"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s8"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-2-3':
''' <g id="vmv-2-3">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s6"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s10"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-2-4':
''' <g id="vmv-2-4">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s7"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s10"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-2-5':
''' <g id="vmv-2-5">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s8"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s10"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
'vmv-2-2':
''' <g id="vmv-2-2">
<path d="M9,0 20,0 20,20 9,20 6,10 z" class="s10"></path>
<path d="M3,0 0,0 0,20 3,20 6,10 z" class="s10"></path>
<path d="m0,0 3,0 6,20 11,0" class="s1"></path>
<path d="M0,20 3,20 9,0 20,0" class="s1"></path>
</g>''',
}