@@ -470,15 +470,14 @@ multiple of 2, with a minimum of 2 spaces.
470470Items in a list (when present) must be indented by +2 spaces relative to the
471471``localparam `` line.
472472
473- **A21.2 **
473+ **A21.2 **
474474
475475**Multi-line list form **
476476
477477When declaring multiple local parameters as a list:
478- - the list must start on a new line after the ``localparam `` keyword;
479- - each intermediate item must end with a comma ``, ``; the last item must not end
480- with a comma;
481- - the ``= `` operator must be column-aligned across all items in the list.
478+ * the list must start on a new line after the ``localparam `` keyword;
479+ * each intermediate item must end with a comma ``, ``; the last item must not end with a comma;
480+ * the ``= `` operator must be column-aligned across all items in the list.
482481
483482Correct:
484483
@@ -494,17 +493,12 @@ Correct:
494493**Concatenation form ({ … }) **
495494
496495When declaring a local parameter using concatenation:
497- - the first element may appear on the same line as ``{ ``; all subsequent elements
498- must start on new lines, indented by +2 spaces;
499- - items must be aligned to a common anchor (apostrophes in literals or, otherwise,
500- the first token) for visual alignment;
501- - inline comments for items should align to a common column, at least 4 spaces
502- after the longest code element;
503- - the closing ``}; `` must be attached to the last element on the same line;
504- - comments written after a comma belong to the preceding element and must
505- be attached to that element’s line;
506- - any trailing comment after the final semicolon of the whole statement must be
507- attached to the last element’s line.
496+ * the first element may appear on the same line as ``{ ``; all subsequent elements must start on new lines, indented by +2 spaces;
497+ * items must be aligned to a common anchor (apostrophes in literals or, otherwise, the first token) for visual alignment;
498+ * inline comments for items should align to a common column, at least 4 spaces after the longest code element;
499+ * the closing ``}; `` must be attached to the last element on the same line;
500+ * comments written after a comma belong to the preceding element and must be attached to that element’s line;
501+ * any trailing comment after the final semicolon of the whole statement must be attached to the last element’s line.
508502
509503Correct:
510504
@@ -532,7 +526,7 @@ relative to the typedef line.
532526**A22.3 **
533527
534528The closing ``} `` must be aligned with the ``typedef `` line indentation.
535- The type name and semicolon must be on the same line as ``} `` (see :ref: _example-a22) .
529+ The type name and semicolon must be on the same line as ``} ``.
536530
537531**A22.4 **
538532
@@ -725,7 +719,7 @@ D. General
725719
726720**D1 **
727721
728- A file **must ** contain a single module.
722+ A file **must ** contain a single module or package .
729723
730724**D2 **
731725
@@ -1002,117 +996,117 @@ Annex 2 VHDL file format
1002996 Annex 3 SystemVerilog package file format
1003997~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1004998
1005- .. code-block :: systemverilog
999+ .. code-block :: verilog
10061000 :linenos:
10071001
1008- // ************************************************************************* **
1009- // ************************************************************************* **
1010- // Copyright (C) year-year Analog Devices, Inc. All rights reserved.
1011- //
1012- // In this HDL repository, there are many different and unique modules, consisting
1013- // of various HDL (Verilog or VHDL) components. The individual modules are
1014- // developed independently, and may be accompanied by separate and unique license
1015- // terms.
1016- //
1017- // The user should read each of these license terms, and understand the
1018- // freedoms and responsibilities that he or she has by using this source/core.
1019- //
1020- // This core is distributed in the hope that it will be useful, but WITHOUT ANY
1021- // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
1022- // A PARTICULAR PURPOSE.
1023- //
1024- // Redistribution and use of source or resulting binaries, with or without modification
1025- // of this file, are permitted under one of the following two license terms:
1026- //
1027- // 1. The GNU General Public License version 2 as published by the
1028- // Free Software Foundation, which can be found in the top level directory
1029- // of this repository (LICENSE_GPL2), and also online at:
1030- // <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
1031- //
1032- // OR
1033- //
1034- // 2. An ADI specific BSD license, which can be found in the top level directory
1035- // of this repository (LICENSE_ADIBSD), and also on-line at:
1036- // https://github.com/analogdevicesinc/hdl/blob/main/LICENSE_ADIBSD
1037- // This will allow to generate bit files and not release the source code,
1038- // as long as it attaches to an ADI device.
1039- //
1040- // ************************************************************************* **
1041- // ************************************************************************* **
1042-
1043- package axi_tdd_pkg;
1044-
1045- typedef enum logic [1:0] {
1046- IDLE = 2'b00,
1047- ARMED = 2'b01,
1048- WAITING = 2'b10,
1049- RUNNING = 2'b11
1050- } state_t;
1051- // comment describing the type
1052-
1053- localparam
1054- PCORE_VERSION = 32'h00020062,
1055- PCORE_MAGIC = 32'h5444444E; // "TDDN", big endian
1056-
1057- // register address offset
1058- localparam
1059- ADDR_TDD_VERSION = 8'h00,
1060- ADDR_TDD_ID = 8'h01,
1061- ADDR_TDD_SCRATCH = 8'h02,
1062- ADDR_TDD_IDENTIFICATION = 8'h03,
1063- ADDR_TDD_INTERFACE = 8'h04,
1064- ADDR_TDD_DEF_POLARITY = 8'h05,
1065- ADDR_TDD_CONTROL = 8'h10,
1066- ADDR_TDD_CH_ENABLE = 8'h11,
1067- ADDR_TDD_CH_POLARITY = 8'h12,
1068- ADDR_TDD_BURST_COUNT = 8'h13,
1069- ADDR_TDD_STARTUP_DELAY = 8'h14,
1070- ADDR_TDD_FRAME_LENGTH = 8'h15,
1071- ADDR_TDD_SYNC_CNT_LOW = 8'h16,
1072- ADDR_TDD_SYNC_CNT_HIGH = 8'h17,
1073- ADDR_TDD_STATUS = 8'h18,
1074- ADDR_TDD_CH_ON = 8'h20,
1075- ADDR_TDD_CH_OFF = 8'h21;
1076-
1077- // channel offset values
1078- localparam
1079- CH0 = 0,
1080- CH1 = 1,
1081- CH2 = 2,
1082- CH3 = 3,
1083- CH4 = 4,
1084- CH5 = 5,
1085- CH6 = 6,
1086- CH7 = 7,
1087- CH8 = 8,
1088- CH9 = 9,
1089- CH10 = 10,
1090- CH11 = 11,
1091- CH12 = 12,
1092- CH13 = 13,
1093- CH14 = 14,
1094- CH15 = 15,
1095- CH16 = 16,
1096- CH17 = 17,
1097- CH18 = 18,
1098- CH19 = 19,
1099- CH20 = 20,
1100- CH21 = 21,
1101- CH22 = 22,
1102- CH23 = 23,
1103- CH24 = 24,
1104- CH25 = 25,
1105- CH26 = 26,
1106- CH27 = 27,
1107- CH28 = 28,
1108- CH29 = 29,
1109- CH30 = 30,
1110- CH31 = 31;
1111-
1112- endpackage
1113-
1114- 4. References
1115- -------------------------------------------------------------------------------
1002+ // ***************************************************************************
1003+ // ***************************************************************************
1004+ // Copyright (C) year-year Analog Devices, Inc. All rights reserved.
1005+ //
1006+ // In this HDL repository, there are many different and unique modules, consisting
1007+ // of various HDL (Verilog or VHDL) components. The individual modules are
1008+ // developed independently, and may be accompanied by separate and unique license
1009+ // terms.
1010+ //
1011+ // The user should read each of these license terms, and understand the
1012+ // freedoms and responsibilities that he or she has by using this source/core.
1013+ //
1014+ // This core is distributed in the hope that it will be useful, but WITHOUT ANY
1015+ // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
1016+ // A PARTICULAR PURPOSE.
1017+ //
1018+ // Redistribution and use of source or resulting binaries, with or without modification
1019+ // of this file, are permitted under one of the following two license terms:
1020+ //
1021+ // 1. The GNU General Public License version 2 as published by the
1022+ // Free Software Foundation, which can be found in the top level directory
1023+ // of this repository (LICENSE_GPL2), and also online at:
1024+ // <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
1025+ //
1026+ // OR
1027+ //
1028+ // 2. An ADI specific BSD license, which can be found in the top level directory
1029+ // of this repository (LICENSE_ADIBSD), and also on-line at:
1030+ // https://github.com/analogdevicesinc/hdl/blob/main/LICENSE_ADIBSD
1031+ // This will allow to generate bit files and not release the source code,
1032+ // as long as it attaches to an ADI device.
1033+ //
1034+ // ***************************************************************************
1035+ // ***************************************************************************
1036+
1037+ package axi_tdd_pkg;
1038+
1039+ typedef enum logic [1:0] {
1040+ IDLE = 2'b00,
1041+ ARMED = 2'b01,
1042+ WAITING = 2'b10,
1043+ RUNNING = 2'b11
1044+ } state_t;
1045+ // comment describing the type
1046+
1047+ localparam
1048+ PCORE_VERSION = 32'h00020062,
1049+ PCORE_MAGIC = 32'h5444444E; // "TDDN", big endian
1050+
1051+ // register address offset
1052+ localparam
1053+ ADDR_TDD_VERSION = 8'h00,
1054+ ADDR_TDD_ID = 8'h01,
1055+ ADDR_TDD_SCRATCH = 8'h02,
1056+ ADDR_TDD_IDENTIFICATION = 8'h03,
1057+ ADDR_TDD_INTERFACE = 8'h04,
1058+ ADDR_TDD_DEF_POLARITY = 8'h05,
1059+ ADDR_TDD_CONTROL = 8'h10,
1060+ ADDR_TDD_CH_ENABLE = 8'h11,
1061+ ADDR_TDD_CH_POLARITY = 8'h12,
1062+ ADDR_TDD_BURST_COUNT = 8'h13,
1063+ ADDR_TDD_STARTUP_DELAY = 8'h14,
1064+ ADDR_TDD_FRAME_LENGTH = 8'h15,
1065+ ADDR_TDD_SYNC_CNT_LOW = 8'h16,
1066+ ADDR_TDD_SYNC_CNT_HIGH = 8'h17,
1067+ ADDR_TDD_STATUS = 8'h18,
1068+ ADDR_TDD_CH_ON = 8'h20,
1069+ ADDR_TDD_CH_OFF = 8'h21;
1070+
1071+ // channel offset values
1072+ localparam
1073+ CH0 = 0,
1074+ CH1 = 1,
1075+ CH2 = 2,
1076+ CH3 = 3,
1077+ CH4 = 4,
1078+ CH5 = 5,
1079+ CH6 = 6,
1080+ CH7 = 7,
1081+ CH8 = 8,
1082+ CH9 = 9,
1083+ CH10 = 10,
1084+ CH11 = 11,
1085+ CH12 = 12,
1086+ CH13 = 13,
1087+ CH14 = 14,
1088+ CH15 = 15,
1089+ CH16 = 16,
1090+ CH17 = 17,
1091+ CH18 = 18,
1092+ CH19 = 19,
1093+ CH20 = 20,
1094+ CH21 = 21,
1095+ CH22 = 22,
1096+ CH23 = 23,
1097+ CH24 = 24,
1098+ CH25 = 25,
1099+ CH26 = 26,
1100+ CH27 = 27,
1101+ CH28 = 28,
1102+ CH29 = 29,
1103+ CH30 = 30,
1104+ CH31 = 31;
1105+
1106+ endpackage
1107+
1108+ 4. References
1109+ -------------------------------------------------------------------------------
11161110
11171111 `[1] Philippe Garrault, Brian Philofsky, "HDL Coding Practices to Accelerate
11181112Design Performance", Xilinx, 2006
0 commit comments