| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | <!doctype html><title>CodeMirror: Verilog/SystemVerilog mode</title><meta charset="utf-8"/><link rel=stylesheet href="../../doc/docs.css"><link rel="stylesheet" href="../../lib/codemirror.css"><script src="../../lib/codemirror.js"></script><script src="../../addon/edit/matchbrackets.js"></script><script src="verilog.js"></script><style type="text/css">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style><div id=nav>  <a href="http://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../../doc/logo.png"></a>  <ul>    <li><a href="../../index.html">Home</a>    <li><a href="../../doc/manual.html">Manual</a>    <li><a href="https://github.com/codemirror/codemirror">Code</a>  </ul>  <ul>    <li><a href="../index.html">Language modes</a>    <li><a class=active href="#">Verilog/SystemVerilog</a>  </ul></div><article><h2>SystemVerilog mode</h2><div><textarea id="code" name="code">// Literals1'b01'bx1'bz16'hDC78'hdeadbeef'b0011xxzz123432'd56783.4e6-128.7// Macro definition`define BUS_WIDTH = 8;// Module definitionmodule block(  input                   clk,  input                   rst_n,  input  [`BUS_WIDTH-1:0] data_in,  output [`BUS_WIDTH-1:0] data_out);  always @(posedge clk or negedge rst_n) begin    if (~rst_n) begin      data_out <= 8'b0;    end else begin      data_out <= data_in;    end    if (~rst_n)      data_out <= 8'b0;    else      data_out <= data_in;    if (~rst_n)      begin        data_out <= 8'b0;      end    else      begin        data_out <= data_in;      end  endendmodule// Class definitionclass test;  /**   * Sum two integers   */  function int sum(int a, int b);    int result = a + b;    string msg = $sformatf("%d + %d = %d", a, b, result);    $display(msg);    return result;  endfunction  task delay(int num_cycles);    repeat(num_cycles) #1;  endtaskendclass</textarea></div><script>  var editor = CodeMirror.fromTextArea(document.getElementById("code"), {    lineNumbers: true,    matchBrackets: true,    mode: {      name: "verilog",      noIndentKeywords: ["package"]    }  });</script><p>Syntax highlighting and indentation for the Verilog and SystemVerilog languages (IEEE 1800).<h2>Configuration options:</h2>  <ul>    <li><strong>noIndentKeywords</strong> - List of keywords which should not cause identation to increase. E.g. ["package", "module"]. Default: None</li>  </ul></p><p><strong>MIME types defined:</strong> <code>text/x-verilog</code> and <code>text/x-systemverilog</code>.</p></article>
 |