vscode怎么运行verilog语言_Vscode自动生成verilog例化

该博客介绍了一个Python脚本vTbgenerator.py,用于自动生成Verilog模块的测试平台。脚本能移除代码中的注释、任务和函数块,找到模块名称和端口列表,并按照输入输出顺序重新排列。它适用于处理包含输入、输出、双向端口和接口的Verilog模块,生成的实例化代码包含了参数声明和端口声明。
摘要由CSDN通过智能技术生成

#! /usr/bin/env python

'''

vTbgenerator.py -- generate verilog module Testbench

generated bench file like this:

fifo_sc #(

.DATA_WIDTH ( 8 ),

.ADDR_WIDTH ( 8 )

)

u_fifo_sc (

.CLK   ( CLK                     ),

.RST_N ( RST_N                   ),

.RD_EN ( RD_EN                   ),

.WR_EN ( WR_EN                   ),

.DIN   ( DIN   [DATA_WIDTH-1 :0] ),

.DOUT  ( DOUT  [DATA_WIDTH-1 :0] ),

.EMPTY ( EMPTY                   ),

.FULL  ( FULL                    )

);

Usage:

python vTbgenerator.py ModuleFileName.v

'''

import random

import re

import sys

from queue import Queue

import chardet

def delComment(Text):

""" removed comment """

single_line_comment = re.compile(r"//(.*)$", re.MULTILINE)

multi_line_comment = re.compile(r"/\*(.*?)\*/", re.DOTALL)

Text = multi_line_comment.sub('\n', Text)

Text = single_line_comment.sub('\n', Text)

return Text

def delBlock(Text):

""" removed task and function block """

Text = re.sub(r'\Wtask\W[\W\w]*?\Wendtask\W', '\n', Text)

Text = re.sub(r'\Wfunction\W[\W\w]*?\Wendfunction\W', '\n', Text)

return Text

def findName(inText):

""" find module name and port list"""

p = re.search(r'([a-zA-Z_][a-zA-Z_0-9]*)\s*', inText)

mo_Name = p.group(0).strip()

return mo_Name

def paraDeclar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值