Number | 341
|
Category | errata
|
Synopsis | How are two dimensional arrays of regs to be treated in VPI?
|
State | lrmdraft
|
Class | errata-ptf
|
Arrival-Date | May 06 2003
|
Originator | chas@cadence.com
|
Release | 2001b: 26.6.7, 26.6.9
|
Environment |
|
Description |
The 1364-2001 specification adds VPI support for multi-dimensional arrays (MDAs) of regs. However, there already was support for 2 dimensional arrays of regs, known as memories. The specification is unclear on how two dimensional arrays of regs are to be treated. I see three possibilities: - Treat them only as memories - Treat them only as MDAs - Allow them to be both a memory and an MDA. |
Fix |
In order to reconcile a 2 dimensional array of regs, formerly known as a memory, with arrays of regs with more dimensions, I propose the following changes: Make the following changes to section 26.6.1: - Change the reference enclosure "memory" to "reg array" - Add a "vpiMemory" label to the 1 to many iteration to memory. Make the following changes to section 26.6.3: - Rename the memory solid enclosure as reg array - Label the one to many transition from scope to memory with vpiMemory. Make the following changes to section 26.6.9: - Change the definition enclosure "memory" to a reference enclosure "reg array" - Change the definition enclosure "memory word" to a reference enclosure "reg" - Add a label "vpiMemory" to the 1 to many iteration from module and scope. - Add a label "vpiMemoryWord" to the 1 to many iteration from memory to memory word. - Add a property to memory: -> is a memory bool: vpiIsMemory - Remove the properties name and size from memory, as they are duplicates of those in 26.6.7 - Remove the properties constant selection name, size, and value from memory word, as they are duplicates of those in 26.6.7. - Replace the three notes with one that says: The objects vpiMemory and vpiMemoryWord have been generalized with the addition of arrays of regs. To preserve backward compatibility, they have been converted into methods which will return objects of type vpiRegArray and vpiReg, respectively. See section 26.6.7 for the definitions of regs and reg arrays. Make the following changes to section 26.6.19: - Remove the memory solid enclosure in the unnamed dotted enclosure accessed via vpiArgument Make the following changes to section 26.6.25: - Remove the 2 memory word reference enclosures. Make the following changes to section 26.6.42: - Remove the memory reference enclosure. Make the following changes to section 26.6.43: - Remove the memory reference enclosure. Add the following to annex G: - Immediately after vpiIndexedPartSelectType: #define vpiIsMemory 73 /* TRUE for a one dimensional reg array */ Notes from proposer: - The #define in the include file (annex G) may need to be reconciled with other PTF items. |
Audit-Trail |
From: Shalom.Bresticker@motorola.com To: chas@cadence.com Cc: ptf-bugs@boyd.com Subject: Re: errata/341: How are two dimensional arrays of regs to be treated in VPI? Date: Thu, 8 May 2003 11:14:45 +0300 (IDT) Note 3 at the bottom of 26.6.9 says, "Although the access provided in Section 26.6.9 is still allowed, the prefered method is to iterate using vpiRegArray. See Section 26.6.7.". This says to me that memories are treated as both memories and MDAs. Shalom > The 1364-2001 specification adds VPI support for > multi-dimensional arrays (MDAs) of regs. However, there > already was support for 2 dimensional arrays of regs, known > as memories. The specification is unclear on how two > dimensional arrays of regs are to be treated. I see three > possibilities: > > - Treat them only as memories > - Treat them only as MDAs > - Allow them to be both a memory and an MDA. From: Shalom.Bresticker@motorola.com To: chas@cadence.com Cc: ptf-bugs@boyd.com Subject: Re: errata/341: PROPOSAL - How are two dimensional arrays of regs to be treated in VPI? Date: Wed, 22 Oct 2003 18:18:07 +0200 (IST) Hi, In the pdf diagram, you used the word "obviscated". Is that a word? I was unable to find it neither in www.m-w.com or in www.dictionary.com. > See the diagrams at > http://www.verilog-2001.com/pli_errata/ > See ptf341.pdf Thanks, Shalom Fix replaced by etf@boyd.com on Fri Jan 30 06:53:25 2004 In order to reconcile a 2 dimensional array of regs, formerly known as a memory, with arrays of regs with more dimensions, I propose the following changes: Make the following changes to section 26.6.9: - Change the definition enclosure "memory" to a reference enclosure "reg array" - Change the definition enclosure "memory word" to a reference enclosure "reg" - Add a label "vpiMemory" to the 1 to many iteration from module and scope. - Add a label "vpiMemoryWord" to the 1 to many iteration from memory to memory word. - Add a property to memory: -> is a memory bool: vpiIsMemory Make the following changes to section 26.6.1: - Change the reference enclosure "memory" to "reg array" - Add a "vpiMemory" label to the 1 to many iteration to memory. Make the following changes to section 26.6.25: - Remove the 2 memory word reference enclosures. Make the following changes to section 26.6.42: - Remove the memory reference enclosure. Make the following changes to section 26.6.43: - Remove the memory reference enclosure. Add the following to annex G: - Immediately after vpiModPathHasIfNone (line 482): #define vpiIsMemory 73 /* A reg MDA is a memory */ See the diagrams at http://www.verilog-2001.com/pli_errata/ See ptf341.pdf Notes from proposer: - The #define in the include file (annex G) may need to be reconciled with other PTF items. From: Shalom.Bresticker@motorola.com To: chas@cadence.com Cc: ptf-bugs@boyd.com Subject: Re: errata/341: PROPOSAL - How are two dimensional arrays of regs to be treated in VPI? Date: Sun, 1 Feb 2004 16:40:28 +0200 (IST) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-1857409239-1075646428=:16002 Content-Type: TEXT/PLAIN; charset=US-ASCII > Make the following changes to section 26.6.9: > > - Change the definition enclosure "memory" to > a reference enclosure "reg array" > - Change the definition enclosure "memory word" > to a reference enclosure "reg" > - Add a label "vpiMemory" to the 1 to many iteration > from module and scope. > - Add a label "vpiMemoryWord" to the 1 to many iteration > from memory to memory word. > - Add a property to memory: > > -> is a memory > boo: vpiIsMemory > Make the following changes to section 26.6.1: > > - Change the reference enclosure "memory" to "reg array" There is already such an enclosure ? > - Add a "vpiMemory" label to the 1 to many iteration to > memory. > Add the following to annex G: > > - Immediately after vpiModPathHasIfNone (line 482): > > #define vpiIsMemory 73 /* A reg MDA is a memory */ We have already added after vpiModPathHasIfNone the following: "#define vpiIndexedPartSelectType 72 /* Indexed part-select type */" Presumably, you want to add the new line after this? > See the diagrams at > http://www.verilog-2001.com/pli_errata/ > See ptf341.pdf The correct file name is 341_vpi_memory.pdf, attached. It does not completely correspond to the proposed changes above. Specifically, the original diagram contains properties name and size on "memory" and constant selection, name, size, and value on "memory word". These are not found in the new diagram. There are 3 notes in the original diagram which are replaced in the new diagram with a new note. The new note contains "obviscated", which is not a word, nor does "obfuscated" seem appropriate. Perhaps "obsoleted" is wanted? -- Shalom Bresticker Shalom.Bresticker@motorola.com Design, Verification & Reuse Methodology Tel: +972 9 9522268 Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478 ---559023410-1857409239-1075646428=:16002 Content-Type: APPLICATION/pdf; name="341_vpi_memory.pdf" Content-Transfer-Encoding: BASE64 Content-ID: <Pine.GSO.4.10.10402011640280.16002@eagle> Content-Description: Content-Disposition: attachment; filename="341_vpi_memory.pdf" JVBERi0xLjIKJeLjz9MNCjggMCBvYmoKPDwgCi9MaW5lYXJpemVkIDEgCi9P IDExIAovSCBbIDkzMCAxODkgXSAKL0wgMTUwNjQgCi9FIDE0MzA5IAovTiAx IAovVCAxNDc4NyAKPj4gCmVuZG9iagogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4cmVmCjgg MjQgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAwMDgyNCAwMDAwMCBuIAow MDAwMDAwODkyIDAwMDAwIG4gCjAwMDAwMDExMTkgMDAwMDAgbiAKMDAwMDAw MTI3MyAwMDAwMCBuIAowMDAwMDAxMzk4IDAwMDAwIG4gCjAwMDAwMDE2OTAg MDAwMDAgbiAKMDAwMDAwMTk4MiAwMDAwMCBuIAowMDAwMDAyNDQ4IDAwMDAw IG4gCjAwMDAwMDI1OTUgMDAwMDAgbiAKMDAwMDAwNDk2NiAwMDAwMCBuIAow MDAwMDA2OTg2IDAwMDAwIG4gCjAwMDAwMDgyNjAgMDAwMDAgbiAKMDAwMDAw ODM3MCAwMDAwMCBuIAowMDAwMDA4NjUzIDAwMDAwIG4gCjAwMDAwMDkwMDYg MDAwMDAgbiAKMDAwMDAwOTU0NCAwMDAwMCBuIAowMDAwMDA5ODk1IDAwMDAw IG4gCjAwMDAwMTMzNjIgMDAwMDAgbiAKMDAwMDAxMzcyOSAwMDAwMCBuIAow MDAwMDEzOTYxIDAwMDAwIG4gCjAwMDAwMTQxNzAgMDAwMDAgbiAKMDAwMDAw MDkzMCAwMDAwMCBuIAowMDAwMDAxMDk5IDAwMDAwIG4gCnRyYWlsZXIKPDwK L1NpemUgMzIKL0luZm8gNiAwIFIgCi9Sb290IDkgMCBSIAovUHJldiAxNDc3 OCAKL0lEWzxjN2IzYzRmN2U4MzZkNjhkOTMyMWNmNjc5M2JiODFkOD48Yzdi M2M0ZjdlODM2ZDY4ZDkzMjFjZjY3OTNiYjgxZDg+XQo+PgpzdGFydHhyZWYK MAolJUVPRgogICAgIAo5IDAgb2JqCjw8IAovVHlwZSAvQ2F0YWxvZyAKL1Bh Z2VzIDcgMCBSIAovTmFtZXMgMTAgMCBSIAo+PiAKZW5kb2JqCjEwIDAgb2Jq Cjw8IAovRGVzdHMgNSAwIFIgCj4+IAplbmRvYmoKMzAgMCBvYmoKPDwgL1Mg MzYgL0UgOTIgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAzMSAwIFIg Pj4gCnN0cmVhbQ0KSIliYGAQY2BgXsQABMY+DNgAB5QWAGJhKGZgCGTgYZmg w2twWULAqV99stcEWZ6FAjIT+S4vlOMsaIDpZWRgMHsHpFmBTG2AAAMAxzcL qQplbmRzdHJlYW0KZW5kb2JqCjMxIDAgb2JqCjc5IAplbmRvYmoKMTEgMCBv YmoKPDwgCi9UeXBlIC9QYWdlIAovUGFyZW50IDcgMCBSIAovUmVzb3VyY2Vz IDEyIDAgUiAKL0NvbnRlbnRzIDE4IDAgUiAKL0Nyb3BCb3ggWyA5MCAwIDcw MiA3OTIgXSAKL01lZGlhQm94IFsgMCAwIDc5MiA3OTIgXSAKL1JvdGF0ZSAw IAo+PiAKZW5kb2JqCjEyIDAgb2JqCjw8IAovUHJvY1NldCBbIC9QREYgL1Rl eHQgXSAKL0ZvbnQgPDwgL0YxIDE0IDAgUiAvRjMgMjcgMCBSIC9GNSAyNCAw IFIgPj4gCi9FeHRHU3RhdGUgPDwgL0dTMSAyOSAwIFIgPj4gCj4+IAplbmRv YmoKMTMgMCBvYmoKPDwgCi9UeXBlIC9Gb250RGVzY3JpcHRvciAKL0FzY2Vu dCA3MTIgCi9DYXBIZWlnaHQgNzEyIAovRGVzY2VudCAtMjMyIAovRmxhZ3Mg NCAKL0ZvbnRCQm94IFsgLTIyMiAtMjUwIDEwMDYgOTIyIF0gCi9Gb250TmFt ZSAvQ0JGSUFNK0FyaWFsTVQgCi9JdGFsaWNBbmdsZSAwIAovU3RlbVYgODgg Ci9YSGVpZ2h0IDU5MiAKL0NoYXJTZXQgKC90L2cvTS91L3YvbS9vL2MvUi95 L24vbC9wL2UvUC9mL0kveC9yL3NwYWNlL2gvZC9zL2kvVy9hL0wpCi9Gb250 RmlsZTMgMTcgMCBSIAo+PiAKZW5kb2JqCjE0IDAgb2JqCjw8IAovVHlwZSAv Rm9udCAKL1N1YnR5cGUgL1R5cGUxIAovRmlyc3RDaGFyIDEgCi9MYXN0Q2hh ciAyNyAKL1dpZHRocyBbIDgzMyA1NTYgNTU2IDU1NiAyMjIgNTU2IDMzMyA1 NTYgMjc4IDU1NiA1MDAgNTAwIDUwMCA1NTYgNTAwIDUwMCAyMjIgCjU1NiAy NzggMjc4IDcyMiA1NTYgNTU2IDY2NyAyNzggODMzIDk0NCBdIAovRW5jb2Rp bmcgMTYgMCBSIAovQmFzZUZvbnQgL0NCRklBTStBcmlhbE1UIAovRm9udERl c2NyaXB0b3IgMTMgMCBSIAovVG9Vbmljb2RlIDE1IDAgUiAKPj4gCmVuZG9i agoxNSAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDM5 MiA+PiAKc3RyZWFtDQpIiVSSTW+CQBCG7/6KOdr0wA7yoYkhabRNPNg21fbO x2BIdCErHvz33XeHmvTA5uVhBpZnJ9rstjvbjRR9ur4+yEhtZxsn1/7maqFK Tp0ljqnp6nG6C2t9KQeKfPPhfh3lsrNtT+v1LPryD6+ju9P8xXXleX98Nk8U fbhGXGdPND/y948Hh9swnOUidiRDRUGNtLNosy+H9/IiFD16wwOePtk3ch3K WlxpT0JrwwWtuSpIbPP/2SzOtaVq9V5rdTHZtvAgRo4VvAEskBcKEoAEOSwm TwFS5FQrNgAZcqYgVOTIubbEAEvkpVbkACvksJjYAJTIpVYwQIVc6TtWADVy rWAB0CA32hKAIItWhJe2yK2CpQdsoMooyACCu8kHvsJQweojwc8xVPDkI7RA BU8+IIihgtVHir9lqODJxysAVLD6yMI+oILVR4qdMlSw+kjCPqCC1UeCg8IB 6+JbvEJ/2H+ninPHGD7mpr4550cqzGqYJoxPZ+UxzkM/YFpwzX4FGACL5MLt CmVuZHN0cmVhbQplbmRvYmoKMTYgMCBvYmoKPDwgCi9UeXBlIC9FbmNvZGlu ZyAKL0RpZmZlcmVuY2VzIFsgMSAvbSAvbyAvZCAvdSAvbCAvZSAvciAvZyAv c3BhY2UgL2EgL3kgL3MgL2MgL3AgL3ggL3YgL2kgL0wgL2YgL3QgCi9SIC9u IC9oIC9QIC9JIC9NIC9XIF0gCj4+IAplbmRvYmoKMTcgMCBvYmoKPDwgL0Zp bHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAyMjc5IC9TdWJ0eXBlIC9UeXBl MUMgPj4gCnN0cmVhbQ0KSIk8lXtUE9cWh2cImdHqjcI0KWRwZqqg1ItelYpa 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 V+R32vfX1LTmBnzL9BwUX8jZ8hYJHekyf54/wn7Xdm5mf9wm/iGzJiNGHq9Z NWl6zHlzNiNZmfOUH9aKd1lFUNwpNezYZsigo4xVl1hotLb6wgLSd4UYSRcG 30M3yKlGIefT5UUFh4W2faywHy7XX6xgsFL11GbeR9YpHDBUJWyP2hC/NY6J 2RyhjaKjFeWXstidp4zlt+RwwRc9JFfvUZxQMBGVZn0jfaqzoPtfrEl4YWY5 niyBWMJrKC2oZU8JWMkfFk8mqFpEInN2SmbcjljhSs79bmd1+nUkgia3ifZ1 jkOO7+O3iPbJ3hPgATHHtIU5RTtNBvd3aKoYMAIth0oI/p++t7MqsZn85qso 7OyoyJdsntU2uWSd9Xdeid+MbN+df/ewAs36nfYgtOxnUrnQ7B8FwhuEC07+ jhEV3tA+c27rEun3qx982ijfN7FnQk/v96gfiyWM2H4z/T5Yk9yQ1pQIdlfj prIjvxm+H5DQAdYlf2Z3dbQ3dLRIuhfXZ3hKl1X399fJ8xUt+Zkw/Xfa9O8u 3WzfP075c2YaO5IQB0SI8zLXY+7LM3h4Hk/i4f1xQOT7XVGAAAMAAM6SHApl bmRzdHJlYW0KZW5kb2JqCjE4IDAgb2JqCjw8IC9MZW5ndGggMTk0NSAvRmls dGVyIC9GbGF0ZURlY29kZSA+PiAKc3RyZWFtDQpIiaRXS3MbxxEuAQsCWLEI EwRhSYycTWInC1VxNe/ZvaYSucpVOZk3xpcwliou8BIe/Pf9dffMYkHAjwQH cudDv3t6eqZ19al8//W3uvr0VOrqP1WpKlXFzvDff78vP+KHr0tTfYOff6hU E6ofK9u0ofpHdf+dqv5d6q6tgg7Vo6yMbXRbGQUeA9RVRmv+PpSms7zallYp 4iJgVchCvISmh5JXqiUVmVXZiuXxhSbSidW2zIYA2LwIZZ8eyn+9K/96V77/ oCtd3X0stasoPnyM6RrlwWWqu0fE+Al/dw/078eyfjEaF5Ozzd0P5d/vkJVP pYmqcrFDkLxqAwcZPRlzSJRpLX/hevC8QpDREBcBG9ssxMtI6ZCV5iATawgV ywdynXVihSCTIQBxhIWyTznIQWxdaEwE0efY7uvp2Wz+T6XNdLrRqqbVBhkI 9cvNd3ff5DCtM02LPXEGkfagY79d20RdWe/pjwlYPpTOxgy2pXO+UZGB82og 3SNKUQbWcVRJBrWQdXG1ZCtSMMm6YR0D6YHHh3mwSHmEatvmPFAaBtt6HxvT xSo01riqr2YfXKpmj0zvqtlDF1UefaWaadVXMwEq3CTES2iSavY+DKrZe83V TF+pZlr11UyAzYtQ9unIRlsL10FUfYDn2Fo/usjFq3BwdaNanFo5rlbHRjnU PTafwrQKOcdp0hxJJrrGhiEm4tMJsh/fSQvh9oHdtLRpRHpkPp/5vh06nFX4 EPbsUS62O6LesyfEpxNkj/oqNZF8Fb5nvjrW5ZVr0Ivo9DgcfUc2qXzZi0Tc MrEHTyfIPvdVSD4rOZpUGHOx8tinTo65a6gAlW9iMhdDJm97csZPpyo4cFmo vnFDZYazfuB725IS1+IHasY2dg31ubZxvK2JTO1yCBP56UT5fc8dXOYOzlTo ajsKoefe99xp26DHoLs3rgU3SXPbRKemCnS6pW1L9G1Pz/jpZA2H3idqN9D2 C96jQG1Ep4zMTRdVbLRPhlGgibgVYgZPJ8g+91hIba+k9Y217OvxXu61biK9 DQydpMcd7poOJzr3Hc99wTimCXoogwoDvC0DougypAa4U9Qjk0QF+843AQ8W FvQoDhIUrQk9lMlqwtsy+ZRw8jcp2o/m8C7w3vBd0LVE7+/9s41Vja0XF9Ph RU/KkPeAC7fzKTWEcRdry6lxeIHhngaVnCSaIEnNDktq6AkmOF0OSVNGYkdy w1jRxZwlYYAkk15BkpwdluSQV4L7CFjTfjzHk2OIbon+q8mx1IOsgT+RkyMY wi0ZRlfAObMdUT2YmMaIktMOMCXHN/RoERyMHmjKSOxANmHkyEmtkSSMk2TS K4iSEwaYkiNeCc4ei6b9eI4lx8rjyhD9NyTHUhvS0vZ6jIOM6oNFPqeOqOQk 0QRJcnZYkuNNxhT+TlOPdJJN2Dtqd1nScbvKegVJcnaYkiNeCc4ei6b9eI4n hxLrI9F/ITkHLy1PJxVWPQ4kJ8oQNRna9uTg6C4aYJ1vqxMVPGufASfADvYN 3HbAvd/wiUr5xVnTNrdOxyXET96eznfeACf608kannuvZRhgqnivBtxMD7vo MjaZiFGI3i2Rmp3D8zqBw7gVyQUaLthpRQRqKynlQnYqpzyxx92enaTgWdS2 Jz0yqx2wHjpuqE2AiQ0raSIYKPih2NN96hcZ2/wIPVXDgeuN8ZmKnHcdd/zM 7awfBP7Y454Y6SqJsmE2WFYmeEsY72PUi9CYIHtJR1fJ0VWYLBW9NOjQ1p9d XC7PrlbXNPiuZzwd3SoIGdjHhfC3oxyKHim3fN0kjuvL2efPWGx1CyXxZzkg H2NX6YC3giGue2J7tcGN0NXENz1br7iJ3KLxVbfUj3zP93o9PtvgjLT1YtiF jw2umD6d5cEVK69kcDU8dfqAwVXxlwZX+QXjJjaFJlUAq3wW4iU00eCKFW2M qTKrVRXL40uDq+IVDa5iCIDNi1D26djgGhErbsX/qaNaJFFRX/d5pgv01iET 2x1R5Zku4TRj/d+yzwcWw52IU018PvNx9b3/YCu8vj6W2kisyAJd9S3fHff1 i9F4NC4mZ9PZnPZ+c9s1vn7JEb//oJNoX8GUR6PlgjSiADXx5uzFaLq5RbpM /fIGaatH07FUENhxHlBCfldCe+zJkj9wEudE46LhxxF5WUyoeHHn4sTd4l0S QhSNZ1CF94utp7NiPqIgXhbn4wmF4y8WnxWXo+XVfHW93vvh802r69FyPZ+t Ngbnjgrfb7SvC05DUVyLqg2mxMjExeR8NS7W81eL8Ww+hqnVer0YL0ZgfM1B 4N3XYbzd8221XK6uJuCYLwtS1dVvJjfz+XTTorLr0fxiWUyKZbINQ2J9df67 VxutIL2en48uL1bjBf28eLsYX20wIIX6C/KAFIb6KoUQj4RwPrqmYx12pCWF sLgej+aXxXj2e3b87h08Ha0n81ezxfkMAb59C3fH1fJ6mE7EML66KFIW/1CQ wwjnjxThIL1CcPWbL6BjcgHRxcagCnYuvOUYXI08/Kko5hNigZ+9J19+dfPV zZ/nr0dLTvO6+Ms157lPI9udsE2Bpn4zl0zf5KP6kwADACwoGAgKZW5kc3Ry ZWFtCmVuZG9iagoxOSAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAv TGVuZ3RoIDExODIgL1N1YnR5cGUgL1R5cGUxQyA+PiAKc3RyZWFtDQpIiVRS D0wTVxy+a3stulqU9tD0uN4rLpsLysIwTCROUdOJWnQCbuD+UOgh3UqLbYXg nG6KMjiKRQlI5xRRnMY5i1ucWTBRo5G/CozNbHFx/+fmMuPi8nv6mrjX6pbt Lvcl73vvfd/v9/2OZTQqhmVZ05LFtrzFeWm5PpfDPWex1+20F8b4LDyNwQKL U1RYVGOTBlv0ySSHtNzfdn8hZ+liHyjKQ9Tr4GYiPJg2mKL5MonRsOzEd7/+ tcRbXedzra8MoFnlT6GM7OyM2THMjGNWHJ+N47w4ZqNcp7dMRgV1/oBc5Ud5 nnKvr9rrcwRkZzpCuW43WhNT86M1sl/21VA2Xi9y+ZEDBXwOp1zl8L2BvBWo sFJGdq/HG6irltGSRyourycd+eT1Lirvk53I5UEBeq6oAK2mFp4AcnicqPBf mVUVFa5yOU7Kbr9cW0kvPTK0F6JYRv8s/pcafVgmkTEy0xkzk87YmHxmNVPA lDB6mjSjZjhmBuNnbrIvs/vY+6oNqj4VUa9CBvoqILLjIKrHk0EEkYhagwIm vAG07GlKFNAdHAITT3q0+493d40NJ4wN/XwDppl/ygcVmV9i21JWYllT8s6i BheIb82YCB09NSQcvrJ9brPUZHulNO0ZIhLT2kVvWxPwRq1hK2ghfBusVP0M pMMLIKhxK+7l3+3a/kl1b8J5p/3QCoF0KuTS8mWhvIMrJZJ6FpjAoADizT9g JqSm/UK4DYU7i16TGoPcF6E2mHpLGG2zbwpKxEYiPOiu7X7/N4VM2lSrECYz r3J03BI3td6GMDX9EARqmq7+DObzLTV7yo7ICUWnBvxDAnQqcGn4ys6RjYMS pBYTpnulQMT0WWQmSb31NHA9F0LnP5WCjVzuzm1kappg2zawr1ECG0R4oltY XzdbgUn7DijA/DDykW2pxYALu2pwP8ym0ZpxDphj8Zpxf5BWEu3nQNKChPu5 YLQfzPdKSZWWGKObuUYt4fFmjrhpUHfBeAOm3GVP0K4dkKLGkyGb99e/uW6F sOD14QHq/bsW5rQUQQZ5USDzcomZoNI9L3UXS2TyBdDvOCPAotNgON4uke8h i7/adOrcsND11XbCtUgG3EyrW3B3a23SIJ3x0oefKcV43dg3iMN8NEyZkM54 /druQ+3dlmOdkQMnhc+b1mZKJEJ3grqhUE/HUcuJvZHuk8KE8ny+RPoo/63u ogJW8lxWcZE3YDm4xXX5SaHCvmPhKqlRa+wb0xmgZitoYBw0bC/9BVrBqu6F /Typh3z5G8i5Dcm01+mZYCHLyMp5xEoSLWCt54G9fHZk7GLRTKJb/qp9eX4f qCyGXbSBNFATNSQmXQXROAqOZJirg8db/vyx58jm+naLMXIa9Fynf317lbDa U1nsiVUxOkGDDusMpALYnJp7ztqkNnzMGGmjTUNx9D0urXpdg1uo2dIc8kvG 6g7EGSMN+7sbTgrwxAdfQ8LHUms4FA7ughW4YQZJ1RJ9VBObWiLWcAbf4Xul HaSiA5YqWrjTGh3Yq/sPlQB32qLD7ZOAnQziY8B26PUg7tZPadYb8DkT5vm/ BRgA1tFCWgplbmRzdHJlYW0KZW5kb2JqCjIwIDAgb2JqCjw8IAovVHlwZSAv RW5jb2RpbmcgCi9EaWZmZXJlbmNlcyBbIDEgL3R3byAvc2l4IC9wZXJpb2Qg L25pbmUgL3NwYWNlIC9NIC9lIC9tIC9vIC9yIC95IF0gCj4+IAplbmRvYmoK MjEgMCBvYmoKPDwgCi9UeXBlIC9Gb250RGVzY3JpcHRvciAKL0FzY2VudCA3 MTIgCi9DYXBIZWlnaHQgNzEyIAovRGVzY2VudCAtMjMyIAovRmxhZ3MgMjYy MTQ4IAovRm9udEJCb3ggWyAtMTY3IC0yNTAgMTAwNiA5MzkgXSAKL0ZvbnRO YW1lIC9DQkZJQkkrQXJpYWwtQm9sZE1UIAovSXRhbGljQW5nbGUgMCAKL1N0 ZW1WIDEzNyAKL1hIZWlnaHQgNDcyIAovQ2hhclNldCAoL00vbmluZS90d28v bS9vL3kvZS9wZXJpb2Qvc2l4L3NwYWNlL3IpCi9Gb250RmlsZTMgMTkgMCBS IAo+PiAKZW5kb2JqCjIyIDAgb2JqCjw8IAovVHlwZSAvRm9udERlc2NyaXB0 b3IgCi9Bc2NlbnQgNTkyIAovQ2FwSGVpZ2h0IDcxMiAKL0Rlc2NlbnQgLTIz MiAKL0ZsYWdzIDYgCi9Gb250QkJveCBbIC0xNjcgLTI1MCAxMDA5IDg3OCBd IAovRm9udE5hbWUgL0NCRklCTytUaW1lc05ld1JvbWFuUFNNVCAKL0l0YWxp Y0FuZ2xlIDAgCi9TdGVtViA4MSAKL1hIZWlnaHQgNDcyIAovQ2hhclNldCAo L3Qvai9nL00vdS9vbmUvay9BL2ZpL3YvdHdvL20vYi93L28vYy9SL2NvbW1h L3kvbi9wL2wvZS9TL04vaHlwaGVuL2YvVC9wXAplcmlvZC9yL3NwYWNlL2gv c2l4L2Qvcy9zZXZlbi9pL1cvYSkKL0ZvbnRGaWxlMyAyNSAwIFIgCj4+IApl bmRvYmoKMjMgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0 aCA0NjQgPj4gCnN0cmVhbQ0KSIlsk09r3DAQxe/+FDq25GCN/G8Di6HZNLCH pCGb9u61x4uhlo3sJeTbV2/GCQR62OH5Z2lW73mUHo73Rz+sJn0OU3vi1fSD 7wIv0zW0bM58GbwhZ7qhXbcnqe3YzCaNm0/vy8rj0feT2e+T9CW+XNbwbr69 DiMvT/z2Mo2Nfz49vt7Y7yb9FToOg7/E9/T7TwSn6zz/5ZH9aqypa9Nxn6SH x2Z+akY26X+6yBLajjF1vMxNy6HxFzZ7S7XZu6o27Luv75Ks0C3nXp91rRab /6wjcNBSbPkAkEFLsVUOkEPnuqIAKKALXZEBlNBSbEYAFbQUW0iPHfROe+wA bqGlWGcBGuhGVziAM/RZwQ+AFrpVIH/bQXd6jhKAoVmBNO2he91yGwHZqKVE +/cAiII0j1IAoiDNo8I5CFHQlof0QBS05QG3hChI8yiRKSEK0jxK2CdEQVse FQCiIM2jEoAoaLMPLwTnpPadNIVzUrflHQCMkppzhwgcfDk1V+FDORkMNVfA i4Mvp+ZyHN3Bl1NzBTJ18OXUXCZb4Mtt3xYHw6BpebiLg5TEofuYLswfrsjn JLfXEOKQyz2S+cYYD54/r9o8zZha/JJ/AgwAzZvlqAplbmRzdHJlYW0KZW5k b2JqCjI0IDAgb2JqCjw8IAovVHlwZSAvRm9udCAKL1N1YnR5cGUgL1R5cGUx IAovRmlyc3RDaGFyIDEgCi9MYXN0Q2hhciAzOSAKL1dpZHRocyBbIDcyMiA1 MDAgMjc4IDQ0NCAzODkgNTAwIDYxMSA1MDAgMjUwIDUwMCAyNzggNDQ0IDUw MCA1MDAgMjc4IDg4OSA3NzggCjMzMyA1MDAgNDQ0IDUwMCA1MDAgOTQ0IDcy MiAzMzMgNTAwIDI1MCA1MDAgMjc4IDI1MCAzMzMgNTAwIDY2NyAKNzIyIDU1 NiA1MDAgNTAwIDUwMCA1NTYgXSAKL0VuY29kaW5nIDI4IDAgUiAKL0Jhc2VG b250IC9DQkZJQk8rVGltZXNOZXdSb21hblBTTVQgCi9Gb250RGVzY3JpcHRv ciAyMiAwIFIgCi9Ub1VuaWNvZGUgMjMgMCBSIAo+PiAKZW5kb2JqCjI1IDAg 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 ad15rXthgLnD5W2csC90M0CWBezHBcfJ3mDzapXoXt6GTp4vz/wJ2JeVaJVu YXMJr78OlLMxHfaoJ+CQ5yCxCdjxLMyn6BHY4wU+Gq6PDxJHI2q0QrcIGQ9z J1UOqOVjLAjXI1Wz7NdcL3wb5Q5E5KMFJAS25L3w6J1ATD5eMlICO/K7JYMT SMh74fGJwJ68F57sCBzIHxbgM1Ly6QI+CAjyXvjef6xaqyLgnnXF/VdBddIA 7s2qZ2tdH/2UfAupXUrjfZBmMNQdWsGfAAMAJzOPEgplbmRzdHJlYW0KZW5k b2JqCjI3IDAgb2JqCjw8IAovVHlwZSAvRm9udCAKL1N1YnR5cGUgL1R5cGUx IAovRmlyc3RDaGFyIDEgCi9MYXN0Q2hhciAxMSAKL1dpZHRocyBbIDU1NiA1 NTYgMjc4IDU1NiAyNzggODMzIDU1NiA4ODkgNjExIDM4OSA1NTYgXSAKL0Vu Y29kaW5nIDIwIDAgUiAKL0Jhc2VGb250IC9DQkZJQkkrQXJpYWwtQm9sZE1U IAovRm9udERlc2NyaXB0b3IgMjEgMCBSIAovVG9Vbmljb2RlIDI2IDAgUiAK Pj4gCmVuZG9iagoyOCAwIG9iago8PCAKL1R5cGUgL0VuY29kaW5nIAovRGlm ZmVyZW5jZXMgWyAxIC9OIC9vIC90IC9lIC9zIC9vbmUgL1QgL2ggL3NwYWNl IC9iIC9qIC9jIC92IC9wIC9pIC9NIC9tIC9yIC95IAovYSAvbiAvZCAvVyAv dyAvZiAvZyAvcGVyaW9kIC9rIC9sIC9jb21tYSAvaHlwaGVuIC91IC9SIC9B IC9TIC90d28gCi9zaXggL3NldmVuIC9maSBdIAo+PiAKZW5kb2JqCjI5IDAg b2JqCjw8IAovVHlwZSAvRXh0R1N0YXRlIAovU0EgZmFsc2UgCi9TTSAwLjAx OTk4IAovVFIgL0lkZW50aXR5IAo+PiAKZW5kb2JqCjEgMCBvYmoKPDwgCi9E IFsgMTEgMCBSIC9YWVogbnVsbCBudWxsIG51bGwgXSAKPj4gCmVuZG9iagoy IDAgb2JqCjw8IAovRCBbIDExIDAgUiAvWFlaIG51bGwgbnVsbCBudWxsIF0g Cj4+IAplbmRvYmoKMyAwIG9iago8PCAKL0QgWyAxMSAwIFIgL1hZWiBudWxs IG51bGwgbnVsbCBdIAo+PiAKZW5kb2JqCjQgMCBvYmoKPDwgCi9MaW1pdHMg WyAoRikoUC4xKV0gCi9OYW1lcyBbIChGKTIgMCBSIChMKTMgMCBSIChQLjEp MSAwIFIgXSAKPj4gCmVuZG9iago1IDAgb2JqCjw8IAovS2lkcyBbIDQgMCBS IF0gCj4+IAplbmRvYmoKNiAwIG9iago8PCAKL1Byb2R1Y2VyIChBY3JvYmF0 IERpc3RpbGxlciA0LjA1IGZvciBTcGFyYyBTb2xhcmlzKQovQ3JlYXRvciAo RnJhbWVNYWtlciA2LjApCi9Nb2REYXRlIChEOjIwMDMwNzE0MTQ0NTExKQov Q3JlYXRpb25EYXRlIChEOjIwMDMwNjI0MTYxMzQ3KQo+PiAKZW5kb2JqCjcg MCBvYmoKPDwgCi9UeXBlIC9QYWdlcyAKL0tpZHMgWyAxMSAwIFIgXSAKL0Nv dW50IDEgCj4+IAplbmRvYmoKeHJlZgowIDggCjAwMDAwMDAwMDAgNjU1MzUg ZiAKMDAwMDAxNDI1MSAwMDAwMCBuIAowMDAwMDE0MzA5IDAwMDAwIG4gCjAw MDAwMTQzNjcgMDAwMDAgbiAKMDAwMDAxNDQyNSAwMDAwMCBuIAowMDAwMDE0 NTEwIDAwMDAwIG4gCjAwMDAwMTQ1NTAgMDAwMDAgbiAKMDAwMDAxNDcxMyAw MDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDgKL0lEWzxjN2IzYzRmN2U4MzZk NjhkOTMyMWNmNjc5M2JiODFkOD48YzdiM2M0ZjdlODM2ZDY4ZDkzMjFjZjY3 OTNiYjgxZDg+XQo+PgpzdGFydHhyZWYKMTczCiUlRU9GCg== ---559023410-1857409239-1075646428=:16002-- From: Charles Dawson <chas@cadence.com> To: ptf-bugs@boyd.com Cc: Subject: Re: errata/341: PROPOSAL - How are two dimensional arrays of regs to be treated in VPI? Date: Mon, 02 Feb 2004 10:14:23 -0500 Shalom.Bresticker@motorola.com wrote: >> Make the following changes to section 26.6.9: >> >> - Change the definition enclosure "memory" to >> a reference enclosure "reg array" >> - Change the definition enclosure "memory word" >> to a reference enclosure "reg" >> - Add a label "vpiMemory" to the 1 to many iteration >> from module and scope. >> - Add a label "vpiMemoryWord" to the 1 to many iteration >> from memory to memory word. >> - Add a property to memory: >> >> -> is a memory >> boo: vpiIsMemory > > >> Make the following changes to section 26.6.1: >> >> - Change the reference enclosure "memory" to "reg array" > > > There is already such an enclosure ? Yes, it is on the right hand side of the diagram between variables and named event. > > >> - Add a "vpiMemory" label to the 1 to many iteration to >> memory. > > >> Add the following to annex G: >> >> - Immediately after vpiModPathHasIfNone (line 482): >> >> #define vpiIsMemory 73 /* A reg MDA is a memory */ > > > We have already added after vpiModPathHasIfNone the following: > > "#define vpiIndexedPartSelectType 72 /* Indexed part-select type */" > > Presumably, you want to add the new line after this? Yes, we need to add vpiIsMemory as a property that does not have the same value as any other property. > > > >>See the diagrams at >> http://www.verilog-2001.com/pli_errata/ >> See ptf341.pdf > > > The correct file name is 341_vpi_memory.pdf, attached. > It does not completely correspond to the proposed changes above. > > Specifically, the original diagram contains properties name and size on > "memory" and constant selection, name, size, and value on "memory word". > These are not found in the new diagram. > > There are 3 notes in the original diagram which are replaced in the new > diagram with a new note. > > The new note contains "obviscated", which is not a word, nor does > "obfuscated" seem appropriate. Perhaps "obsoleted" is wanted? > I will work on the diagram and/or proposal so that they match. -- Charles Dawson Senior Member of Consulting Staff - Project Lead NC-Verilog Team Cadence Design Systems, Inc. 270 Billerica Road Chelmsford, MA 01824 (978) 262 - 6273 chas@cadence.com From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: Charles Dawson <chas@cadence.com> Cc: ptf-bugs@boyd.com Subject: Re: errata/341: Re: errata/341: PROPOSAL - How are two dimensional arrays of regsto be treated in VPI? Date: Mon, 02 Feb 2004 17:36:45 +0200 Sorry, my question was not clear. In the diagram in 26.6.1, on the right hand side, there is an enclosure "reg array" between "reg" and "variables". If you change "memory" to "reg array", then there will be two enclosures named "reg array". Is that what you want? If not, then what about the vpiMemory label that you want to add? Thanks, Shalom > >> Make the following changes to section 26.6.1: > >> > >> - Change the reference enclosure "memory" to "reg array" > > > > > > There is already such an enclosure ? > > Yes, it is on the right hand side of the diagram between variables > and named event. -- Shalom Bresticker Shalom.Bresticker@motorola.com Design & Reuse Methodology Tel: +972 9 9522268 Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478 From: Charles Dawson <chas@cadence.com> To: ptf-bugs@boyd.com Cc: Subject: Re: errata/341: Re: errata/341: Re: errata/341: PROPOSAL - How are two dimensional arrays of regsto be treated in VPI? Date: Mon, 02 Feb 2004 10:49:39 -0500 Yes, they both have to be there for backwards compatibility. So, iterating on either vpiMemory or vpiRegArray will give you back objects of type vpiRegArray. The vpiMemory iteration will only return objects that used to be of type vpiMemory. -Chas Shalom Bresticker wrote: > The following reply was made to PR errata/341; it has been noted by GNATS. > > From: Shalom Bresticker <Shalom.Bresticker@motorola.com> > To: Charles Dawson <chas@cadence.com> > Cc: ptf-bugs@boyd.com > Subject: Re: errata/341: Re: errata/341: PROPOSAL - How are two dimensional > arrays of regsto be treated in VPI? > Date: Mon, 02 Feb 2004 17:36:45 +0200 > > Sorry, my question was not clear. > > In the diagram in 26.6.1, on the right hand side, there is an enclosure "reg > array" between > "reg" and "variables". If you change "memory" to "reg array", then there will be > two enclosures > named "reg array". Is that what you want? If not, then what about the vpiMemory > label that > you want to add? > > Thanks, > Shalom > > > >> Make the following changes to section 26.6.1: > > >> > > >> - Change the reference enclosure "memory" to "reg array" > > > > > > > > > There is already such an enclosure ? > > > > Yes, it is on the right hand side of the diagram between variables > > and named event. > > -- > Shalom Bresticker Shalom.Bresticker@motorola.com > Design & Reuse Methodology Tel: +972 9 9522268 > Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 > POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478 > > > > -- Charles Dawson Senior Member of Consulting Staff - Project Lead NC-Verilog Team Cadence Design Systems, Inc. 270 Billerica Road Chelmsford, MA 01824 (978) 262 - 6273 chas@cadence.com Fix replaced by etf@boyd.com on Mon Feb 2 08:54:41 2004 In order to reconcile a 2 dimensional array of regs, formerly known as a memory, with arrays of regs with more dimensions, I propose the following changes: Make the following changes to section 26.6.9: - Change the definition enclosure "memory" to a reference enclosure "reg array" - Change the definition enclosure "memory word" to a reference enclosure "reg" - Add a label "vpiMemory" to the 1 to many iteration from module and scope. - Add a label "vpiMemoryWord" to the 1 to many iteration from memory to memory word. - Add a property to memory: -> is a memory bool: vpiIsMemory - Remove the properties name and size from memory, as they are duplicates of those in 26.6.7 - Remove the properties constant selection name, size, and value from memory word, as they are duplicates of those in 26.6.7. - Replace the three notes with one that says: The objects vpiMemory and vpiMemoryWord have been generalized with the addition of arrays of regs. To preserve backward compatibility, they have been converted into methods which will return objects of type vpiRegArray and vpiReg, respectively. See section 26.6.7 for the definitions of regs and reg arrays. Make the following changes to section 26.6.1: - Change the reference enclosure "memory" to "reg array" - Add a "vpiMemory" label to the 1 to many iteration to memory. Make the following changes to section 26.6.25: - Remove the 2 memory word reference enclosures. Make the following changes to section 26.6.42: - Remove the memory reference enclosure. Make the following changes to section 26.6.43: - Remove the memory reference enclosure. Add the following to annex G: - Immediately after vpiModPathHasIfNone (line 482): #define vpiIsMemory 73 /* A reg MDA is a memory */ See the diagrams at http://www.verilog-2001.com/pli_errata/ See 341_vpi_memory.pdf Notes from proposer: - The #define in the include file (annex G) may need to be reconciled with other PTF items. From: Charles Dawson <chas@cadence.com> To: ptf-bugs@boyd.com Cc: Subject: Re: errata/341: PROPOSAL - How are two dimensional arrays of regsto be treated in VPI? Date: Mon, 02 Feb 2004 12:16:03 -0500 This is a multi-part message in MIME format. --------------030100080601070206030203 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Please find attached a new diagram. Hope this doesn't mess up the web site. -Chas Charles Dawson wrote: > The following reply was made to PR errata/341; it has been noted by GNATS. > > From: Charles Dawson <chas@cadence.com> > To: ptf-bugs@boyd.com > Cc: > Subject: Re: errata/341: Re: errata/341: Re: errata/341: PROPOSAL - How are > two dimensional arrays of regsto be treated in VPI? > Date: Mon, 02 Feb 2004 10:49:39 -0500 > > Yes, they both have to be there for backwards compatibility. So, iterating > on either vpiMemory or vpiRegArray will give you back objects of type > vpiRegArray. The vpiMemory iteration will only return objects that used > to be of type vpiMemory. > > -Chas > > > Shalom Bresticker wrote: > > The following reply was made to PR errata/341; it has been noted by GNATS. > > > > From: Shalom Bresticker <Shalom.Bresticker@motorola.com> > > To: Charles Dawson <chas@cadence.com> > > Cc: ptf-bugs@boyd.com > > Subject: Re: errata/341: Re: errata/341: PROPOSAL - How are two dimensional > > arrays of regsto be treated in VPI? > > Date: Mon, 02 Feb 2004 17:36:45 +0200 > > > > Sorry, my question was not clear. > > > > In the diagram in 26.6.1, on the right hand side, there is an enclosure "reg > > array" between > > "reg" and "variables". If you change "memory" to "reg array", then there will be > > two enclosures > > named "reg array". Is that what you want? If not, then what about the vpiMemory > > label that > > you want to add? > > > > Thanks, > > Shalom > > > > > >> Make the following changes to section 26.6.1: > > > >> > > > >> - Change the reference enclosure "memory" to "reg array" > > > > > > > > > > > > There is already such an enclosure ? > > > > > > Yes, it is on the right hand side of the diagram between variables > > > and named event. > > > > -- > > Shalom Bresticker Shalom.Bresticker@motorola.com > > Design & Reuse Methodology Tel: +972 9 9522268 > > Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 > > POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478 > > > > > > > > > > > -- > Charles Dawson > Senior Member of Consulting Staff - Project Lead > NC-Verilog Team > Cadence Design Systems, Inc. > 270 Billerica Road > Chelmsford, MA 01824 > (978) 262 - 6273 > chas@cadence.com > > > -- Charles Dawson Senior Member of Consulting Staff - Project Lead NC-Verilog Team Cadence Design Systems, Inc. 270 Billerica Road Chelmsford, MA 01824 (978) 262 - 6273 chas@cadence.com --------------030100080601070206030203 Content-Type: application/pdf; name="341.pdf" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="341.pdf" JVBERi0xLjIKJeLjz9MNCjggMCBvYmoKPDwgCi9MaW5lYXJpemVkIDEgCi9PIDExIAovSCBb IDEwMzAgMTk3IF0gCi9MIDE3MDM2IAovRSAxNjI4MSAKL04gMSAKL1QgMTY3NTkgCj4+IApl bmRvYmoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB4cmVmCjggMjkgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAwMDkyNCAw MDAwMCBuIAowMDAwMDAwOTkyIDAwMDAwIG4gCjAwMDAwMDEyMjcgMDAwMDAgbiAKMDAwMDAw MTM4MSAwMDAwMCBuIAowMDAwMDAxNTE3IDAwMDAwIG4gCjAwMDAwMDE5NzMgMDAwMDAgbiAK MDAwMDAwMjI2MSAwMDAwMCBuIAowMDAwMDAyNTQ1IDAwMDAwIG4gCjAwMDAwMDI2ODYgMDAw MDAgbiAKMDAwMDAwNDg4MSAwMDAwMCBuIAowMDAwMDA2OTI3IDAwMDAwIG4gCjAwMDAwMDcx ODUgMDAwMDAgbiAKMDAwMDAwNzUxOSAwMDAwMCBuIAowMDAwMDA4NTc4IDAwMDAwIG4gCjAw MDAwMDg2NjAgMDAwMDAgbiAKMDAwMDAwODg3NyAwMDAwMCBuIAowMDAwMDEyMzk3IDAwMDAw IG4gCjAwMDAwMTI3NTIgMDAwMDAgbiAKMDAwMDAxMzEwNyAwMDAwMCBuIAowMDAwMDEzNjYz IDAwMDAwIG4gCjAwMDAwMTM4NzUgMDAwMDAgbiAKMDAwMDAxNTE1MCAwMDAwMCBuIAowMDAw MDE1MjYwIDAwMDAwIG4gCjAwMDAwMTU1NDMgMDAwMDAgbiAKMDAwMDAxNTc3NSAwMDAwMCBu IAowMDAwMDE2MTQyIDAwMDAwIG4gCjAwMDAwMDEwMzAgMDAwMDAgbiAKMDAwMDAwMTIwNyAw MDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDM3Ci9JbmZvIDYgMCBSIAovUm9vdCA5IDAgUiAK L1ByZXYgMTY3NTAgCi9JRFs8YmUxYWMwOWNjMzI2N2Y1Njc1NzY0MjY3NGUzYjJkNTE+PGJl MWFjMDljYzMyNjdmNTY3NTc2NDI2NzRlM2IyZDUxPl0KPj4Kc3RhcnR4cmVmCjAKJSVFT0YK ICAgICAKOSAwIG9iago8PCAKL1R5cGUgL0NhdGFsb2cgCi9QYWdlcyA3IDAgUiAKL05hbWVz IDEwIDAgUiAKPj4gCmVuZG9iagoxMCAwIG9iago8PCAKL0Rlc3RzIDUgMCBSIAo+PiAKZW5k b2JqCjM1IDAgb2JqCjw8IC9TIDM2IC9FIDk5IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5n dGggMzYgMCBSID4+IApzdHJlYW0NCkiJYmBgkGZgYGFjAAKrKQzYAAeUFgBiCShmYAhk4GGZ YC5ecJ5ng02L+lpugb+2CowcvfmCikKyG5q9FsjyLJgu+ACqlZGBwW4WkGYFMrUBAgwASQUO XQplbmRzdHJlYW0KZW5kb2JqCjM2IDAgb2JqCjg3IAplbmRvYmoKMTEgMCBvYmoKPDwgCi9U eXBlIC9QYWdlIAovUGFyZW50IDcgMCBSIAovUmVzb3VyY2VzIDEyIDAgUiAKL0NvbnRlbnRz IDE4IDAgUiAKL0Nyb3BCb3ggWyA5MCAwIDcwMiA3OTIgXSAKL01lZGlhQm94IFsgMCAwIDc5 MiA3OTIgXSAKL1JvdGF0ZSAwIAo+PiAKZW5kb2JqCjEyIDAgb2JqCjw8IAovUHJvY1NldCBb IC9QREYgL1RleHQgXSAKL0ZvbnQgPDwgL0YxIDE1IDAgUiAvRjMgMjMgMCBSIC9GNSAzMiAw IFIgL0Y3IDI2IDAgUiA+PiAKL0V4dEdTdGF0ZSA8PCAvR1MxIDM0IDAgUiA+PiAKPj4gCmVu ZG9iagoxMyAwIG9iago8PCAvRmlsdGVyIC9GbGF0ZURlY29kZSAvTGVuZ3RoIDM4MiA+PiAK c3RyZWFtDQpIiVSST2+CQBDF736KOdr0wA7yRxND0mibeLBtqu0d2MGQ6EIWPPjty9uxJj0w efx2ZljeTLTZbXeuHSn69F19kJGa1lkvQ3f1tVAlp9YRx2Tbery/hVhfyp6iqfhwG0a57FzT 0Xo9i76mw2H0N5q/+LY874/P5omiD2/Ft+5E8yN//0zgcO37s1zEjWSoKMhKM4s2+7J/Ly9C 0aM2HPD9k52VoS9r8aU7Ca0NF7TmVUHi7P+zWZxqSdXou+ZqMNm2mEAMHSt4A1hALxQkAAl0 CCZPAVLoVDM2ABl0piBk5NC5lsQAS+ilZuQAK+gQTGwASuhSMxiggq60xwqghq4VZAAW2ioI PQRatEcoaaBDMAluygZWGc1ADw7eqR85/pZhBasfKa7OsILvfrwCwApWP7IlAKxg9SPFPRhW sPqR4B4MK/juRyiBFax+JBgDxqdh6jEZNI3yb2aYKpbssRX11ftpYcImhl3BcrROHsvadz12 Ac/sV4ABADlZu3UKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago8PCAKL1R5cGUgL0ZvbnRE ZXNjcmlwdG9yIAovQXNjZW50IDcxMiAKL0NhcEhlaWdodCA3MTIgCi9EZXNjZW50IC0yMzIg Ci9GbGFncyA0IAovRm9udEJCb3ggWyAtMjIyIC0yNTAgMTAwNiA5MjIgXSAKL0ZvbnROYW1l IC9BT0lPQ0MrQXJpYWxNVCAKL0l0YWxpY0FuZ2xlIDAgCi9TdGVtViA4OCAKL1hIZWlnaHQg NTkyIAovQ2hhclNldCAoL28vUi95L24vbC9wL2UvUC9mL0kveC9yL3NwYWNlL2gvZC9pL1cv YS9ML3QvZy9NL3Uvdi9tKQovRm9udEZpbGUzIDE3IDAgUiAKPj4gCmVuZG9iagoxNSAwIG9i ago8PCAKL1R5cGUgL0ZvbnQgCi9TdWJ0eXBlIC9UeXBlMSAKL0ZpcnN0Q2hhciAxIAovTGFz dENoYXIgMjUgCi9XaWR0aHMgWyA4MzMgNTU2IDU1NiA1NTYgMjIyIDU1NiAzMzMgNTU2IDI3 OCA1NTYgNTAwIDUwMCA1NTYgMjIyIDU1NiAyNzggMjc4IAo3MjIgNTU2IDU1NiA2NjcgMjc4 IDUwMCA4MzMgOTQ0IF0gCi9FbmNvZGluZyAxNiAwIFIgCi9CYXNlRm9udCAvQU9JT0NDK0Fy aWFsTVQgCi9Gb250RGVzY3JpcHRvciAxNCAwIFIgCi9Ub1VuaWNvZGUgMTMgMCBSIAo+PiAK ZW5kb2JqCjE2IDAgb2JqCjw8IAovVHlwZSAvRW5jb2RpbmcgCi9EaWZmZXJlbmNlcyBbIDEg L20gL28gL2QgL3UgL2wgL2UgL3IgL2cgL3NwYWNlIC9hIC95IC92IC9wIC9pIC9MIC9mIC90 IC9SIC9uIC9oIAovUCAvSSAveCAvTSAvVyBdIAo+PiAKZW5kb2JqCjE3IDAgb2JqCjw8IC9G aWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjEwMyAvU3VidHlwZSAvVHlwZTFDID4+IApz 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 jYgbN+f/1HUtcqqo9/s89wV6D5Gt3Z6o8tyXcJrD/m/Zp0ON4W7FOSc+n/lShfoUq5FYkQ56 DnR8v9w1LybTybSYzRfLM6qD7U3f+uacI36muCmhRsslakSB1Mf1/MVksb1Bxkxz/gUy10wW UykoSODYoKL8QUUdSCR78chVHCSNK4mfUeRrMaOKxu2Ms3mDF0wIUZTOoQovHdsslsX2xmCy 65sJh1ScT2f0C/zIZ614OVlfCJdrNpdXQtYH5M+3Hc5pM1knqm2Wm62m8/LZVvumyCrPiuIy q3pVXBbrzfXqi+Iq+/B6NV1mBdNlkvLN5upqNV1NkqRtJm84BXhf9joeRrZZrzcXs2ryploX Wxpsm1ezt1W1IP90M6nI53UxK9bkVxubojrbnP/29VYriF5V55OXxLGZrs5W16vpxRZTWGi+ rMgZaAvNRYXADCynwCqKCGKX1B1C+nE9La6q1eV0Ur0spsuanb19B+8mV7Pq9XJ1vqxer66v 4eL0d+vLap958ntK3cgXlaT3q4L8RBS/p8AqpP+AgCx+CTUzFjmfrraGN469uGbvXYPw/1AU 1Yzo8HNw5o9fv/367TfVm8mawquuivfNJad5SB8bnrFRgaZ5VUmG3+Zj/qsAAwByzi54CmVu ZHN0cmVhbQplbmRvYmoKMTkgMCBvYmoKPDwgCi9UeXBlIC9Gb250RGVzY3JpcHRvciAKL0Fz Y2VudCA3MTIgCi9DYXBIZWlnaHQgNzEyIAovRGVzY2VudCAtMjMyIAovRmxhZ3MgNjggCi9G b250QkJveCBbIC0yNjEgLTI1MCAxMDU5IDkzNiBdIAovRm9udE5hbWUgL0FPSU9DSCtBcmlh bC1JdGFsaWNNVCAKL0l0YWxpY0FuZ2xlIC0xMiAKL1N0ZW1WIDg4IAovWEhlaWdodCA1OTIg Ci9DaGFyU2V0ICgvby9jL3AvZS94L3IvcykKL0ZvbnRGaWxlMyAyMSAwIFIgCj4+IAplbmRv YmoKMjAgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAyNjAgPj4gCnN0 cmVhbQ0KSIlckE1vgzAMhu/8Ch87TVOADtgBRZpaVeLQbRrd7mliUCQIUQiH/vvFgVXaDrHs x/HHa3Zojo3RHtiHm2SLHjptlMN5WpxEuGKvDWQ5KC39FkUrR2GBheL2NnscG9NNUNcJ+wzJ 2bsb7F6dFsNT48Wg5fnymD4Ae3cKnTY97C7Z13cA7WLtgCMaDylwDgq7hB3Owr6JEYH9bxHz 2bbApHC2QqITpkeo04wHU3FAo/7mknKtuHZruH2NJq32PICc/GjSMoI9+c8rOBEoyC9WUBAo yS/XHi8Eqm0+gZwnYY3fgbQRnesuTC7OBc3xplEuCdMG72e3kyUd9JIfAQYAYjR/CwplbmRz dHJlYW0KZW5kb2JqCjIxIDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGgg OTY4IC9TdWJ0eXBlIC9UeXBlMUMgPj4gCnN0cmVhbQ0KSIlcUn9MW1UYfa/lvaHWbvStFfrm 65WIbsCmOMPA0DACxTLH76ISJ1uhr+OxrsXXroRMU5P5IxXGnGPgGBvo0LoNcWyLSAKMuU2Y jjTSRYkRMXl1zswM8Z/vjWsyH2Ua4/3jJPfc+53z3fNdkohTESRJGvJKi0rzrWl5omB3rS/y 2V1CXbFt6SRLTiBklpTXqOSH1XJiXECjkjmNAR/BbYtDizkU10vebWlZRs0K+GMl3E24tNig I+JI8rp0606+p7FZFHbW+9DaunUoIzs7I30JN8YwM4abYpgVw2yU5/DU8qiy2evjd3tRkbvO IzZ6RLuPd2xAKM/lQhVLal5UwXt50a+wsZ6R4EV25BPtDn63XdyFPE5kq+dRscft8TU38ij/ norgcacjkd8pKPIi70CCG/mUe1WVqEyxcPuQ3e1Atn9lSp1OoY6PkbzLyzfVK0X3DIttaDmn f7b/y05ZBUQhUUaUE5WEjagm4pWkiTiigjhHYNJJDqj0qhdwpnYiEIZp/0f++Yju0i9wUmJG ZBbK9VXNNTnPsD7zYVg51gNueMLE/Ng3sy/VxIxI71JgfGQwF9da8XaciJOlLQu3o1fAOMxp AxGwhCEjTI5LMDGnlp+CAn16bY6fZ0uqRuc7Wg+2HjbJOrqt50DPWWO0BhLwRmzLwhWKzKM3 ciEOWAmI6V4O3wJOP9UzdmOB/fJyw6aDptZXW15/57V4bSAsp4bJMQnCknoMqvUYzRcqZetB B4lQBWzmLF6FrSn4SWzhpHY9qL6Gx2D1z2ctZqy24Mexxp3WCRynxYV+KI3IyROlEZ1cJTEz +/BLeom+AgPUfrrk1LAwxYIBVkEKlAGXO51mrXFu22EK7qeYm13fUtl0H/5Kz8yc6pwMXeQu fjw0fJX9/lOrZXMNLsEJe3e1nXjFxNx0DLScGzVqUa9frpgLNJ1u0vXLDzGT/YY5eggc3T98 ePl4KOlE9+ej4+yx7rcCXSbm/TOzFDPZsafpkJc127IEf8zxkw/+pMz00qSUt+sGo3tn4dno ixITHQSLHlveBHNghGVmIGXqp+9+23w6/bxpS6jhyHnjyf7PvuGY60fng2sPmJamtuZtrA3l spjb9nRx5rXGqENp8mrjF3teNlY/734O64K3Q5x2Qmm3q4kMymfUQQOoadgA5R1ih3hUSLqQ TP1OYwO0Kx+ii8IEjVNxZSD0xnHxQtL2X6l1NBjwIUor9t3Z0YmdnVDQQsNC+1/XOlb8h4pf pu6L3C89EGnXaKT3NA/K46vlrfq/BRgAderNawplbmRzdHJlYW0KZW5kb2JqCjIyIDAgb2Jq Cjw8IAovVHlwZSAvRW5jb2RpbmcgCi9EaWZmZXJlbmNlcyBbIDEgL3MgL2MgL28gL3AgL2Ug L3ggL3IgXSAKPj4gCmVuZG9iagoyMyAwIG9iago8PCAKL1R5cGUgL0ZvbnQgCi9TdWJ0eXBl IC9UeXBlMSAKL0ZpcnN0Q2hhciAxIAovTGFzdENoYXIgNyAKL1dpZHRocyBbIDUwMCA1MDAg NTU2IDU1NiA1NTYgNTAwIDMzMyBdIAovRW5jb2RpbmcgMjIgMCBSIAovQmFzZUZvbnQgL0FP SU9DSCtBcmlhbC1JdGFsaWNNVCAKL0ZvbnREZXNjcmlwdG9yIDE5IDAgUiAKL1RvVW5pY29k ZSAyMCAwIFIgCj4+IAplbmRvYmoKMjQgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUg L0xlbmd0aCAzNDI4IC9TdWJ0eXBlIC9UeXBlMUMgPj4gCnN0cmVhbQ0KSIlkVGlUFNkVrqK7 qlC0VWpKnS7tqnEjbsAcOSyaqOioiMOi4MacCAgN9EjT0N0sLUIGcImnZRGEUaGgsREEwVYQ osc4E8RlTBQYlxEjbvyYgWRGnWQy9+HrxBRochI975xb57z71Xe/+733LkkoXQiSJN8PDFsb 9tG6+ZE6vdYUqs3cYNDHpoRHhESOJH3RJALxJJrmgqYp0PtKNH3cZLwEF73c89KF0tjIV1br 6ziOQXMnoNBJXdMmbnQnFCPMbuR00nOlIdVi1CUmmcVfxM0VPwzw918gxwDv0bhoNPqORr/R +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 qt9lXFyToMfTYBp1F4K/KROgSlbrrOFcqkB7Q4CoiQIWnTc3l7Wug6Rh6cQ2UT8kCWNlXU5n KEze+zQW+dy2ncbqstpKImQkIy4lQ2OIbG0BpJwOVpml2fJxsyrY3eAm7opYdKZZt8nJtH2Y iDcng11We8jscqq8noZWUcSy6GyNY4crD5jhMRM5OWmvHpDiHlm7HF4Xols6XaHu+kkcnsIi zmfdWVGj3VspMtOdtMfp+qFJXNwBoWLkMqlg45RUiyZDVmLSZ2+kqdzy3VwxrSkzbi8MGYJH b/oe9DDUbMgWtsi8za4jgWd38XJW7a5ao5llErHpNSiWmQ8bOwgWnoZOkt0mFp3Y68l3FUQp frSHhHEhyRkO7jmlwlx4hbRSQrXWkkLjGXI4JzAybjgGx3LofpPHztOgkuMzw4yMFRhEJOsI Jxf2wJYA0cg8rOEpHnJIWc8jmHz5s8/V3zROv0C3u1ztvSuOz8QoJQ2rGU1EVoYgjEc36+xp kWmjV5BUIstem4WmeJvFQv6KCufQdCcuPwRGu1yItw8/rEd/WYp6tjS26yU+ussRE8O3xLws 7IuHIeUfAgwAxpS6eQplbmRzdHJlYW0KZW5kb2JqCjI1IDAgb2JqCjw8IAovVHlwZSAvRm9u dERlc2NyaXB0b3IgCi9Bc2NlbnQgNTkyIAovQ2FwSGVpZ2h0IDcxMiAKL0Rlc2NlbnQgLTIz MiAKL0ZsYWdzIDYgCi9Gb250QkJveCBbIC0xNjcgLTI1MCAxMDA5IDg3OCBdIAovRm9udE5h bWUgL0FPSU9ESytUaW1lc05ld1JvbWFuUFNNVCAKL0l0YWxpY0FuZ2xlIDAgCi9TdGVtViA4 MSAKL1hIZWlnaHQgNDcyIAovQ2hhclNldCAoL28vYy9SL2NvbW1hL3kvbi9wL2wvZS9TL04v ei9oeXBoZW4vZi9UL3BlcmlvZC9yL3NwYWNlL2gvc2l4L2Qvcy9zZXZlbi9pXAovVy9hL3Qv ai9nL00vdS9vbmUvay9BL2ZpL3YvdHdvL20vYi93KQovRm9udEZpbGUzIDI0IDAgUiAKPj4g CmVuZG9iagoyNiAwIG9iago8PCAKL1R5cGUgL0ZvbnQgCi9TdWJ0eXBlIC9UeXBlMSAKL0Zp cnN0Q2hhciAxIAovTGFzdENoYXIgNDAgCi9XaWR0aHMgWyA3MjIgNTAwIDI3OCA0NDQgMzg5 IDUwMCA2MTEgNTAwIDUwMCAyNzggNDQ0IDUwMCA1MDAgMjc4IDg4OSA3NzggMzMzIAo1MDAg NDQ0IDUwMCA1MDAgOTQ0IDUwMCAyNzggNDQ0IDcyMiAzMzMgMjUwIDI1MCA1MDAgMjUwIDMz MyA1MDAgCjY2NyA3MjIgNTU2IDUwMCA1MDAgNTAwIDU1NiBdIAovRW5jb2RpbmcgMjggMCBS IAovQmFzZUZvbnQgL0FPSU9ESytUaW1lc05ld1JvbWFuUFNNVCAKL0ZvbnREZXNjcmlwdG9y IDI1IDAgUiAKL1RvVW5pY29kZSAyNyAwIFIgCj4+IAplbmRvYmoKMjcgMCBvYmoKPDwgL0Zp bHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCA0ODIgPj4gCnN0cmVhbQ0KSIlsk81rpEAQxe/+ FX3Msge7ys+BQdhMEphDsiGT3buj5SDEVtRhyX+//bpMIJCDxfPZX+9ndXw43h1dv5r4eR6b k6ym6107yzJe50bMWS69M8Sm7Zt1ewu1GerJxH7y6X1ZZTi6bjT7fRS/+I/LOr+bm9d+kOVJ /r2MQ+2eT4+vP+0PE/+eW5l7d/Hf6c9fb5yu0/Qmg7jVWFNVppUuig+P9fRUD2Lib1YJQ2g7 xtjKMtWNzLW7iNlbqsyey8qIa79+i5JSp5w7fdexWmx6X3mDoUOx+QOMBDoUW6QwUuhUR2Qw MuhMRyQwcuhQbEIwCuhQbBbWKKFLXaOEsYPeqcEwauhajV8wztBnNcIuDXSj2+YwWuhWDQtD oEWn7GB00J2mvfMGWa9D8SOCARSkPAqcg4CClEeBNQgoSHnkCEdAQRsPICSgIOWRIy0BBSmP rIABFKQ88mAABW08DjCAgpRHgfgEFKQ8ijAFKGjjgfgEFKQ8GPEJKEh5cDgYUNDG4xYGULDG Z2zLoXW2+Pi3jOSs8TPwYCRnjZ8iPiM5a/wM/4WRnDV+EqYgOWvaBCdFb2p5uPW9F/k+/WhI tCxu1WfzN9d59vciXL1wJdD5vZPP2zmNExodT/RfgAEA9fbwfQplbmRzdHJlYW0KZW5kb2Jq CjI4IDAgb2JqCjw8IAovVHlwZSAvRW5jb2RpbmcgCi9EaWZmZXJlbmNlcyBbIDEgL04gL28g L3QgL2UgL3MgL29uZSAvVCAvaCAvYiAvaiAvYyAvdiAvcCAvaSAvTSAvbSAvciAveSAvYSAv biAvZCAKL1cgL2cgL2wgL3ogL3cgL2YgL3NwYWNlIC9wZXJpb2QgL2sgL2NvbW1hIC9oeXBo ZW4gL3UgL1IgL0EgL1MgL3R3byAKL3NpeCAvc2V2ZW4gL2ZpIF0gCj4+IAplbmRvYmoKMjkg MCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAxMTgzIC9TdWJ0eXBlIC9U eXBlMUMgPj4gCnN0cmVhbQ0KSIlUUg1MU1cYfa/ta9HVIrQPTR+v7xaXzQVlcRgmEqdM0ola cPy4gfuh2od0Ky22FYJzuimK8CgWJSCdU0RxGucsbnFmwUSNRv5UYGxmi4v7n5vLjIvLd/U2 cbfVLdt7eSe55957zved77GMRsWwLGvKLcwvzFucnutzOdyzn/e6nfaSGJ+FkxgssDhVhUU1 NmmwRZ9Cckjr/S33F3KWbvaBojxEvQ5uJsKDpKFUzZfJjIZlJ7779a/F3pp6n2ttVQDNXPMU mpOdPWdWDDPjmBXHZ+M4L47ZKNfpXS2j4np/QK72o3zPGq+vxutzBGRnBkK5bjcqiqn5UZHs l321lI3Xi1x+5EABn8MpVzt8byJvJSqpkpHd6/EG6mtktPiRisvryUA+ea2LyvtkJ3J5UICe Ky1GK6iFJ4AcHicq+VemsLLStUaOk7LbL9dV0UuPDO0lKJbRP4v/pUYflklkjMw0xsxkMDam gFnBFDPljJ4mzagZjpnO+Jmb7CvsXva+ap2qX0XUhchAXwVEdhxE9XgKiCASUWtQwITXgZY9 RYliuoNDYOJJr3bfsZ7usZGEseGfb0CS+acCUJH55bZNq8stReXvLmp0gfj29InQkZPDwqEr W+e2SM22VyvSnyEiMa1c9I41Aa/XGjaDFsK3wUrVT0MGvAiCGrfhPn5H99ZPavoSzjntB5cJ pEshF5cuCeUfWC6RtDPABIYEEG/+ATMgLf0Xwq0r2V76utQU5L4ItcPUW8Jou31DUCI2EuFB d23X+78pZNKGOoUwmflVo+OWuKn1NoSp6YcgUNMM9Wcwn2+t3b36sJxQenLQPyxAlwIXR65s v7x+SIK0MsL0LBeImDGTzCBpt54Grvd86NynUrCJy92+hUxNF2xbBvc2SWCDCE90CxvqZykw ae9+BZgfLn9ky7MYcEl3LR6AWTRaM84BcyxeMx4I0kqiAxxIWpDwABeMDoD5XgWp1hJjdCPX pCU83sgRNw3qLhhvwJS77HHatQNS1XgyZPP+hrdWLRMWvDEySL1/18Ls1lKYQ14SyLxcYiao YvfLPWUSmXwe9NtOC7DoFBiOdUjke8jirzafPDsidH+1lXCtkgG30OoW3N1clzxEZ5z38DOl Gq8b+4dwmI+GKRPSGa9f23Wwo8dytCuy/4TwefPKTIlE6E5QNxzq7TxiOb4n0nNCmFBeKJBI P+W/1V1QwEqeyyor9QYsBza5Lj0pVNq3LSyUmrTG/jGdAWo3gwbGQcP20V+gDazqPtjHkwYo kL+BnNuQQnudlgkWsoQsn0esJNEC1gYe2EtnLo9dKJ1BdEtfsy8t6AeVxbCTNpAOaqKGxOSr IBpHwZECc3XweOufP/Ye3tjQYTFGToGe6/Kv7agWVniqyjyxKkYnaNBhnYFUAptTe89Zl9yO jxoj7bRpKIu+x6XXrGp0C7WbWkJ+yVjTiThjpHFfT+MJAZ744GtI+FhqC4fCwZ2wDDdOJ2la oo9qYlNLxBrO4Dt0r6KTVHZCnqKFO23RwT26/1AJcKc9OtIxCdjJID4GbKdeD+Iu/ZQWvQGf NWGe/1uAAQAnkUJqCmVuZHN0cmVhbQplbmRvYmoKMzAgMCBvYmoKPDwgCi9UeXBlIC9FbmNv ZGluZyAKL0RpZmZlcmVuY2VzIFsgMSAvdHdvIC9zaXggL3BlcmlvZCAvbmluZSAvc3BhY2Ug L00gL2UgL20gL28gL3IgL3kgXSAKPj4gCmVuZG9iagozMSAwIG9iago8PCAKL1R5cGUgL0Zv bnREZXNjcmlwdG9yIAovQXNjZW50IDcxMiAKL0NhcEhlaWdodCA3MTIgCi9EZXNjZW50IC0y MzIgCi9GbGFncyAyNjIxNDggCi9Gb250QkJveCBbIC0xNjcgLTI1MCAxMDA2IDkzOSBdIAov Rm9udE5hbWUgL0FPSU9EQytBcmlhbC1Cb2xkTVQgCi9JdGFsaWNBbmdsZSAwIAovU3RlbVYg MTM3IAovWEhlaWdodCA0NzIgCi9DaGFyU2V0ICgvby95L2UvcGVyaW9kL3NpeC9zcGFjZS9y L00vbmluZS90d28vbSkKL0ZvbnRGaWxlMyAyOSAwIFIgCj4+IAplbmRvYmoKMzIgMCBvYmoK PDwgCi9UeXBlIC9Gb250IAovU3VidHlwZSAvVHlwZTEgCi9GaXJzdENoYXIgMSAKL0xhc3RD aGFyIDExIAovV2lkdGhzIFsgNTU2IDU1NiAyNzggNTU2IDI3OCA4MzMgNTU2IDg4OSA2MTEg Mzg5IDU1NiBdIAovRW5jb2RpbmcgMzAgMCBSIAovQmFzZUZvbnQgL0FPSU9EQytBcmlhbC1C b2xkTVQgCi9Gb250RGVzY3JpcHRvciAzMSAwIFIgCi9Ub1VuaWNvZGUgMzMgMCBSIAo+PiAK ZW5kb2JqCjMzIDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjkzID4+ IApzdHJlYW0NCkiJVJFNb4MwDIbv/AofO01TAqW0SAhpazeJQ7dptLsHYlAkCFGAQ//94sAq 9ZBXbx47H7bZsTgVWk3Avu1QlzhBo7S0OA6zrREqbJWGMAKp6mndea17YYC5w+VtnLAvdDNA lgXsxwXHyd5g82qV6F7ehk6eL8/8CdiXlWiVbmFzCa+/DpSzMR32qCfgkOcgsQnY8SzMp+gR 2OMFPhqujw8SRyNqtEK3CBkPcydVDqjlYywI1yNVs+zXXC98G+UOROSjBSQEtuS98OidQEw+ XjJSAjvyuyWDE0jIe+HxicCevBee7AgcyB8W4DNS8ukCPggI8l743n+sWqsi4J51xf1XQXXS AO7NqmdrXR/9lHwLqV1K432QZjDUHVrBnwADACczjxIKZW5kc3RyZWFtCmVuZG9iagozNCAw IG9iago8PCAKL1R5cGUgL0V4dEdTdGF0ZSAKL1NBIGZhbHNlIAovU00gMC4wMTk5OCAKL1RS IC9JZGVudGl0eSAKPj4gCmVuZG9iagoxIDAgb2JqCjw8IAovRCBbIDExIDAgUiAvWFlaIG51 bGwgbnVsbCBudWxsIF0gCj4+IAplbmRvYmoKMiAwIG9iago8PCAKL0QgWyAxMSAwIFIgL1hZ WiBudWxsIG51bGwgbnVsbCBdIAo+PiAKZW5kb2JqCjMgMCBvYmoKPDwgCi9EIFsgMTEgMCBS IC9YWVogbnVsbCBudWxsIG51bGwgXSAKPj4gCmVuZG9iago0IDAgb2JqCjw8IAovTGltaXRz IFsgKEYpKFAuMSldIAovTmFtZXMgWyAoRikyIDAgUiAoTCkzIDAgUiAoUC4xKTEgMCBSIF0g Cj4+IAplbmRvYmoKNSAwIG9iago8PCAKL0tpZHMgWyA0IDAgUiBdIAo+PiAKZW5kb2JqCjYg MCBvYmoKPDwgCi9Qcm9kdWNlciAoQWNyb2JhdCBEaXN0aWxsZXIgNC4wNSBmb3IgU3BhcmMg U29sYXJpcykKL0NyZWF0b3IgKEZyYW1lTWFrZXIgNi4wKQovTW9kRGF0ZSAoRDoyMDA0MDIw MjExMjc1MSkKL0NyZWF0aW9uRGF0ZSAoRDoyMDAzMDYyNDE2MTM0NykKPj4gCmVuZG9iago3 IDAgb2JqCjw8IAovVHlwZSAvUGFnZXMgCi9LaWRzIFsgMTEgMCBSIF0gCi9Db3VudCAxIAo+ PiAKZW5kb2JqCnhyZWYKMCA4IAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMTYyMjMgMDAw MDAgbiAKMDAwMDAxNjI4MSAwMDAwMCBuIAowMDAwMDE2MzM5IDAwMDAwIG4gCjAwMDAwMTYz OTcgMDAwMDAgbiAKMDAwMDAxNjQ4MiAwMDAwMCBuIAowMDAwMDE2NTIyIDAwMDAwIG4gCjAw MDAwMTY2ODUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSA4Ci9JRFs8YmUxYWMwOWNjMzI2 N2Y1Njc1NzY0MjY3NGUzYjJkNTE+PGJlMWFjMDljYzMyNjdmNTY3NTc2NDI2NzRlM2IyZDUx Pl0KPj4Kc3RhcnR4cmVmCjE3MwolJUVPRgo= --------------030100080601070206030203-- From: Charles Dawson <chas@cadence.com> To: PTF-bugs <ptf-bugs@boyd.com> Cc: Subject: errata/341: problems with passed proposal Date: Wed, 18 Feb 2004 10:30:00 -0500 Hi All, Well, now that we have passed this one, we have found more problems (of course). They are: Make the following changes to section 26.6.3: - Rename the memory solid enclosure as reg array - Label the one to many transition from scope to memory with vpiMemory Make the following changes to section 26.6.19: - Remove the memory solid enclosure in the unnamed dotted enclosure accessed via vpiArgument. Change the passed proposal to put vpiIsMemory on the vpiRegArray definition in 26.6.7 instead of in 26.6.9. -- Charles Dawson Senior Member of Consulting Staff - Project Lead NC-Verilog Team Cadence Design Systems, Inc. 270 Billerica Road Chelmsford, MA 01824 (978) 262 - 6273 chas@cadence.com From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: ptf-bugs@boyd.com Cc: Subject: errata/341: How are two dimensional arrays of regs to be treated in VPI? Date: Sun, 22 Feb 2004 17:36:37 +0200 This is a multi-part message in MIME format. --------------48AD87B46DA5D4FCED2CD952 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit This is an attempt to enter the corrected diagram into the database. Shalom --------------48AD87B46DA5D4FCED2CD952 Content-Type: application/pdf; name="PTF-341_proposal.pdf" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="PTF-341_proposal.pdf" JVBERi0xLjIKJeLjz9MNCjggMCBvYmoKPDwgCi9MaW5lYXJpemVkIDEgCi9PIDExIAovSCBbIDEw MzAgMTk3IF0gCi9MIDE3MDM2IAovRSAxNjI4MSAKL04gMSAKL1QgMTY3NTkgCj4+IAplbmRvYmoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB4cmVmCjggMjkgCjAwMDAwMDAwMTYgMDAwMDAgbiAKMDAwMDAwMDkyNCAwMDAwMCBuIAowMDAw MDAwOTkyIDAwMDAwIG4gCjAwMDAwMDEyMjcgMDAwMDAgbiAKMDAwMDAwMTM4MSAwMDAwMCBuIAow MDAwMDAxNTE3IDAwMDAwIG4gCjAwMDAwMDE5NzMgMDAwMDAgbiAKMDAwMDAwMjI2MSAwMDAwMCBu IAowMDAwMDAyNTQ1IDAwMDAwIG4gCjAwMDAwMDI2ODYgMDAwMDAgbiAKMDAwMDAwNDg4MSAwMDAw MCBuIAowMDAwMDA2OTI3IDAwMDAwIG4gCjAwMDAwMDcxODUgMDAwMDAgbiAKMDAwMDAwNzUxOSAw MDAwMCBuIAowMDAwMDA4NTc4IDAwMDAwIG4gCjAwMDAwMDg2NjAgMDAwMDAgbiAKMDAwMDAwODg3 NyAwMDAwMCBuIAowMDAwMDEyMzk3IDAwMDAwIG4gCjAwMDAwMTI3NTIgMDAwMDAgbiAKMDAwMDAx MzEwNyAwMDAwMCBuIAowMDAwMDEzNjYzIDAwMDAwIG4gCjAwMDAwMTM4NzUgMDAwMDAgbiAKMDAw MDAxNTE1MCAwMDAwMCBuIAowMDAwMDE1MjYwIDAwMDAwIG4gCjAwMDAwMTU1NDMgMDAwMDAgbiAK MDAwMDAxNTc3NSAwMDAwMCBuIAowMDAwMDE2MTQyIDAwMDAwIG4gCjAwMDAwMDEwMzAgMDAwMDAg biAKMDAwMDAwMTIwNyAwMDAwMCBuIAp0cmFpbGVyCjw8Ci9TaXplIDM3Ci9JbmZvIDYgMCBSIAov Um9vdCA5IDAgUiAKL1ByZXYgMTY3NTAgCi9JRFs8YmUxYWMwOWNjMzI2N2Y1Njc1NzY0MjY3NGUz YjJkNTE+PGJlMWFjMDljYzMyNjdmNTY3NTc2NDI2NzRlM2IyZDUxPl0KPj4Kc3RhcnR4cmVmCjAK JSVFT0YKICAgICAKOSAwIG9iago8PCAKL1R5cGUgL0NhdGFsb2cgCi9QYWdlcyA3IDAgUiAKL05h bWVzIDEwIDAgUiAKPj4gCmVuZG9iagoxMCAwIG9iago8PCAKL0Rlc3RzIDUgMCBSIAo+PiAKZW5k b2JqCjM1IDAgb2JqCjw8IC9TIDM2IC9FIDk5IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGgg MzYgMCBSID4+IApzdHJlYW0NCkiJYmBgkGZgYGFjAAKrKQzYAAeUFgBiCShmYAhk4GGZYC5ecJ5n g02L+lpugb+2CowcvfmCikKyG5q9FsjyLJgu+ACqlZGBwW4WkGYFMrUBAgwASQUOXQplbmRzdHJl YW0KZW5kb2JqCjM2IDAgb2JqCjg3IAplbmRvYmoKMTEgMCBvYmoKPDwgCi9UeXBlIC9QYWdlIAov UGFyZW50IDcgMCBSIAovUmVzb3VyY2VzIDEyIDAgUiAKL0NvbnRlbnRzIDE4IDAgUiAKL0Nyb3BC b3ggWyA5MCAwIDcwMiA3OTIgXSAKL01lZGlhQm94IFsgMCAwIDc5MiA3OTIgXSAKL1JvdGF0ZSAw IAo+PiAKZW5kb2JqCjEyIDAgb2JqCjw8IAovUHJvY1NldCBbIC9QREYgL1RleHQgXSAKL0ZvbnQg PDwgL0YxIDE1IDAgUiAvRjMgMjMgMCBSIC9GNSAzMiAwIFIgL0Y3IDI2IDAgUiA+PiAKL0V4dEdT dGF0ZSA8PCAvR1MxIDM0IDAgUiA+PiAKPj4gCmVuZG9iagoxMyAwIG9iago8PCAvRmlsdGVyIC9G bGF0ZURlY29kZSAvTGVuZ3RoIDM4MiA+PiAKc3RyZWFtDQpIiVSST2+CQBDF736KOdr0wA7yRxND 0mibeLBtqu0d2MGQ6EIWPPjty9uxJj0wefx2ZljeTLTZbXeuHSn69F19kJGa1lkvQ3f1tVAlp9YR x2Tbery/hVhfyp6iqfhwG0a57FzT0Xo9i76mw2H0N5q/+LY874/P5omiD2/Ft+5E8yN//0zgcO37 s1zEjWSoKMhKM4s2+7J/Ly9C0aM2HPD9k52VoS9r8aU7Ca0NF7TmVUHi7P+zWZxqSdXou+ZqMNm2 mEAMHSt4A1hALxQkAAl0CCZPAVLoVDM2ABl0piBk5NC5lsQAS+ilZuQAK+gQTGwASuhSMxiggq60 xwqghq4VZAAW2ioIPQRatEcoaaBDMAluygZWGc1ADw7eqR85/pZhBasfKa7OsILvfrwCwApWP7Il AKxg9SPFPRhWsPqR4B4MK/juRyiBFax+JBgDxqdh6jEZNI3yb2aYKpbssRX11ftpYcImhl3BcrRO Hsvadz12Ac/sV4ABADlZu3UKZW5kc3RyZWFtCmVuZG9iagoxNCAwIG9iago8PCAKL1R5cGUgL0Zv bnREZXNjcmlwdG9yIAovQXNjZW50IDcxMiAKL0NhcEhlaWdodCA3MTIgCi9EZXNjZW50IC0yMzIg Ci9GbGFncyA0IAovRm9udEJCb3ggWyAtMjIyIC0yNTAgMTAwNiA5MjIgXSAKL0ZvbnROYW1lIC9B T0lPQ0MrQXJpYWxNVCAKL0l0YWxpY0FuZ2xlIDAgCi9TdGVtViA4OCAKL1hIZWlnaHQgNTkyIAov Q2hhclNldCAoL28vUi95L24vbC9wL2UvUC9mL0kveC9yL3NwYWNlL2gvZC9pL1cvYS9ML3QvZy9N L3Uvdi9tKQovRm9udEZpbGUzIDE3IDAgUiAKPj4gCmVuZG9iagoxNSAwIG9iago8PCAKL1R5cGUg L0ZvbnQgCi9TdWJ0eXBlIC9UeXBlMSAKL0ZpcnN0Q2hhciAxIAovTGFzdENoYXIgMjUgCi9XaWR0 aHMgWyA4MzMgNTU2IDU1NiA1NTYgMjIyIDU1NiAzMzMgNTU2IDI3OCA1NTYgNTAwIDUwMCA1NTYg MjIyIDU1NiAyNzggMjc4IAo3MjIgNTU2IDU1NiA2NjcgMjc4IDUwMCA4MzMgOTQ0IF0gCi9FbmNv ZGluZyAxNiAwIFIgCi9CYXNlRm9udCAvQU9JT0NDK0FyaWFsTVQgCi9Gb250RGVzY3JpcHRvciAx NCAwIFIgCi9Ub1VuaWNvZGUgMTMgMCBSIAo+PiAKZW5kb2JqCjE2IDAgb2JqCjw8IAovVHlwZSAv RW5jb2RpbmcgCi9EaWZmZXJlbmNlcyBbIDEgL20gL28gL2QgL3UgL2wgL2UgL3IgL2cgL3NwYWNl IC9hIC95IC92IC9wIC9pIC9MIC9mIC90IC9SIC9uIC9oIAovUCAvSSAveCAvTSAvVyBdIAo+PiAK ZW5kb2JqCjE3IDAgb2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjEwMyAvU3Vi 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 xX7RKAtglc9CvIQmmmyxoj0zdWa1qmZ5fGmyVbyiyVYMAbB5Eco+fXKyjYgbN+f/1HUtcqqo9/s8 9wV6D5Gt3Z6o8tyXcJrD/m/Zp0ON4W7FOSc+n/lShfoUq5FYkQ56DnR8v9w1LybTybSYzRfLM6qD 7U3f+uacI36muCmhRsslakSB1Mf1/MVksb1Bxkxz/gUy10wWUykoSODYoKL8QUUdSCR78chVHCSN K4mfUeRrMaOKxu2Ms3mDF0wIUZTOoQovHdsslsX2xmCy65sJh1ScT2f0C/zIZ614OVlfCJdrNpdX QtYH5M+3Hc5pM1knqm2Wm62m8/LZVvumyCrPiuIyq3pVXBbrzfXqi+Iq+/B6NV1mBdNlkvLN5upq NV1NkqRtJm84BXhf9joeRrZZrzcXs2ryploXWxpsm1ezt1W1IP90M6nI53UxK9bkVxubojrbnP/2 9VYriF5V55OXxLGZrs5W16vpxRZTWGi+rMgZaAvNRYXADCynwCqKCGKX1B1C+nE9La6q1eV0Ur0s psuanb19B+8mV7Pq9XJ1vqxer66v4eL0d+vLap958ntK3cgXlaT3q4L8RBS/p8AqpP+AgCx+CTUz FjmfrraGN469uGbvXYPw/1AU1Yzo8HNw5o9fv/367TfVm8mawquuivfNJad5SB8bnrFRgaZ5VUmG 3+Zj/qsAAwByzi54CmVuZHN0cmVhbQplbmRvYmoKMTkgMCBvYmoKPDwgCi9UeXBlIC9Gb250RGVz Y3JpcHRvciAKL0FzY2VudCA3MTIgCi9DYXBIZWlnaHQgNzEyIAovRGVzY2VudCAtMjMyIAovRmxh Z3MgNjggCi9Gb250QkJveCBbIC0yNjEgLTI1MCAxMDU5IDkzNiBdIAovRm9udE5hbWUgL0FPSU9D SCtBcmlhbC1JdGFsaWNNVCAKL0l0YWxpY0FuZ2xlIC0xMiAKL1N0ZW1WIDg4IAovWEhlaWdodCA1 OTIgCi9DaGFyU2V0ICgvby9jL3AvZS94L3IvcykKL0ZvbnRGaWxlMyAyMSAwIFIgCj4+IAplbmRv YmoKMjAgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAyNjAgPj4gCnN0cmVh bQ0KSIlckE1vgzAMhu/8Ch87TVOADtgBRZpaVeLQbRrd7mliUCQIUQiH/vvFgVXaDrHsx/HHa3Zo jo3RHtiHm2SLHjptlMN5WpxEuGKvDWQ5KC39FkUrR2GBheL2NnscG9NNUNcJ+wzJ2bsb7F6dFsNT 48Wg5fnymD4Ae3cKnTY97C7Z13cA7WLtgCMaDylwDgq7hB3Owr6JEYH9bxHz2bbApHC2QqITpkeo 04wHU3FAo/7mknKtuHZruH2NJq32PICc/GjSMoI9+c8rOBEoyC9WUBAoyS/XHi8Eqm0+gZwnYY3f gbQRnesuTC7OBc3xplEuCdMG72e3kyUd9JIfAQYAYjR/CwplbmRzdHJlYW0KZW5kb2JqCjIxIDAg b2JqCjw8IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggOTY4IC9TdWJ0eXBlIC9UeXBlMUMg Pj4gCnN0cmVhbQ0KSIlcUn9MW1UYfa/lvaHWbvStFfrm65WIbsCmOMPA0DACxTLH76ISJ1uhr+Ox rsXXroRMU5P5IxXGnGPgGBvo0LoNcWyLSAKMuU2YjjTSRYkRMXl1zswM8Z/vjWsyH2Ua4/3jJPfc +53z3fNdkohTESRJGvJKi0rzrWl5omB3rS/y2V1CXbFt6SRLTiBklpTXqOSH1XJiXECjkjmNAR/B bYtDizkU10vebWlZRs0K+GMl3E24tNigI+JI8rp0606+p7FZFHbW+9DaunUoIzs7I30JN8YwM4ab YpgVw2yU5/DU8qiy2evjd3tRkbvOIzZ6RLuPd2xAKM/lQhVLal5UwXt50a+wsZ6R4EV25BPtDn63 XdyFPE5kq+dRscft8TU38ij/norgcacjkd8pKPIi70CCG/mUe1WVqEyxcPuQ3e1Atn9lSp1OoY6P kbzLyzfVK0X3DIttaDmnf7b/y05ZBUQhUUaUE5WEjagm4pWkiTiigjhHYNJJDqj0qhdwpnYiEIZp /0f++Yju0i9wUmJGZBbK9VXNNTnPsD7zYVg51gNueMLE/Ng3sy/VxIxI71JgfGQwF9da8XaciJOl LQu3o1fAOMxpAxGwhCEjTI5LMDGnlp+CAn16bY6fZ0uqRuc7Wg+2HjbJOrqt50DPWWO0BhLwRmzL whWKzKM3ciEOWAmI6V4O3wJOP9UzdmOB/fJyw6aDptZXW15/57V4bSAsp4bJMQnCknoMqvUYzRcq ZetBB4lQBWzmLF6FrSn4SWzhpHY9qL6Gx2D1z2ctZqy24Mexxp3WCRynxYV+KI3IyROlEZ1cJTEz +/BLeom+AgPUfrrk1LAwxYIBVkEKlAGXO51mrXFu22EK7qeYm13fUtl0H/5Kz8yc6pwMXeQufjw0 fJX9/lOrZXMNLsEJe3e1nXjFxNx0DLScGzVqUa9frpgLNJ1u0vXLDzGT/YY5eggc3T98ePl4KOlE 9+ej4+yx7rcCXSbm/TOzFDPZsafpkJc127IEf8zxkw/+pMz00qSUt+sGo3tn4dnoixITHQSLHlve BHNghGVmIGXqp+9+23w6/bxpS6jhyHnjyf7PvuGY60fng2sPmJamtuZtrA3lspjb9nRx5rXGqENp 8mrjF3teNlY/734O64K3Q5x2Qmm3q4kMymfUQQOoadgA5R1ih3hUSLqQTP1OYwO0Kx+ii8IEjVNx ZSD0xnHxQtL2X6l1NBjwIUor9t3Z0YmdnVDQQsNC+1/XOlb8h4pfpu6L3C89EGnXaKT3NA/K46vl rfq/BRgAderNawplbmRzdHJlYW0KZW5kb2JqCjIyIDAgb2JqCjw8IAovVHlwZSAvRW5jb2Rpbmcg Ci9EaWZmZXJlbmNlcyBbIDEgL3MgL2MgL28gL3AgL2UgL3ggL3IgXSAKPj4gCmVuZG9iagoyMyAw IG9iago8PCAKL1R5cGUgL0ZvbnQgCi9TdWJ0eXBlIC9UeXBlMSAKL0ZpcnN0Q2hhciAxIAovTGFz dENoYXIgNyAKL1dpZHRocyBbIDUwMCA1MDAgNTU2IDU1NiA1NTYgNTAwIDMzMyBdIAovRW5jb2Rp bmcgMjIgMCBSIAovQmFzZUZvbnQgL0FPSU9DSCtBcmlhbC1JdGFsaWNNVCAKL0ZvbnREZXNjcmlw dG9yIDE5IDAgUiAKL1RvVW5pY29kZSAyMCAwIFIgCj4+IAplbmRvYmoKMjQgMCBvYmoKPDwgL0Zp bHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCAzNDI4IC9TdWJ0eXBlIC9UeXBlMUMgPj4gCnN0cmVh bQ0KSIlkVGlUFNkVrqK7qlC0VWpKnS7tqnEjbsAcOSyaqOioiMOi4MacCAgN9EjT0N0sLUIGcImn ZRGEUaGgsREEwVYQosc4E8RlTBQYlxEjbvyYgWRGnWQy9+HrxBRochI975xb57z71Xe/+733Lkko XQiSJN8PDFsb9tG6+ZE6vdYUqs3cYNDHpoRHhESOJH3RJALxJJrmgqYp0PtKNH3cZLwEF73c89KF 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 VC+nNsj1Zu0uHf2R/YswAx1Pu4gMviRQnOQWD0vIhEon1jiZqDCro2KpCteiUs36wg10blmoj4Gr ZAeN7pSguccyv712/NTpE+rECKQkqt9lXFyToMfTYBp1F4K/KROgSlbrrOFcqkB7Q4CoiQIWnTc3 l7Wug6Rh6cQ2UT8kCWNlXU5nKEze+zQW+dy2ncbqstpKImQkIy4lQ2OIbG0BpJwOVpml2fJxsyrY 3eAm7opYdKZZt8nJtH2YiDcng11We8jscqq8noZWUcSy6GyNY4crD5jhMRM5OWmvHpDiHlm7HF4X ols6XaHu+kkcnsIizmfdWVGj3VspMtOdtMfp+qFJXNwBoWLkMqlg45RUiyZDVmLSZ2+kqdzy3Vwx rSkzbi8MGYJHb/oe9DDUbMgWtsi8za4jgWd38XJW7a5ao5llErHpNSiWmQ8bOwgWnoZOkt0mFp3Y 68l3FUQpfrSHhHEhyRkO7jmlwlx4hbRSQrXWkkLjGXI4JzAybjgGx3LofpPHztOgkuMzw4yMFRhE JOsIJxf2wJYA0cg8rOEpHnJIWc8jmHz5s8/V3zROv0C3u1ztvSuOz8QoJQ2rGU1EVoYgjEc36+xp kWmjV5BUIstem4WmeJvFQv6KCufQdCcuPwRGu1yItw8/rEd/WYp6tjS26yU+ussRE8O3xLws7IuH IeUfAgwAxpS6eQplbmRzdHJlYW0KZW5kb2JqCjI1IDAgb2JqCjw8IAovVHlwZSAvRm9udERlc2Ny aXB0b3IgCi9Bc2NlbnQgNTkyIAovQ2FwSGVpZ2h0IDcxMiAKL0Rlc2NlbnQgLTIzMiAKL0ZsYWdz IDYgCi9Gb250QkJveCBbIC0xNjcgLTI1MCAxMDA5IDg3OCBdIAovRm9udE5hbWUgL0FPSU9ESytU aW1lc05ld1JvbWFuUFNNVCAKL0l0YWxpY0FuZ2xlIDAgCi9TdGVtViA4MSAKL1hIZWlnaHQgNDcy IAovQ2hhclNldCAoL28vYy9SL2NvbW1hL3kvbi9wL2wvZS9TL04vei9oeXBoZW4vZi9UL3Blcmlv ZC9yL3NwYWNlL2gvc2l4L2Qvcy9zZXZlbi9pXAovVy9hL3Qvai9nL00vdS9vbmUvay9BL2ZpL3Yv dHdvL20vYi93KQovRm9udEZpbGUzIDI0IDAgUiAKPj4gCmVuZG9iagoyNiAwIG9iago8PCAKL1R5 cGUgL0ZvbnQgCi9TdWJ0eXBlIC9UeXBlMSAKL0ZpcnN0Q2hhciAxIAovTGFzdENoYXIgNDAgCi9X aWR0aHMgWyA3MjIgNTAwIDI3OCA0NDQgMzg5IDUwMCA2MTEgNTAwIDUwMCAyNzggNDQ0IDUwMCA1 MDAgMjc4IDg4OSA3NzggMzMzIAo1MDAgNDQ0IDUwMCA1MDAgOTQ0IDUwMCAyNzggNDQ0IDcyMiAz MzMgMjUwIDI1MCA1MDAgMjUwIDMzMyA1MDAgCjY2NyA3MjIgNTU2IDUwMCA1MDAgNTAwIDU1NiBd IAovRW5jb2RpbmcgMjggMCBSIAovQmFzZUZvbnQgL0FPSU9ESytUaW1lc05ld1JvbWFuUFNNVCAK L0ZvbnREZXNjcmlwdG9yIDI1IDAgUiAKL1RvVW5pY29kZSAyNyAwIFIgCj4+IAplbmRvYmoKMjcg MCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUgL0xlbmd0aCA0ODIgPj4gCnN0cmVhbQ0KSIls k81rpEAQxe/+FX3Msge7ys+BQdhMEphDsiGT3buj5SDEVtRhyX+//bpMIJCDxfPZX+9ndXw43h1d v5r4eR6bk6ym6107yzJe50bMWS69M8Sm7Zt1ewu1GerJxH7y6X1ZZTi6bjT7fRS/+I/LOr+bm9d+ kOVJ/r2MQ+2eT4+vP+0PE/+eW5l7d/Hf6c9fb5yu0/Qmg7jVWFNVppUuig+P9fRUD2Lib1YJQ2g7 xtjKMtWNzLW7iNlbqsyey8qIa79+i5JSp5w7fdexWmx6X3mDoUOx+QOMBDoUW6QwUuhUR2QwMuhM RyQwcuhQbEIwCuhQbBbWKKFLXaOEsYPeqcEwauhajV8wztBnNcIuDXSj2+YwWuhWDQtDoEWn7GB0 0J2mvfMGWa9D8SOCARSkPAqcg4CClEeBNQgoSHnkCEdAQRsPICSgIOWRIy0BBSmPrIABFKQ88mAA BW08DjCAgpRHgfgEFKQ8ijAFKGjjgfgEFKQ8GPEJKEh5cDgYUNDG4xYGULDGZ2zLoXW2+Pi3jOSs 8TPwYCRnjZ8iPiM5a/wM/4WRnDV+EqYgOWvaBCdFb2p5uPW9F/k+/WhItCxu1WfzN9d59vciXL1w JdD5vZPP2zmNExodT/RfgAEA9fbwfQplbmRzdHJlYW0KZW5kb2JqCjI4IDAgb2JqCjw8IAovVHlw ZSAvRW5jb2RpbmcgCi9EaWZmZXJlbmNlcyBbIDEgL04gL28gL3QgL2UgL3MgL29uZSAvVCAvaCAv YiAvaiAvYyAvdiAvcCAvaSAvTSAvbSAvciAveSAvYSAvbiAvZCAKL1cgL2cgL2wgL3ogL3cgL2Yg L3NwYWNlIC9wZXJpb2QgL2sgL2NvbW1hIC9oeXBoZW4gL3UgL1IgL0EgL1MgL3R3byAKL3NpeCAv c2V2ZW4gL2ZpIF0gCj4+IAplbmRvYmoKMjkgMCBvYmoKPDwgL0ZpbHRlciAvRmxhdGVEZWNvZGUg L0xlbmd0aCAxMTgzIC9TdWJ0eXBlIC9UeXBlMUMgPj4gCnN0cmVhbQ0KSIlUUg1MU1cYfa/ta9HV IrQPTR+v7xaXzQVlcRgmEqdM0olacPy4gfuh2od0Ky22FYJzuimK8CgWJSCdU0RxGucsbnFmwUSN Rv5UYGxmi4v7n5vLjIvLd/U2cbfVLdt7eSe55957zved77GMRsWwLGvKLcwvzFucnutzOdyzn/e6 nfaSGJ+FkxgssDhVhUU1NmmwRZ9Cckjr/S33F3KWbvaBojxEvQ5uJsKDpKFUzZfJjIZlJ7779a/F 3pp6n2ttVQDNXPMUmpOdPWdWDDPjmBXHZ+M4L47ZKNfpXS2j4np/QK72o3zPGq+vxutzBGRnBkK5 bjcqiqn5UZHsl321lI3Xi1x+5EABn8MpVzt8byJvJSqpkpHd6/EG6mtktPiRisvryUA+ea2Lyvtk J3J5UICeKy1GK6iFJ4AcHicq+VemsLLStUaOk7LbL9dV0UuPDO0lKJbRP4v/pUYflklkjMw0xsxk MDamgFnBFDPljJ4mzagZjpnO+Jmb7CvsXva+ap2qX0XUhchAXwVEdhxE9XgKiCASUWtQwITXgZY9 RYliuoNDYOJJr3bfsZ7usZGEseGfb0CS+acCUJH55bZNq8stReXvLmp0gfj29InQkZPDwqErW+e2 SM22VyvSnyEiMa1c9I41Aa/XGjaDFsK3wUrVT0MGvAiCGrfhPn5H99ZPavoSzjntB5cJpEshF5cu CeUfWC6RtDPABIYEEG/+ATMgLf0Xwq0r2V76utQU5L4ItcPUW8Jou31DUCI2EuFBd23X+78pZNKG OoUwmflVo+OWuKn1NoSp6YcgUNMM9Wcwn2+t3b36sJxQenLQPyxAlwIXR65sv7x+SIK0MsL0LBeI mDGTzCBpt54Grvd86NynUrCJy92+hUxNF2xbBvc2SWCDCE90CxvqZykwae9+BZgfLn9ky7MYcEl3 LR6AWTRaM84BcyxeMx4I0kqiAxxIWpDwABeMDoD5XgWp1hJjdCPXpCU83sgRNw3qLhhvwJS77HHa tQNS1XgyZPP+hrdWLRMWvDEySL1/18Ls1lKYQ14SyLxcYiaoYvfLPWUSmXwe9NtOC7DoFBiOdUjk e8jirzafPDsidH+1lXCtkgG30OoW3N1clzxEZ5z38DOlGq8b+4dwmI+GKRPSGa9f23Wwo8dytCuy /4TwefPKTIlE6E5QNxzq7TxiOb4n0nNCmFBeKJBIP+W/1V1QwEqeyyor9QYsBza5Lj0pVNq3LSyU mrTG/jGdAWo3gwbGQcP20V+gDazqPtjHkwYokL+BnNuQQnudlgkWsoQsn0esJNEC1gYe2EtnLo9d KJ1BdEtfsy8t6AeVxbCTNpAOaqKGxOSrIBpHwZECc3XweOufP/Ye3tjQYTFGToGe6/Kv7agWVniq yjyxKkYnaNBhnYFUAptTe89Zl9yOjxoj7bRpKIu+x6XXrGp0C7WbWkJ+yVjTiThjpHFfT+MJAZ74 4GtI+FhqC4fCwZ2wDDdOJ2laoo9qYlNLxBrO4Dt0r6KTVHZCnqKFO23RwT26/1AJcKc9OtIxCdjJ ID4GbKdeD+Iu/ZQWvQGfNWGe/1uAAQAnkUJqCmVuZHN0cmVhbQplbmRvYmoKMzAgMCBvYmoKPDwg Ci9UeXBlIC9FbmNvZGluZyAKL0RpZmZlcmVuY2VzIFsgMSAvdHdvIC9zaXggL3BlcmlvZCAvbmlu ZSAvc3BhY2UgL00gL2UgL20gL28gL3IgL3kgXSAKPj4gCmVuZG9iagozMSAwIG9iago8PCAKL1R5 cGUgL0ZvbnREZXNjcmlwdG9yIAovQXNjZW50IDcxMiAKL0NhcEhlaWdodCA3MTIgCi9EZXNjZW50 IC0yMzIgCi9GbGFncyAyNjIxNDggCi9Gb250QkJveCBbIC0xNjcgLTI1MCAxMDA2IDkzOSBdIAov Rm9udE5hbWUgL0FPSU9EQytBcmlhbC1Cb2xkTVQgCi9JdGFsaWNBbmdsZSAwIAovU3RlbVYgMTM3 IAovWEhlaWdodCA0NzIgCi9DaGFyU2V0ICgvby95L2UvcGVyaW9kL3NpeC9zcGFjZS9yL00vbmlu ZS90d28vbSkKL0ZvbnRGaWxlMyAyOSAwIFIgCj4+IAplbmRvYmoKMzIgMCBvYmoKPDwgCi9UeXBl IC9Gb250IAovU3VidHlwZSAvVHlwZTEgCi9GaXJzdENoYXIgMSAKL0xhc3RDaGFyIDExIAovV2lk dGhzIFsgNTU2IDU1NiAyNzggNTU2IDI3OCA4MzMgNTU2IDg4OSA2MTEgMzg5IDU1NiBdIAovRW5j b2RpbmcgMzAgMCBSIAovQmFzZUZvbnQgL0FPSU9EQytBcmlhbC1Cb2xkTVQgCi9Gb250RGVzY3Jp cHRvciAzMSAwIFIgCi9Ub1VuaWNvZGUgMzMgMCBSIAo+PiAKZW5kb2JqCjMzIDAgb2JqCjw8IC9G aWx0ZXIgL0ZsYXRlRGVjb2RlIC9MZW5ndGggMjkzID4+IApzdHJlYW0NCkiJVJFNb4MwDIbv/Aof O01TAqW0SAhpazeJQ7dptLsHYlAkCFGAQ//94sAq9ZBXbx47H7bZsTgVWk3Avu1QlzhBo7S0OA6z rREqbJWGMAKp6mndea17YYC5w+VtnLAvdDNAlgXsxwXHyd5g82qV6F7ehk6eL8/8CdiXlWiVbmFz Ca+/DpSzMR32qCfgkOcgsQnY8SzMp+gR2OMFPhqujw8SRyNqtEK3CBkPcydVDqjlYywI1yNVs+zX XC98G+UOROSjBSQEtuS98OidQEw+XjJSAjvyuyWDE0jIe+HxicCevBee7AgcyB8W4DNS8ukCPggI 8l743n+sWqsi4J51xf1XQXXSAO7NqmdrXR/9lHwLqV1K432QZjDUHVrBnwADACczjxIKZW5kc3Ry ZWFtCmVuZG9iagozNCAwIG9iago8PCAKL1R5cGUgL0V4dEdTdGF0ZSAKL1NBIGZhbHNlIAovU00g MC4wMTk5OCAKL1RSIC9JZGVudGl0eSAKPj4gCmVuZG9iagoxIDAgb2JqCjw8IAovRCBbIDExIDAg UiAvWFlaIG51bGwgbnVsbCBudWxsIF0gCj4+IAplbmRvYmoKMiAwIG9iago8PCAKL0QgWyAxMSAw IFIgL1hZWiBudWxsIG51bGwgbnVsbCBdIAo+PiAKZW5kb2JqCjMgMCBvYmoKPDwgCi9EIFsgMTEg MCBSIC9YWVogbnVsbCBudWxsIG51bGwgXSAKPj4gCmVuZG9iago0IDAgb2JqCjw8IAovTGltaXRz IFsgKEYpKFAuMSldIAovTmFtZXMgWyAoRikyIDAgUiAoTCkzIDAgUiAoUC4xKTEgMCBSIF0gCj4+ IAplbmRvYmoKNSAwIG9iago8PCAKL0tpZHMgWyA0IDAgUiBdIAo+PiAKZW5kb2JqCjYgMCBvYmoK PDwgCi9Qcm9kdWNlciAoQWNyb2JhdCBEaXN0aWxsZXIgNC4wNSBmb3IgU3BhcmMgU29sYXJpcykK L0NyZWF0b3IgKEZyYW1lTWFrZXIgNi4wKQovTW9kRGF0ZSAoRDoyMDA0MDIwMjExMjc1MSkKL0Ny ZWF0aW9uRGF0ZSAoRDoyMDAzMDYyNDE2MTM0NykKPj4gCmVuZG9iago3IDAgb2JqCjw8IAovVHlw ZSAvUGFnZXMgCi9LaWRzIFsgMTEgMCBSIF0gCi9Db3VudCAxIAo+PiAKZW5kb2JqCnhyZWYKMCA4 IAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMTYyMjMgMDAwMDAgbiAKMDAwMDAxNjI4MSAwMDAw MCBuIAowMDAwMDE2MzM5IDAwMDAwIG4gCjAwMDAwMTYzOTcgMDAwMDAgbiAKMDAwMDAxNjQ4MiAw MDAwMCBuIAowMDAwMDE2NTIyIDAwMDAwIG4gCjAwMDAwMTY2ODUgMDAwMDAgbiAKdHJhaWxlcgo8 PAovU2l6ZSA4Ci9JRFs8YmUxYWMwOWNjMzI2N2Y1Njc1NzY0MjY3NGUzYjJkNTE+PGJlMWFjMDlj YzMyNjdmNTY3NTc2NDI2NzRlM2IyZDUxPl0KPj4Kc3RhcnR4cmVmCjE3MwolJUVPRgo= --------------48AD87B46DA5D4FCED2CD952-- From: Shalom Bresticker <Shalom.Bresticker@motorola.com> To: ptf-bugs@boyd.com Cc: Subject: Re: errata/341: PROPOSAL - How are two dimensional arrays of regs to be treated in VPI? Date: Sun, 22 Feb 2004 18:00:10 +0200 Minor quibbles: > - Immediately after vpiModPathHasIfNone (line 482): > > #define vpiIsMemory 73 /* A reg MDA is a memory */ "MDA" is not used anywhere in LRM. Should be "multidimensional array", as in "#define vpiMultiArray 59 /* Object is a multidimensional array */" Should be Should be after the lines: "#define vpiIndexedPartSelectType 72 /* Indexed part-select type */ #define vpiPosIndexed 1 /* +: */ #define vpiNegIndexed 2 /* -: */" > See the diagrams at > http://www.verilog-2001.com/pli_errata/ > See 341_vpi_memory.pdf That is not the updated diagram. > http://boydtechinc.com/cgi-bin/issueproposal.pl?cmd=view&database=default&pr=341 -- Shalom Bresticker Shalom.Bresticker@motorola.com Design & Reuse Methodology Tel: +972 9 9522268 Motorola Semiconductor Israel, Ltd. Fax: +972 9 9522890 POB 2208, Herzlia 46120, ISRAEL Cell: +972 50 441478 [x]Motorola General Business Information [ ]Motorola Internal Use Only [ ]Motorola Confidential Proprietary Fix replaced by etf@boyd.com on Wed Feb 25 14:41:54 2004 In order to reconcile a 2 dimensional array of regs, formerly known as a memory, with arrays of regs with more dimensions, I propose the following changes: Make the following changes to section 26.6.1: - Change the reference enclosure "memory" to "reg array" - Add a "vpiMemory" label to the 1 to many iteration to memory. Make the following changes to section 26.6.3: - Rename the memory solid enclosure as reg array - Label the one to many transition from scope to memory with vpiMemory. Make the following changes to section 26.6.9: - Change the definition enclosure "memory" to a reference enclosure "reg array" - Change the definition enclosure "memory word" to a reference enclosure "reg" - Add a label "vpiMemory" to the 1 to many iteration from module and scope. - Add a label "vpiMemoryWord" to the 1 to many iteration from memory to memory word. - Add a property to memory: -> is a memory bool: vpiIsMemory - Remove the properties name and size from memory, as they are duplicates of those in 26.6.7 - Remove the properties constant selection name, size, and value from memory word, as they are duplicates of those in 26.6.7. - Replace the three notes with one that says: The objects vpiMemory and vpiMemoryWord have been generalized with the addition of arrays of regs. To preserve backward compatibility, they have been converted into methods which will return objects of type vpiRegArray and vpiReg, respectively. See section 26.6.7 for the definitions of regs and reg arrays. Make the following changes to section 26.6.19: - Remove the memory solid enclosure in the unnamed dotted enclosure accessed via vpiArgument Make the following changes to section 26.6.25: - Remove the 2 memory word reference enclosures. Make the following changes to section 26.6.42: - Remove the memory reference enclosure. Make the following changes to section 26.6.43: - Remove the memory reference enclosure. Add the following to annex G: - Immediately after vpiIndexedPartSelectType: #define vpiIsMemory 73 /* TRUE for a one dimensional reg array */ Notes from proposer: - The #define in the include file (annex G) may need to be reconciled with other PTF items. |
Unformatted |
|
Hosted by Boyd Technology