Other

项目介绍

Paebbels/JSON-for-VHDL 是一个托管在 GitHub 上的开源项目,主要使用 VHDL 编写,采用 Other 许可证,目前获得 87 个 Star、17 次 Fork。

仓库全名
Paebbels/JSON-for-VHDL
开源许可证
Other
Star 数
87
Fork 数
17
未关闭 Issue
6

README 摘要

JSON-for-VHDL ================================================================================ JSON-for-VHDL is a library to parse and query JSON data structures in VHDL. The complete functionality is hosted in a single VHDL package, without special dependencies. Table of Content: ================================================================================ 1. Overview 2. JSON - JavaScript Object Notation 3…

完整内容见 GitHub 原始 README 或本页 。

常见问题

JSON-for-VHDL 用什么语言开发?

主要使用 VHDL 编写,采用 Other 许可证,目前有 87 个 Star。

JSON-for-VHDL 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 JSON-for-VHDL 的源码?

可以直接克隆仓库:git clone https://github.com/Paebbels/JSON-for-VHDL.git,默认分支为 main;安装与运行步骤见仓库 README。

JSON-for-VHDL 最近还在维护吗?

仓库最近一次更新为 7月13日,当前有 6 个未关闭 Issue;Star 数为 87,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A JSON library implemented in VHDL.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
133
价值分
58
活跃状态
活跃

语言占比

Batchfile
PowerShell
Python
Shell
Tcl
TeX
VHDL

README

JSON-for-VHDL

CLA assistant

JSON-for-VHDL is a library to parse and query JSON data structures in VHDL. The complete functionality is hosted in a single VHDL package, without special dependencies.

Table of Content:

  1. Overview
  2. JSON - JavaScript Object Notation
  3. Short Example
  4. Download

1 Overview

The JSON-for-VHDL library can be used to parse and query JSON data structures, which are read from disk. The data structure is read via VHDL file I/O functions and procedures and parsed into a internal compressed representation. While the parsing is done, a lightwight index is created to ease the navigation on the data structure.

Values can be selected by simple path expressions.

2 JSON - JavaScript Object Notation

JavaScript Object Notation (JSON) Data Interchange Format is specified in RFC 7159.

3 Short Example

Here is a short example *.json file, which describes two common FPGA boards.

{  "ML505": {
    "FPGA":        "XC5VLX50T-1FF1136",
    "Eth": [{
      "PHY-Int":   "GMII",
      "Device":    "MARVEL_88E1111",
      "Address":   "0x74"
    }]
  },
  "KC705": {
    "FPGA":        "XC7K325T-2FFG900C",
    "Eth": [{
      "PHY-Int":   "GMII",
      "Device":    "MARVEL_88E1111",
      "Address":   "0x74"
    }],
    "IIC": [{
      "Type":      "Switch",
      "Adr":       "0x85",
      "Devices": [{
        "Name":    "Si570",
        "Address": "0x3A"
      }]
    }]
  }
}

Reference the JSON package in VHDL:

use work.json.all;

Load a external *.json file, parse the data structure and select a value:

architecture rtl of Test is
  constant ConfigFile   : STRING    := "Boards.json";
  constant JSONContent	: T_JSON    := jsonLoad(ConfigFile);
begin
  assert (JSONContent.Error(1) = C_JSON_NUL)
    report "Error: " & JSONContent.Error
    severity ERROR;
  assert FALSE
    report "Query='KC705/Eth/0/Address' Value='" & jsonGetString(JSONContent, "KC705/Eth/0/Address") & "'"
    severity NOTE;

  -- print the compressed file content
--  assert FALSE
--    report "JSON: " & JSONContent.Content severity NOTE;
end architecture;

4 Download

The library can be downloaded as a zip-file (latest ‘master’ branch) or cloned with git from GitHub. GitHub offers HTTPS and SSH as transfer protocols.

For SSH protocol use the URL ssh://[email protected]:Paebbels/JSON-for-VHDL.git or command line instruction:

cd <GitRoot>
git clone ssh://[email protected]:Paebbels/JSON-for-VHDL.git JSON

For HTTPS protocol use the URL https://github.com/Paebbels/JSON-for-VHDL.git or command line instruction:

cd <GitRoot>
git clone https://github.com/Paebbels/JSON-for-VHDL.git JSON

评论

暂无评论