semvec/pypi-packages huggingface dataset:
vloginit 0.0.3
Simple script for verilog/systemverilog module templates generation
License: MIT
Requires Python: >=3.6

# Templates generator: make Verilog/SystemVerilog module template by parameters and ports list

## Usage
Verilog-style generation:

`vloginit index_file.dat`

SystemVerilog-style generation: 

`vloginit -sv index_file.dat`

### Mnemonics list

```
module name     : %file_name
include file    : `<name>
parameter       : $<name> # <value> # <param_type> # <width> # <array width>
localparam      : ?<name> # <value> # <param_type> # <width> # <array width>
port            : @<direction> # <name> # <width> # <port_type> # <array width>
comment list    : "/", "//"
comment RTL     : "*"
```

### Ports description mnemonics
```
<width>         default `1`. Number's or parameter name - both is possible. If there is no previously defined parameter - this parameter will defined.
<port type>     default `logic`. Define required mnemonic, in case it necesary
<array width>   Number or parameter's name - both is possible. Only 1-D arrays. TODO: N-D arrays support
<direction>     = [ i   : input             ,
                    o   : output            ,
                    io  : inout
                  ]

<port_type>     = [ w/W       : wire        ,
                    l/L       : logic       ,
                    b/B       : bit         ,
                    r/R       : reg         ,
                    ws/Ws     : wire signed ,
                    ls/Ls     : logic signed,
                    bs/Bs     : bit signed  ,
                    rs/Rs     : reg signed  ,
                    i/I       : int         ,
                    user_type
                  ]

<param_type>    = [ l/L       : logic       ,
                    b/B       : bit         ,
                    r/R       : reg         ,
                    i/I       : int         ,
                    u/U       : untyped     ,
                    user_type
                  ]
```

### Parameters/local parameters mnemonics
```
    <value>         default "1". Number's or parameter name - both is possible. If there is no previously defined parameter - this parameter will defined.
    <param type>    default "int". Define required mnemonic, in case it necesary
    <width>         default "1". Number's or parameter name - both is possible. If there is no previously defined parameter - this parameter will defined.
    <array width>   Number or parameter's name - both is possible. Only 1-D arrays. TODO: N-D arrays support
```

### Comments mnemonics
```
comment list:
    String started with '/' or '//'. This string will be excluded from vloginit parsing

comment RTL:
    String started with '*'. This string will be translated into RTL comment line.
```

In case using only default values for all fields possible to leave it blank. But separation symbol '#' must be inserted

### Examples

Input and results files are accessible `./examples`
colabo-flow.s-go 0.5.4
A python ColaboFlow.Go (CF.Go) puzzle for supporting execution of workflow tasks over the RabbitMQ broker
License: MIT
Keywords: colabo,RabbitMQ,flow,colaboflow,go,process,workflow

# Run

## Hosts

```sh
python3 create_host.py

# send a test message with the RabbitMQ CLI
# https://www.rabbitmq.com/management-cli.html
rabbitmqadmin publish exchange=amq.default routing_key=test payload="Hello, world from RabbitMQ CLI"

# delete the queue `colabo.flow.host.node`
rabbitmqadmin delete queue name=colabo.flow.host.node

# delete all the messages in the `colabo.flow.host.node` queue
rabbitmqadmin purge queue name=colabo.flow.host.node
rabbitmqadmin purge queue name=colabo.flow.host.terra-python
rabbitmqadmin purge queue name=colabo.flow.host.heartbeat

cd /Users/mprinc/data/development/colabo-zontik/colabo/src/services/puzzles/flow/go

python3 create_host_terra.py
```

# Clients

```sh
cd /Users/mprinc/data/development/colabo-zontik/colabo/src/services/puzzles/flow/go

# sending a task request by python client
python3 create_client_terra.py
```

# Messages

```sh
# delete all the messages in the `colabo.flow.host.node` queue
rabbitmqadmin purge queue name=colabo.flow.host.node
```

## Heartbeat

```sh
# heartbeat for discovering python test host with a single task: `com.welcometerra.video.ffmpeg-multiple`
rabbitmqadmin publish exchange=amq.default routing_key=colabo.flow.host.heartbeat payload='{"id": "ColaboFlow-msg:371f4180-5c92-11ed-bc66-96ba02116486", "type": "HEARTBEAT", "requestId": "ColaboFlow-request:371f42f2-5c92-11ed-bc66-96ba02116486", "sender": "host-python-1", "replyTo": null, "proxies": [], "msgReplyChainIds": [], "msg": ["node host with tasks: ['com.welcometerra.video.ffmpeg-multiple']"], "extension": {"id": 2, "queueHost": "colabo.flow.host.python", "language": "PYTHON", "taskIds": ["com.welcometerra.video.ffmpeg-multiple"]}}'
```

Here is the full message:

```json
{
	"id": "ColaboFlow-msg:371f4180-5c92-11ed-bc66-96ba02116486",
	"type": "HEARTBEAT",
	"requestId": "ColaboFlow-request:371f42f2-5c92-11ed-bc66-96ba02116486",
	"sender": "host-python-1",
	"replyTo": null,
	"proxies": [],
	"msgReplyChainIds": [],
	"msg": ["node host with tasks: ['com.welcometerra.video.ffmpeg - multiple']"
	],
	"extension": {
		"id": 2,
		"queueHost": "colabo.flow.host.python",
		"language": "PYTHON",
		"taskIds": ["com.welcometerra.video.ffmpeg-multiple"]
	}
}
```

## process_video

```json
{
	"userId": 16,
	"videoId": 49,
	"videoFileLocalPath": "/var/folders/f5/s2lwsbwx34728zbv9vd91f4w0000gn/T/tmpzz4ykin9.mp4",
	"first_name": "Sasha",
	"email": "mprinc@gmail.com",
	"username": "mprinc",
	"task_context": {
		"processId": 1,
		"userId": 16,
		"userName": "mprinc",
		"videoId": 49,
		"videoName": "ALWAYS BE SILENT IN FIVE SITUATIONS _ APJ Abdul Kalam Quotes _ Life Quotes - Quotation & Motivation.mp4",
		"name": "process_video",
		"id": 1
	},
	"videoToAudio": false
}
```