From ad44c4cfa4f7bd98a246744fb83a78f6cd61bea4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 19 May 2018 23:28:36 +0000 Subject: register (19may18) git-svn-id: svn://tug.org/texlive/trunk@47773 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/register/README | 52 +++++++++++++++++++++ Master/texmf-dist/doc/latex/register/Reg_macro.pm | 5 +- Master/texmf-dist/doc/latex/register/reg_list.pl | 4 +- Master/texmf-dist/doc/latex/register/register.pdf | Bin 187312 -> 294801 bytes .../texmf-dist/source/latex/register/register.dtx | 40 ++++++++-------- .../texmf-dist/source/latex/register/register.ins | 23 +++++---- Master/texmf-dist/tex/latex/register/register.sty | 18 ++++--- 7 files changed, 104 insertions(+), 38 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/register/README diff --git a/Master/texmf-dist/doc/latex/register/README b/Master/texmf-dist/doc/latex/register/README new file mode 100644 index 00000000000..f250c7dbc2d --- /dev/null +++ b/Master/texmf-dist/doc/latex/register/README @@ -0,0 +1,52 @@ + +REGISTER +Hardware register diagrams with field descriptions. + + +Description +----------- + +This package is designed for typesetting the programmable elements in +digital hardware, i.e., registers. Such registers typically have many +fields and can be quite wide; they are thus a challenge to typeset in +a consistent manner. Register is similar in some aspects to the +bytefield package. Anyone doing hardware documentation using LaTeX +should examine both packages. Register requires version 2001/07/25 or +newer of the float package. + +An example Perl module and script are provided, to convert the +register specifications into structures suitable for, say, a +pre-silicon test environment. + + +Building package +---------------- + +tex register.ins <== Produces register.sty (the package proper) +latex register.dtx <== Produces register.dvi (the documentation) +latex register.dtx <== Incorporates list of registers into + register.dvi + +One can substitute pdflatex in the commands above to produce PDF +directly. + +Note that register comes with pre-built documentation. The +documentation includes some representative examples of package usage. + + + +Copyright and license +--------------------- + +Copyright (C) 2001-2018 Matthew Lovell, lovells@gmail.com + +This package may be distributed and/or modified under the conditions +of the LaTeX Project Public License, either version 1.3 of this +license or (at your option) any later version. The latest version of +this license is in: + + http://www.latex-project.org/lppl.txt + +and version 1.3c or later is part of all distributions of LaTeX +version 2006/05/20 or later. + diff --git a/Master/texmf-dist/doc/latex/register/Reg_macro.pm b/Master/texmf-dist/doc/latex/register/Reg_macro.pm index 76ef21b9b21..5c00bc805ee 100644 --- a/Master/texmf-dist/doc/latex/register/Reg_macro.pm +++ b/Master/texmf-dist/doc/latex/register/Reg_macro.pm @@ -1,11 +1,10 @@ ############################################################################### # # File: Reg_macro.pm -# RCS: $Header: /doc_tools/register/Reg_macro.pm 1.2 2004/08/16 23:37:06 lovell Exp $ # Description: Module for parsing register macros from LaTeX documentation # Author: Matthew Lovell # Created: Mon Mar 31 16:50:05 2003 -# Modified: Mon Aug 16 14:51:20 2004 +# Modified: Sat May 19 09:33:20 2018 # Language: CPerl # # (C) Copyright 2003, Matthew Lovell, all rights reserved. @@ -56,7 +55,7 @@ Any project-specific LaTeX introductory material. =head1 AUTHOR -Matthew Lovell (lovell@indra.com) +Matthew Lovell (lovells@gmail.com) =cut diff --git a/Master/texmf-dist/doc/latex/register/reg_list.pl b/Master/texmf-dist/doc/latex/register/reg_list.pl index b73867469f3..16c40cb554b 100755 --- a/Master/texmf-dist/doc/latex/register/reg_list.pl +++ b/Master/texmf-dist/doc/latex/register/reg_list.pl @@ -97,7 +97,7 @@ exit($REG_ERRORS); sub print_depends_list { my ($file, @depends) = @_; - my @setup_files = qw[HPpreamble.tex preamble.sty]; + my @setup_files = qw[preamble.sty]; # separate all .error files my @error_files = grep { $_ =~ /\.error$/ } @depends; @@ -127,7 +127,7 @@ sub print_depends_list { foreach my $file (@depends) { next if ($file =~ m/\.(?:error|func)$/); - next if ($file =~ m/newHP\.eps/); + next if ($file =~ m/logo\.eps/); print "\t$file \\\n"; } print "\n"; diff --git a/Master/texmf-dist/doc/latex/register/register.pdf b/Master/texmf-dist/doc/latex/register/register.pdf index 7d0df274d75..045da9d8b23 100644 Binary files a/Master/texmf-dist/doc/latex/register/register.pdf and b/Master/texmf-dist/doc/latex/register/register.pdf differ diff --git a/Master/texmf-dist/source/latex/register/register.dtx b/Master/texmf-dist/source/latex/register/register.dtx index 5d66e87a1ce..8ec5d4f942a 100644 --- a/Master/texmf-dist/source/latex/register/register.dtx +++ b/Master/texmf-dist/source/latex/register/register.dtx @@ -3,8 +3,8 @@ % register.dtx % Register diagrams with field descriptions % -% Author: Matthew Lovell (lovell@indra.com) -% Copyright 2001 by Matthew B. Lovell +% Author: Matthew Lovell (lovells@gmail.com) +% Copyright 2001-2018 by Matthew B. Lovell % % Run LaTeX on the file `register.ins' to get a .sty-file and % then on `register.dtx' to obtain instructions. @@ -39,12 +39,13 @@ % \changes{v1.4}{2004/08/16}{Now provide a boolean set only in register context} % \changes{v1.5}{2007/03/08}{Corrected use of conditionals used in spreading register reset value} % \changes{v1.6}{2011/01/11}{Mainmatter correction suggested by Kjetil Oftedal} +% \changes{v1.6.1}{2018/05/19}{Published with updated email address; no functional changes} % -% \def\fileversion{v1.6} -% \def\filedate{2011/01/11} +% \def\fileversion{v1.6.1} +% \def\filedate{2018/05/19} % \title{Register diagrams with field descriptions} % \author{Matthew Lovell\\ -% \texttt{lovell@indra.com} +% \texttt{lovells@gmail.com} % } % \date{\filedate} % \maketitle @@ -86,37 +87,37 @@ % % \section{Introduction} \label{sec:background} % -% My group at work designs the memory and I/O controllers for HP's -% servers and workstations. Historically, our chip documentation was -% done with FrameMaker or, more recently, Microsoft Word. While these -% approaches have various disadvantages, one of the most egregious was -% register documentation. +% My group at work designed the memory and I/O controllers for servers +% and workstations. Historically, our chip documentation was done +% with FrameMaker or Microsoft Word. While these approaches have +% various disadvantages, one of the most egregious was register +% documentation. % -% Our recent chips have had 64-bit wide control-status registers (CSR) -% or, more simply, registers. Throw in the fact that many of these +% The recent chips have 64-bit wide control-status registers (CSR) +% or, more simply, registers. Add the fact that many of these % registers have a large number of single-bit fields, and you get a % typesetting challenge. The typical solution was to describe such % registers using a table, typing field names vertically if space % became a problem. For a complicated register, these tables became % quite complex and filled a large portion of a page. % -% When we decided to evaluate \LaTeX{} for the latest round of -% documentation, we had three goals in mind with respect to registers: +% When we decided to evaluate \LaTeX{} for documentation, we had three +% goals in mind with respect to registers: % \begin{enumerate} % \item Create a method of documenting registers which was consistent % and easy to read, regardless of the number of fields within a % register. % \item Automate the creation of lists of registers, both in order -% of appearance within the text and in memory order. +% of appearance within the text and in memory address order. % \item Enable the automatic extraction of documented register reset % values in order to verify register functionality in the chip % itself. % \end{enumerate} % The |register| package is my attempt at meeting all three goals. It -% has been in use by my group since April 1999; it may be not be +% was first put into use in April 1999; it may be not be % pretty to all eyes, but it certainly has proven itself stable. % -% In order to promote \LaTeX{} within our group at the time, we +% In order to promote \LaTeX{} within our group at the time, we also % adopted \LyX{}. The |register| package thus attempts to work well % within that environment. All \LyX{}-specific code, however, is % controlled via package options. @@ -499,7 +500,7 @@ % % Announce the name and load required packages: % \begin{macrocode} -\ProvidesPackage{register} [2011/01/11 v1.6 Register macros with +\ProvidesPackage{register} [2018/05/19 v1.6.1 Register macros with hyperref/LyX support] \RequirePackage{ifthen}[1997/11/02] @@ -1123,7 +1124,8 @@ hyperref/LyX support] {\newcommand{\TR}[1]{}} % \end{macrocode} % -% +% \par +% Enjoy! Happy documenting. % % \Finale % diff --git a/Master/texmf-dist/source/latex/register/register.ins b/Master/texmf-dist/source/latex/register/register.ins index 715518557e5..529742dbdb5 100644 --- a/Master/texmf-dist/source/latex/register/register.ins +++ b/Master/texmf-dist/source/latex/register/register.ins @@ -5,14 +5,15 @@ %% LaTeX Project Public License distributed from CTAN %% archives in directory macros/latex/base/lppl.txt. %% -%% This program consists of register.dtx, register.ins, -%% reg_reset.pl, and reg_table.pl. +%% This package consists of register.dtx, register.ins, reg_list.pl, +%% and Reg_macro.pm, as well as the accompanying register.pdf and +%% README documentation. %% %% This file will generate fast loadable files and documentation %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Author: Matthew Lovell (lovell@indra.com) +%% Author: Matthew Lovell (lovells@gmail.com) %% %% --------------- start of docstrip commands ------------------ %% @@ -20,13 +21,19 @@ \input docstrip \def\SimplePackage#1{\generateFile{#1.sty}{t}{\from{#1.dtx}{package}}} \preamble -Register diagrams with field descriptions. +Hardware register diagrams with field descriptions. -This program is provided under the terms of the -LaTeX Project Public License distributed from CTAN -archives in directory macros/latex/base/lppl.txt. +This package may be distributed and/or modified under the conditions +of the LaTeX Project Public License, either version 1.3 of this +license or (at your option) any later version. The latest version of +this license is in: -Author: Matthew Lovell (lovell@indra.com) + http://www.latex-project.org/lppl.txt + +and version 1.3c or later is part of all distributions of LaTeX version +2006/05/20 or later. + +Author: Matthew Lovell (lovells@gmail.com) \endpreamble diff --git a/Master/texmf-dist/tex/latex/register/register.sty b/Master/texmf-dist/tex/latex/register/register.sty index 7c3b5721834..938d0c357c2 100644 --- a/Master/texmf-dist/tex/latex/register/register.sty +++ b/Master/texmf-dist/tex/latex/register/register.sty @@ -5,18 +5,24 @@ %% The original source files were: %% %% register.dtx (with options: `package') -%% Register diagrams with field descriptions. +%% Hardware register diagrams with field descriptions. %% -%% This program is provided under the terms of the -%% LaTeX Project Public License distributed from CTAN -%% archives in directory macros/latex/base/lppl.txt. +%% This package may be distributed and/or modified under the conditions +%% of the LaTeX Project Public License, either version 1.3 of this +%% license or (at your option) any later version. The latest version of +%% this license is in: %% -%% Author: Matthew Lovell (lovell@indra.com) +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3c or later is part of all distributions of LaTeX version +%% 2006/05/20 or later. +%% +%% Author: Matthew Lovell (lovells@gmail.com) %% -\ProvidesPackage{register} [2011/01/11 v1.6 Register macros with +\ProvidesPackage{register} [2018/05/19 v1.6.1 Register macros with hyperref/LyX support] \RequirePackage{ifthen}[1997/11/02] -- cgit v1.2.3