java实现输出加法表_米联客(MSXBO)通过简单的加法器了解LUT查找表实现加法功能...

本文主要是介绍java实现输出加法表_米联客(MSXBO)通过简单的加法器了解LUT查找表实现加法功能...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

米联客(MSXBO)通过简单的加法器了解LUT查找表实现加法功能

1.1概述

由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构。LUT本质上就是一个RAM。它把数据事先写入RAM后, 每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。

7系列FPGA中的函数发生器实现为六输入查找表(LUT)。slice的4个函数发生器(A,B,C和D)中的每一个都有六个独立输入(A输入A1至A6)和两个独立输出(O5和O6)。

这篇短文中,我们通过一个简单的加法器来了解下LUT如果实现加法器功能。

1.2加法器代码

module ADDER(

input  [0:0]A,

input  [0:0]B,

output [1:0]Q

);

assign Q = A + B;

endmodule

1.3加法器原理图

从VIVADO 左侧的 RTL ANALYSIS选择打开原理图

d503ecd2ce083536b14e576488a4015c.png

加法器原理图如下图所示

9a0bf61f3e22c56a41c66c60da4b4e79.png

1.4综合代码后查看原理图

7826a1162286bae05f8a56847658bc13.png

综合后的原理图可以看到IBUF以及LUT和OBUF

d0c9fa219e4504e44a5633b5ebd0b19e.png

单击红框的LUT2单元,然后在左手边查看LUT2的属性

b8447f7bbf9c56d5522728123634cac4.png

同理单击红框的LUT2单元,然后在左手边查看LUT2的属性

599560c82a77cebdea08952e8ab013ca.png

可以看到以上图中的初始值,就是LUT查找表的值,通过查表我们可以看到加法器的可以执行的结果。

A

B

ADDR

Q_OBUF[0]_inst_i_1

ADDR

Q_OBUF[1]_inst_i_1

Q[1:0]

0

0

0

0

0

0

2’b00

1

0

1

1

2

0

2’b01

0

1

2

1

1

0

2’b01

1

1

3

0

3

1

2’b10

通过以上的简单分析,相信大家可以掌握LUT实现逻辑单元功能的本质了。

这篇关于java实现输出加法表_米联客(MSXBO)通过简单的加法器了解LUT查找表实现加法功能...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204498

相关文章

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

Java中如何正确的停掉线程

《Java中如何正确的停掉线程》Java通过interrupt()通知线程停止而非强制,确保线程自主处理中断,避免数据损坏,线程池的shutdown()等待任务完成,shutdownNow()强制中断... 目录为什么不强制停止为什么 Java 不提供强制停止线程的能力呢?如何用interrupt停止线程s

MySQL中On duplicate key update的实现示例

《MySQL中Onduplicatekeyupdate的实现示例》ONDUPLICATEKEYUPDATE是一种MySQL的语法,它在插入新数据时,如果遇到唯一键冲突,则会执行更新操作,而不是抛... 目录1/ ON DUPLICATE KEY UPDATE的简介2/ ON DUPLICATE KEY UP

Python中Json和其他类型相互转换的实现示例

《Python中Json和其他类型相互转换的实现示例》本文介绍了在Python中使用json模块实现json数据与dict、object之间的高效转换,包括loads(),load(),dumps()... 项目中经常会用到json格式转为object对象、dict字典格式等。在此做个记录,方便后续用到该方