rtl仿真器-ghdl安装和测试

news2024/11/24 17:25:49

安装

sudo add-apt-repository ppa:pgavin/ghdl
sudo apt-get update
sudo apt-get install ghdl gtkwave

仿真

rtl

add.v
library ieee;
use ieee.std_logic_1164.all;

entity ADD is
port (A,B:in bit;
SUM,CARRY:out bit);
end entity ADD;
architecture behave of ADD is
begin
SUM <=A xor B;
CARRY <= A and B;
end behave;

TB

library ieee;
use ieee.std_logic_1164.all;

entity tb is
end tb;
architecture beh of tb is
signal a_tb,b_tb,sum_tb,carry_tb: bit;
constant period : TIME := 10 ns;
component ADD
port (A,B:in bit;
SUM,CARRY:out bit);
end component;
begin
U0: ADD port map(
A=>a_tb,
B=>b_tb,
SUM=>sum_tb,
CARRY=>carry_tb
);
tb: process
–constant period : time :=20ns;
begin
a_tb <= ‘0’;
b_tb <= ‘1’;
wait for period;
assert ((sum_tb = ‘1’)and (carry_tb = ‘0’))
report “Test failed” severity error;
a_tb <=‘1’;
b_tb <=‘1’;
wait for period;
assert ((sum_tb = ‘0’)and (carry_tb = ‘1’))
report “Test failed” severity error;
wait;
end process;
end beh;

编译

分析

ghdl -a tb.vhd ADD.vhd

elab

ghdl -e tb

仿真

ghdl -r tb --vcd=tb.vcd

看波形

gtkwave tb.vcd
波形
命令解析:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端部署vue项目到腾讯云服务器

先把dist包上传服务器 可以使用宝塔、FileZilla、手动上传等等方式 已有腾讯云服务器之后进入面板界面 然后安装Nginx 请一步一步&#xff0c;紧跟步骤 第一步 安装gcc-c 编译器。nginx依赖的 pcre 和 zlib 包 yum -y install gcc zlib zlib-devel pcre-devel openssl openss…

嵌入式通信协议【Modbus】Modbus功能码的详细描述

一、读功能码 1、 01 (0x01)读线圈 在一个远程设备中&#xff0c;使用该功能码读取线圈的 1 至 2000 连续状态。请求 PDU 详细说明了起始地址&#xff0c;即指定的第一个线圈地址和线圈编号。从零开始寻址线圈。因此寻址线圈 1-16 为 0-15。 根据数据域的每个比特将响应报文…

vs 推送代码 之 gitee

我们常常想将自己的代码放入到代码管理工具中&#xff0c;接下来我们将讲解如何去将vs中的代码放入到代码管理工具中 目的&#xff1a;将vs中的项目代码放入到gitee中 首先&#xff1a; 我们需要注册一下gitee的账号&#xff0c;官网&#xff1a;gitee官网 辅助工具&#xff…

做网络那么多年,连以太网接口和串口都分不清?本文值得一看!

路由器是一种网络设备&#xff0c;它的主要功能是在不同的网络之间转发数据包&#xff0c;实现网络互联。路由器根据数据包的目的地址&#xff0c;选择最佳的路径&#xff0c;将数据包发送到下一跳。路由器可以连接不同的网络类型&#xff0c;如以太网、帧中继、PPP等。 路由器…

JavaWeb_Mysql_多表设计与查询

JavaWeb_Mysql_多表设计与查询 多表设计外键约束物理外键 -- 不推荐逻辑外键 多表关系实现 多表查询数据准备内连接外连接子查询标量子查询列子查询行子查询表子查询 案例数据准备案例需求 来源 多表设计 外键约束 物理外键 – 不推荐 概念: 使用foreign key定义外键关联另外…

关于网络命令 ping 你了解多少

1、介绍 Ping(Packet Internet Groper)是 Windows、Unix 和 Linux系统下的一个命令。ping 也属于一个通信协议&#xff0c;是 TCP/IP 协议的一部分。   Ping的运作原理是向目标主机传出一个 ICMP&#xff08;Internet Control Messages Protocol&#xff09;即因特网信报控制…

Linux内核的源码目录结构和配置体系

1.linux内核源码目录结构1 1.1、源码从哪里来 (1)我们使用2.6.35.7版本的内核。这个版本的内核有三种&#xff1a;第一种是kernel.org上的官方版本&#xff0c;第二种是三星移植过的&#xff0c;第三种是九鼎X210的移植版本。这里使用第三个。 (2)进入源码目录下&#xff0c…

《QT+PCL》点云配准进阶——GROR配准

《QT+PCL》点云配准进阶——GROR配准 一、展示效果二、ui设计三、代码3.1添加代码一、展示效果 根据之前的文章GROR复现,今天将其集成到QT软件中 二、ui设计 三、代码 3.1添加代码 qt的头文件、源文件依旧添加相关代码 其中,如果有函数冲突,改成内联函数,添加inline<…

【系统移植】开发板的启动过程

目录 1、开发板启动相关部件 2、开发板启动过程&#xff08;以 EMMC 启动为例&#xff09; (1) 运行 BL0&#xff08;初始化&#xff09; (2) 加载 uboot 引导程序 (3) 加载 linux 镜像、设备树、根文件系统 3、SD卡的存储结构 1、开发板启动相关部件 下面是一个简单的开…

非常有用的Linux网络诊断命令:traceroute

简介 traceroute 是一个网络诊断工具&#xff0c;用于检测数据包从本机到目标主机经过的路由路径。它可以帮助我们分析出网络连接的瓶颈&#xff0c;定位网络问题&#xff0c;并帮助我们优化网络连接。在 Linux 系统中&#xff0c;traceroute 命令是一个非常常用的工具。 安装…

java语法(二)线程并发、Juit单元测试、注解、反射机制、JVM

文章目录 线程并发多线程多线程的创建Thread常用API 线程同步与通信线程同步&#xff1a;单例模式的三种写法同步代码块同步方法Lock锁 线程通信 线程池获取线程池对象ThreadPoolExecutor线程池处理runnable任务线程池处理callable任务 Executors定时器Timer调度可重复执行任务…

【连续介质力学】张量的谱表示和Cayley-Hamilton定理

张量的谱表示 基于特征多项式&#xff1a; 如果 T T T 是对称二阶张量&#xff0c;那么有三个实数特征值&#xff1a; T 1 , T 2 , T 3 T_1, T_2, T_3 T1​,T2​,T3​, 对应有特征向量&#xff1a; 主空间由特征向量构成的正交基 n ^ ( 1 ) , n ^ ( 2 ) , n ^ ( 3 ) \hat n^…

【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版)

BLOOM模型结构源码解析(单机版) ​ 本文基于transformers中BLOOM模型代码来解析BLOOM的原理及实现。 相关博客 【自然语言处理】【大模型】BLOOM模型结构源码解析(单机版) 【自然语言处理】【大模型】极低资源微调大模型方法LoRA以及BLOOM-LORA实现代码 【深度学习】【分布式训…

Win32程序入口识别,定位回调函数,具体事件处理的定位,ESP寻址方式,压栈方式复习

本专栏上一篇文章带领大家编写了第一个Windows程序&#xff0c;并且带领大家了解了Windows消息机制&#xff0c;如果大家还是不了解的话&#xff0c;可以到我的另一篇专栏中深入学习一下windows消息&#xff0c;Windows消息循环的原理&#xff0c;点击这里就可以查看啦。 我们在…

Gateway网关详解及实践---SpringCloud组件(五)

Gateway网关详解及实践 一 简介1.1介绍1.2.GateWay核⼼概念1.3.GateWay核心功能 二Gateway入门案例2.1 gateway依赖2.2 gateway配置2.3 gateway测试 三Gateway面向服务的路由3.1.门案例问题3.2.gateway-server结合eureka步骤3.2.1.添加Eureka客户端依赖3.2.2.添加Eureka配置3.2…

MySQL进阶-MySQL体系结构和常见存储引擎的比较

本文介绍MySQL体系结构以及存储引擎&#xff08;InnoDB、MyISAM、Memory&#xff09;的比较 文章目录 MySQL 体系结构连接层服务层连接池系统管理和控制工具SQL接口解析器查询优化器缓存 引擎层存储层 存储引擎InnoDBMyISAMMemory区别 MySQL 体系结构 连接层 最上层是一些客户…

Rust 正式发布八周年纪念日 2023.5.15

图源&#xff1a;维基百科 目录 Rust 1. Rust的特点 1.1 安全性 1.2 并发性 1.3 性能 1.4 代码可读性 2. 使用场景 2.1 系统编程 2.2 Web开发 2.3 游戏开发 3. 与其他语言的对比 4. 代码示例 1. Hello, World! 2. 简单的函数 3. 变量绑定和变量类型推断 4. 结…

dayday60-120

目录 60 申论强化361 申论强化462 模考大赛错题63 言语真题164 言语真题65 言语真题366 判断真题1676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 60 申论强化3 1.公文题的格式不允许丢…

Vector - CAPL - CAN消息自动化设置

目录 canGetDataLength -- 获取CAN消息有效负载长度 代码示例 canOutputErrorFrame -- 模拟发送错误帧消息 代码示例 isStdId & isExtId -- 判断报文是标准帧&扩展帧 代码示例 mkExtId -- 将标准帧转换为扩展帧 代码示例 valOfId -- CAN消息的长值标识符 代…

基于SpringBoot的原创歌曲平台的设计与实现

背景 原创歌曲分享平台&#xff0c;为了随时随地查看原创歌曲分享信息提供了便捷的方法&#xff0c;更重要的是大大的简化了管理员管理原创歌曲分享信息的方式方法&#xff0c;更提供了其他想要了解原创歌曲分享信息及运作情况以及挑选方便快捷的可靠渠道。相比于传统原创歌曲…