antlr4 Verilog2001.g4

2023-10-29

在这里插入图片描述

➜  verilog which antlr4 
antlr4: aliased to java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool
➜  verilog which grun
grun: aliased to java -Xmx500M -cp "/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.gui.TestRig
➜  verilog antlr4 Verilog2001.g4 
➜  verilog javac *.java
➜  verilog grun Verilog2001 tokens -tokens examples/example1.v
[@0,0:5='module',<'module'>,1:0]
[@1,6:6=' ',<White_space>,channel=1,1:6]
[@2,7:16='SPI_MASTER',<Simple_identifier>,1:7]
[@3,17:17='(',<'('>,1:17]
[@4,18:22='\n    ',<White_space>,channel=1,1:18]
[@5,23:27='input',<'input'>,2:4]
[@6,28:35='        ',<White_space>,channel=1,2:9]
[@7,36:38='clk',<Simple_identifier>,2:17]
[@8,39:43='     ',<White_space>,channel=1,2:20]
[@9,44:44=',',<','>,2:25]
[@10,45:45=' ',<White_space>,channel=1,2:26]
[@11,46:68='//the FPGA input clock\n',<One_line_comment>,channel=1,2:27]
[@12,69:72='    ',<White_space>,channel=1,3:0]
[@13,73:77='input',<'input'>,3:4]
[@14,78:85='        ',<White_space>,channel=1,3:9]
[@15,86:90='rst_n',<Simple_identifier>,3:17]
[@16,91:93='   ',<White_space>,channel=1,3:22]
[@17,94:94=',',<','>,3:25]
[@18,95:95=' ',<White_space>,channel=1,3:26]
[@19,96:125='//the FPGA asynchronous reset\n',<One_line_comment>,channel=1,3:27]
[@20,126:147='                 \n    ',<White_space>,channel=1,4:0]
[@21,148:152='input',<'input'>,5:4]
[@22,153:160='        ',<White_space>,channel=1,5:9]
[@23,161:167='spi_sdi',<Simple_identifier>,5:17]
[@24,168:168=' ',<White_space>,channel=1,5:24]
[@25,169:169=',',<','>,5:25]
[@26,170:170=' ',<White_space>,channel=1,5:26]
[@27,171:191='//the SPI read input\n',<One_line_comment>,channel=1,5:27]
[@28,192:195='    ',<White_space>,channel=1,6:0]
[@29,196:201='output',<'output'>,6:4]
[@30,202:202=' ',<White_space>,channel=1,6:10]
[@31,203:205='reg',<'reg'>,6:11]
[@32,206:208='   ',<White_space>,channel=1,6:14]
[@33,209:215='spi_sdo',<Simple_identifier>,6:17]
[@34,216:216=' ',<White_space>,channel=1,6:24]
[@35,217:217=',',<','>,6:25]
[@36,218:218=' ',<White_space>,channel=1,6:26]
[@37,219:241='//the SPI write output\n',<One_line_comment>,channel=1,6:27]
[@38,242:245='    ',<White_space>,channel=1,7:0]
[@39,246:251='output',<'output'>,7:4]
[@40,252:252=' ',<White_space>,channel=1,7:10]
[@41,253:255='reg',<'reg'>,7:11]
[@42,256:258='   ',<White_space>,channel=1,7:14]
[@43,259:265='spi_sck',<Simple_identifier>,7:17]
[@44,266:266=' ',<White_space>,channel=1,7:24]
[@45,267:267=',',<','>,7:25]
[@46,268:268=' ',<White_space>,channel=1,7:26]
[@47,269:284='//the SPI clock\n',<One_line_comment>,channel=1,7:27]
[@48,285:288='    ',<White_space>,channel=1,8:0]
[@49,289:294='output',<'output'>,8:4]
[@50,295:295=' ',<White_space>,channel=1,8:10]
[@51,296:298='reg',<'reg'>,8:11]
[@52,299:301='   ',<White_space>,channel=1,8:14]
[@53,302:307='spi_cs',<Simple_identifier>,8:17]
[@54,308:311='    ',<White_space>,channel=1,8:23]
[@55,312:336='//the SPI chip selection\n',<One_line_comment>,channel=1,8:27]
[@56,337:337=')',<')'>,9:0]
[@57,338:338=';',<';'>,9:1]
[@58,339:339='\n',<White_space>,channel=1,9:2]
[@59,340:387='//---------------------------------------------\n',<One_line_comment>,channel=1,10:0]
[@60,388:437='// the following localparam need to configure to \n',<One_line_comment>,channel=1,11:0]
[@61,438:464='// fit defferent scenarios\n',<One_line_comment>,channel=1,12:0]
[@62,465:512='//---------------------------------------------\n',<One_line_comment>,channel=1,13:0]
[@63,513:528='/*\noutput aa;\n*/',<Block_comment>,channel=1,14:0]
[@64,529:529='\n',<White_space>,channel=1,16:2]
[@65,530:538='endmodule',<'endmodule'>,17:0]
[@66,539:539='\n',<White_space>,channel=1,17:9]
[@67,540:539='<EOF>',<EOF>,18:0]
➜  verilog pwd
/Users/qilei/Downloads/grammars-v4-master/verilog/verilog
➜  verilog 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

antlr4 Verilog2001.g4 的相关文章

  • 何时使用tick(')进行Verilog数组初始化?

    数组初始化可以通过或不通过 int a 8 0 1 2 3 4 5 6 7 Packed int b 8 0 1 2 3 4 5 6 7 Unpacked 有没有correct方式 假设数组使用不可打包的类型 例如int string ET
  • 如何在 Verilog 中将长语句分成行

    例如 我有一个很长的声明 display input data x output data x result x input data output data result 如何在 Verilog 中将其变成单语句和多行 您需要分解引用的字
  • verilog模块中的reg和wire有什么区别?

    在verilog模块中我们什么时候应该使用reg以及什么时候应该使用wire 我还注意到有时输出会再次声明为 reg 例如 D 触发器中的 reg Q 我在某处读过这个 过程赋值语句的目标输出必须是 reg 数据类型 什么是程序赋值语句 我
  • Quartus Prime 中的“多个常量驱动程序”Verilog 错误

    我正在致力于用 Verilog 设计一个有限状态机来表示堆栈 该模块如下 module state machine s Enable Clock Resetn c OF Err UF Err input 2 0 s input Enable
  • 比较数字进行排序然后得到中值

    使用按位或比较运算符对五个整数进行排序可以通过以下方式实现 首先获取最大的数字 然后获取第二大的数字 然后获取第三大的数字 依此类推 这是我获取最高数字的代码 include
  • 带有always_comb结构的Systemverilog问题

    我对这个 SystemVerilog 代码有疑问 这是代码 module mult multiplicand multiplier Product clk clear Startm endm input 31 0 multiplicand
  • 如何在 Verilog 中定义带参数的模块?

    我想定义一个add有一个参数的模块 但我对新实例的声明进展不顺利 我想定义这个模块的一个实例 module add parameter wd 1 input wire wd 1 0 a b output wire wd 1 0 o assi
  • Verilog HDL ?操作员

    什么是 用 Verilog 做什么 例如 以下命令是什么意思 input first din input 7 0 din output 127 0 parity reg 127 0 parity wire 7 0 feedback assi
  • 为什么这个 verilog 关系语句返回 true?

    我有一条名为 sin hall2 的 9 位签名线 该语句返回 true sin hall2 8 0 gt 9 d1 当我查看模拟时 sin hall2 169 我假设这是 verilog 处理比较负数的方式 但我做错了什么 当我执行 si
  • Verilog 中总是后面跟着 #(...) pound 是什么意思?

    在一个简单的时钟生成器示例中 我看到以下代码 always cycle 2 clk clk 我以前总是见过 但没见过井号 我试图在文档中找到它 但我所能找到的只是一些对 实值端口 的引用 没有进一步的阐述 这是一个延迟操作 它本质上只是读取
  • Verilog 最佳实践 - 递增变量

    我绝不是 Verilog 专家 我想知道是否有人知道这些增加值的方法中哪一种更好 抱歉 如果这个问题太简单了 Way A 在组合逻辑块中 可能在状态机中 some condition count next count 1 然后在一个连续块中
  • if 语句导致 Verilog 中的锁存推断?

    我正在编写用于合成算法的 Verilog 代码 我对哪些情况可能导致推断锁存器有点困惑 下面是这样的一段代码 虽然它在模拟中工作得很好 但我担心它可能会导致硬件问题 always b1 or b2 b1 map b2 map m1 map
  • 我们可以在 C 或 SystemVerilog 中使用 ifdef MACROS 中的条件吗?

    我想要那样的东西 ifdef N O gt N I define GREATER 1 else define LESSER 1 endif 但做不到 有什么解决方案或阅读吗 我很努力地想要做到这一点 但是却做不到 Verilog 不提供这样
  • Verilog 中的 If 语句和分配连线

    我试图弄清楚基于组合逻辑分配电线的基础知识 I have wire val wire x wire a wire b always begin if val 00 I want to assign x a if val 01 I want
  • 我怎样才能让我的verilog移位器更通用?

    这里我有一个移位器 但现在它最多只能工作 3 位 我一直在寻找 但不知道如何让它工作最多 8 位 module shifter a b out input 7 0 a b output 7 0 out wire 7 0 out1 out2
  • Verilog 按位或 ("|") 单子

    我见过 Verilog 代码 其中使用了按位或运算符 目的是什么 例如 address 15 14 0 or address 15 14 io din ramrd 不能省略 吗在这些情况下 在这种情况下 它充当归约运算符 例如 4 b100
  • 系统 verilog 中没有类型的输入

    我在一个系统 verilog 代码的输入和输出的示例中遇到过module没有说明它们的类型 例如logic wire module mat to stream input 2 0 2 0 2 0 a b input newdata inpu
  • 如何在 icarus verilog 中包含文件?

    我知道基本的 include filename v 命令 但是 我试图包含另一个文件夹中的模块 现在 该模块还包括同一文件夹中存在的其他模块 但是 当我尝试在最顶层运行该模块时 出现错误 C Users Dell Desktop MIPS
  • 学习 Verilog 的资源 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 Verilog 新手 有人可以推荐学习资源 书籍 视频 博客或任何他们有良好个人经验并帮助他们更
  • Verilog 中如何使用函数?

    在我的 FPGA Verilog 课程中 我的教授只是回顾了函数 他说在函数中 你可以按程序编写代码 然后 当您想要调用该函数时 您可以在always块中调用它 即 程序性地 也可以使用分配语句来调用它 对我来说 如何使用过程代码编写函数

随机推荐

  • 逆水寒服务器维护多长时间,逆水寒11月8日更新维护 更新时间内容介绍

    逆水寒11月8日周四例行更新 下面给大家带来具体的更新时间和更新内容汇总 有需要的一起来看看吧 各位自在同门 深秋金岁 霞光剑影 江湖秋色已深 不知各位同门在行走江湖之际 是否会停下脚步看一看金明池的红叶 逆水寒的江湖中万般风景 切莫不可辜
  • C++和C#程序语言的区别

    一直学习C 和C 两者之间的区别总结一下 目录 一 两种语言概述 C 语言 C 语言 二 两种语言对比 2 1运行依赖
  • android addview后view不能更新数据_热搜View效果

    接下来将一步一步实现如下 热搜词 效果 效果图 思路 通过观察效果图可以看出这个热搜词效果自定义View它是一个接一个的摆放的 而且每当一行的热搜词总宽度大于控件宽度的时候就会另起一行 因此我们可以考虑使用一个大的自定义的LinearLay
  • Spring 依赖注入

    依赖注入方式 1 构造器注入 2 setter注入 3 接口注入 maven pom xml配置 引入jar包和依赖jar
  • matlab读取文件夹的数据,根据文件名进行分类,加个分类后写入到不同文件夹中(.txt)

    读取文件夹下的所有文件 根据文件名中包含的内容进行分类 将不同的分类写入到不同的文件夹下 1 直接读取文件 根据文件名分类 不做任何处理 使用copyfile 将数据按照不同泳姿分类 不作其他处理 function Classificati
  • Linux IO实时监控iostat命令

    简介 iostat主要用于监控系统设备的IO负载情况 iostat首次运行时显示自系统启动开始的各项统计信息 之后运行iostat将显示自上次运行该命令以后的统计信息 用户可以通过指定统计的次数和时间来获得所需的统计信息 语法 iostat
  • nginx搭建前后端分离架构

    本人用的是vue cli 自动构建vue webpack 项目 这里不对webpack nginx进行讲解 本文主要解决前端开发环境搭建 测试环境搭建 生产环境搭建以及接口调试 一 需要工具 1 nginx 配置代理 2 webpack d
  • 了解基于Token的身份验证的来龙去脉

    简介 在Web领域基于Token的身份验证随处可见 在大多数使用Web API的互联网公司中 tokens 是多用户下处理认证的最佳方式 以下几点特性会让你在程序中使用基于Token的身份验证 1 无状态 可扩展 2 支持移动设备 3 跨程
  • C++的数据类型——常量

    2 2 常量 2 2 2 数值常量 数值常量就是通常所说的常数 在C 中可以从字面形式区分数值类型 1 整形常量 整数 的类型 通常有 int short int long int unsigned int 通常整数的类型不同 它们值的范围
  • Log4net创建日志及简单扩展

    1 概述 log4net是 Net下一个非常优秀的开源日志记录组件 log4net记录日志的功能非常强大 它可以将日志分不同的等级 以不同的格式 输出到不同的媒介 本文主要是介绍如何在Visual Studio2008中使用log4net快
  • tomcat8.5启动控制台乱码解决

    环境 win10 系统 tomcat8 5版本 现象 本地启动控制台日志乱码 解决办法 conf目录下 logging properties 文件 java util logging ConsoleHandler encoding UTF
  • java中mergesort函数怎么用,由mergeSort引发的一些思考

    重新梳理一下归并排序以及一些相关的东西 对于归并排序大家如果需要回忆下是个什么东西的话 可以点击这个链接 里面有各种排序的动画演示以及讲解 比我再用文字赘述一遍要好得多 功能相当强大 先给出归并排序的js代码实现 function merg
  • 如何处理公共异常处理

    一般而言为了使我们的代码更容易维护 会创建一个类集中处理异常 该异常类可以创建在公共工程中 创建例如 ControllerAdvice public class BaseExceptionHandler 异常处理 param e retur
  • Unity角色控制器CharacterController的简单介绍

    角色控制器 CharacterController 首先 角色控制器没有碰撞效果 这是和刚体的区别 不像刚体可以给其力 如果想使人物移动 直接复制官方文本中的CharacterController下的Move 方法 前台添加 Charact
  • 【Linux】网络设置之基础操作命令详解

    大家好 本篇文章主要讲的是Linux网络设置之基础操作命令详解 感兴趣的同学快来看一看吧 对你有用的话记得收藏起来 方便下次浏览 查看网络配置 查看网络接口信息 ifconfig 查看活动的网络接口设备 1 ifconfig 网卡名称 查看
  • 深度学习之前馈神经网络的入门学习(我觉得是全网最详细的)

    前馈神经网络 Feedforward Neural Network 是一种最基本的人工神经网络模型 它也被称为多层感知器 Multilayer Perceptron MLP 在前馈神经网络中 信息只能在输入层向前传递到输出层 不存在反馈连接
  • PG 数据库锁表问题

    转载文章 若有侵权还请联系 PG 数据库锁表问题解决方案 查询pg数据库锁表的语句和进程 通过进程pid杀掉进程进行批量表解锁 pg锁表解决办法 Fly L的博客 CSDN博客 查询锁表语句和 pid select pid query fr
  • p5js创意自画像

    实验要求 编程语言与工具 编程可以用p5 processing 若想用其他语言或工具 提前向老师说明情况 作品 一件编程创意作品 必须实现动态效果或交互效果 作品录制一段一分钟内的视频 作品可以是具象化地描绘自己的形象 也可以是任何形式表现
  • 2018人工智能应用例子_汇总贴

    大数据分析 e20180621 大数据统计分析 国家审计局 老鼠仓 利用职务便利 操作证券基金 转载于 https www cnblogs com 2010dream p 9218773 html
  • antlr4 Verilog2001.g4

    verilog which antlr4 antlr4 aliased to java Xmx500M cp usr local lib antlr 4 9 complete jar CLASSPATH org antlr v4 Tool