NVC多平台部署指南:Linux、macOS和Windows下的安装与配置
NVC多平台部署指南Linux、macOS和Windows下的安装与配置【免费下载链接】nvcVHDL compiler and simulator项目地址: https://gitcode.com/gh_mirrors/nv/nvcNVC是一款开源的VHDL编译器和模拟器支持VHDL-2008标准并具有出色的模拟性能。本指南将详细介绍如何在Linux、macOS和Windows三大主流操作系统上安装和配置NVC帮助您快速搭建VHDL开发环境。 快速入门NVC核心功能简介NVCVHDL Compiler and Simulator是一个专注于模拟性能的VHDL编译器和模拟器它使用LLVM技术将VHDL代码编译成本地机器码从而获得卓越的模拟速度。NVC支持几乎所有VHDL-2008特性并且与OSVVM、UVVM、VUnit等流行的验证框架兼容。NVC的主要工作流程包括三个步骤分析Analysis、细化Elaboration和运行Run。这与传统软件开发中的编译、链接和执行过程类似。通过简单的命令行操作您可以快速开始VHDL设计验证。 Linux系统安装指南Ubuntu/Debian系统安装对于基于Debian的系统安装过程非常简单。首先安装必要的依赖包sudo apt-get update sudo apt-get install build-essential automake autoconf \ flex check llvm-dev pkg-config zlib1g-dev libdw-dev \ libffi-dev libzstd-devFedora/RHEL/CentOS系统安装对于基于RPM的系统使用以下命令安装依赖sudo dnf install autoconf automake flex check llvm-devel libffi-devel \ zlib-ng-compat-devel libzstd-devel elfutils-devel从源码编译安装克隆NVC仓库git clone https://gitcode.com/gh_mirrors/nv/nvc cd nvc生成配置脚本./autogen.sh创建构建目录mkdir build cd build配置和编译../configure make sudo make install使用包管理器安装许多Linux发行版已经包含了NVC的软件包Arch Linux AURyay -S nvcGentooemerge sci-electronics/nvcFreeBSDpkg install nvc macOS系统安装指南使用Homebrew安装推荐macOS用户可以通过Homebrew一键安装NVCbrew install nvcHomebrew会自动处理所有依赖关系包括LLVM和Flex。从源码编译安装如果希望使用最新版本或自定义配置也可以从源码编译# 安装Xcode命令行工具 xcode-select --install # 安装Homebrew如果尚未安装 /bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) # 安装依赖 brew install automake autoconf flex llvm pkg-config # 克隆和编译NVC git clone https://gitcode.com/gh_mirrors/nv/nvc cd nvc ./autogen.sh mkdir build cd build ../configure make sudo make install Windows系统安装指南使用MSYS2环境安装NVC在Windows上主要支持MSYS2环境。建议使用Clang x64环境因为它支持原生的Windows线程本地存储安装MSYS2从MSYS2官网下载并安装启动MSYS2 Clang64终端安装依赖包pacman -S base-devel mingw-w64-clang-x86_64-{llvm,ncurses,libffi,check,pkgconf,zstd,autotools,clang,readline}编译和安装git clone https://gitcode.com/gh_mirrors/nv/nvc cd nvc ./autogen.sh mkdir build cd build ../configure make make install使用Windows安装程序对于不想编译的用户可以直接下载Windows安装程序从NVC的GitHub Releases页面下载最新的.msi安装包或者使用winget命令安装winget install NickGasson.NVC安装程序会自动将NVC添加到系统PATH环境变量中。⚙️ 配置与验证验证安装是否成功安装完成后运行以下命令验证NVC是否正确安装nvc --version您应该看到类似以下的输出nvc 1.21.1 Copyright (C) 2014-2023 Nick Gasson配置LLVM版本NVC支持LLVM 8.0到21.0版本。如果需要使用特定版本的LLVM可以在配置时指定../configure --with-llvm/path/to/llvm-config安装第三方库NVC提供了方便的脚本安装流行的验证框架和FPGA厂商的模拟库# 安装OSVVM验证框架 nvc --install osvvm # 安装Xilinx Vivado库 nvc --install vivado # 安装Altera Quartus库 nvc --install quartus # 安装UVVM验证框架 nvc --install uvvm这些库将安装在~/.nvc/lib目录下。 基本使用示例简单的VHDL设计流程创建一个简单的VHDL文件hello.vhdlibrary ieee; use ieee.std_logic_1164.all; entity hello is end entity hello; architecture rtl of hello is begin process begin report Hello, VHDL World!; wait; end process; end architecture rtl;使用NVC编译和运行# 分析设计文件 nvc -a hello.vhd # 细化设计 nvc -e hello # 运行模拟 nvc -r hello更简洁的单行命令您也可以将三个步骤合并为一条命令nvc -a hello.vhd -e hello -r 运行测试套件单元测试要运行NVC的单元测试需要先安装check库# Ubuntu/Debian sudo apt-get install check # Fedora/RHEL sudo dnf install check-devel # macOS brew install check然后运行测试make check回归测试NVC包含完整的回归测试套件# 运行所有回归测试可能需要较长时间 make check # 运行快速测试 make check QUICK1 # 运行单个测试 cd build bin/run_regr test-name测试列表位于test/regress/testlist.txt文件中。️ 高级配置选项环境变量配置NVC支持多个环境变量用于调试和性能调优# 打印生成的中间表示IR export NVC_LOWER_VERBOSE1 # 仅打印特定单元的IR export NVC_LOWER_VERBOSEunit_name # 启用详细编译日志 export NVC_VERBOSE1标准版本选择NVC支持多个VHDL标准版本默认使用VHDL-2008# 使用VHDL-1993标准 nvc --std1993 -a design.vhd # 使用VHDL-2002标准 nvc --std2002 -a design.vhd # 使用VHDL-2008标准默认 nvc --std2008 -a design.vhd 故障排除常见问题解决LLVM版本不兼容确保安装了LLVM 8.0或更高版本使用--with-llvm选项指定正确的LLVM路径Flex未找到安装flex包sudo apt-get install flex或brew install flex权限问题确保对安装目录有写入权限使用sudo make install或设置适当的安装前缀Windows路径问题在MSYS2中使用Unix风格的路径确保MSYS2环境变量正确设置获取帮助查看完整手册man nvc在线文档官方手册报告问题通过GitHub Issues或发送邮件至项目维护者 性能优化建议编译优化选项NVC支持多种优化级别# 启用优化默认 nvc -O -a design.vhd # 禁用优化用于调试 nvc -O0 -a design.vhd # 最大优化 nvc -O3 -a design.vhd内存管理对于大型设计可以调整内存限制# 设置堆大小 export NVC_HEAP_SIZE256M # 设置栈大小 export NVC_STACK_SIZE64M 更新与维护更新NVC从源码更新cd /path/to/nvc git pull cd build make clean make sudo make install清理构建文件# 清理构建目录 cd build make clean # 完全清理包括配置 make distclean 总结通过本指南您应该已经成功在Linux、macOS或Windows系统上安装并配置了NVC VHDL编译器。NVC以其出色的模拟性能和广泛的VHDL-2008支持为硬件设计验证提供了强大的工具。无论您是VHDL初学者还是经验丰富的硬件工程师NVC都能满足您的模拟需求。记得查看官方文档获取更详细的使用说明并探索AI功能源码了解NVC的高级功能。开始您的VHDL设计之旅吧【免费下载链接】nvcVHDL compiler and simulator项目地址: https://gitcode.com/gh_mirrors/nv/nvc创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

3步掌握MinerU:构建智能文档解析系统的实战指南

3步掌握MinerU:构建智能文档解析系统的实战指南

3步掌握MinerU:构建智能文档解析系统的实战指南 【免费下载链接】MinerU Transforms complex documents like PDFs and Office docs into LLM-ready markdown/JSON for your Agentic workflows. 项目地址: https://gitcode.com/GitHub_Trending/mi/MinerU Mi…

2026/7/5 17:03:07 阅读更多 →
Thrift接口测试与性能分析:Team IDE的高级功能详解

Thrift接口测试与性能分析:Team IDE的高级功能详解

Thrift接口测试与性能分析:Team IDE的高级功能详解 【免费下载链接】teamide Team IDE 集成MySql、Oracle、金仓、达梦、神通等数据库、SSH、FTP、Redis、Zookeeper、Kafka、Elasticsearch、Mongodb、小工具等管理工具 项目地址: https://gitcode.com/gh_mirrors/…

2026/7/5 17:01:06 阅读更多 →
BTTV安卓版性能优化指南:提升应用流畅度的10个技巧

BTTV安卓版性能优化指南:提升应用流畅度的10个技巧

BTTV安卓版性能优化指南:提升应用流畅度的10个技巧 【免费下载链接】bttv A mod of the Twitch Android Mobile App adding BetterTTV, FrankerFaceZ and 7TV emotes 项目地址: https://gitcode.com/gh_mirrors/bt/bttv BTTV安卓版是一款为Twitch移动应用添加…

2026/7/5 16:59:06 阅读更多 →

最新新闻

hexo-tag-aplayer从入门到精通:构建博客音乐系统的完整路线图

hexo-tag-aplayer从入门到精通:构建博客音乐系统的完整路线图

hexo-tag-aplayer从入门到精通:构建博客音乐系统的完整路线图 【免费下载链接】hexo-tag-aplayer Embed aplayer in Hexo posts/pages 项目地址: https://gitcode.com/gh_mirrors/he/hexo-tag-aplayer hexo-tag-aplayer是一款强大的Hexo标签插件,…

2026/7/5 18:35:29 阅读更多 →
网盘直链下载助手完整指南:一键获取八大网盘真实下载地址的终极解决方案

网盘直链下载助手完整指南:一键获取八大网盘真实下载地址的终极解决方案

网盘直链下载助手完整指南:一键获取八大网盘真实下载地址的终极解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中…

2026/7/5 18:33:28 阅读更多 →
如何扩展Runno:添加自定义编程语言运行时的完整指南

如何扩展Runno:添加自定义编程语言运行时的完整指南

如何扩展Runno:添加自定义编程语言运行时的完整指南 【免费下载链接】runno Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP. 项目地址: https://gitcode.com/gh_mirrors/ru/runno Runn…

2026/7/5 18:33:28 阅读更多 →
对字符串排序的影响

对字符串排序的影响

字符串的大小比较并不是如C那样按照字符串字符内码大小顺序从头到尾来比较的。由于我是从C/C转过来的,我一直以来都以为.net 下字符串的比较规则和C是一样的,直到有一天我的程序在英文操作系统下出错。 .net 下,字符串的排序受 System.Threa…

2026/7/5 18:29:28 阅读更多 →
Runno高级调试技巧:解决复杂代码执行问题的完整方法

Runno高级调试技巧:解决复杂代码执行问题的完整方法

Runno高级调试技巧:解决复杂代码执行问题的完整方法 【免费下载链接】runno Sandboxed runtime for programming languages and WASI binaries. Works in the browser, on your server, or via MCP. 项目地址: https://gitcode.com/gh_mirrors/ru/runno Runn…

2026/7/5 18:29:28 阅读更多 →
Instatic集群部署:负载均衡与会话共享配置指南

Instatic集群部署:负载均衡与会话共享配置指南

Instatic集群部署:负载均衡与会话共享配置指南 【免费下载链接】Instatic Instatic is a modern self-hosted visual CMS - get it running in 1 minute 项目地址: https://gitcode.com/GitHub_Trending/in/Instatic Instatic作为一款现代自托管视觉CMS&…

2026/7/5 18:25:26 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻