专栏首页OpenFPGA记忆插画师-脑中的FPGA电路

记忆插画师-脑中的FPGA电路

经过大约半个月的思考和查阅资料,准备还是将这部分教程写出来,这个思路的来源主要是好多人留言,入门之后感觉还是很迷茫。其实这个问题,我也很难去解答,但是我还是希望通过今天这部分解说和接下来的教程,帮大家理理思路。

大家可能在进阶过程中可能听到的最多的一句话就是在用硬件语言(VHDL/Verilog HDL)“写程序”时,脑中要有电路的概念,但是很多人肯定不能理解这个电路到底是什么?

我也和几个朋友讨论过这个问题,其实这个概念很宽泛,我大概说一下:这个概念其实是早期用原理图进行设计输入时比较看重的,你在设计原理图时,你需要知道每个门电路、数字电路(SSI、MSI、LSI)的功能和作用,才能进行正确的连线和综合。随着硬件描述语言的崛起,慢慢的取代“效率低下”的原理图设计。到了硬件描述语言设计时期,就需要分是简单设计还是复杂设计,简单的设计这个“电路”就是指综合出来的电路;复杂设计这种电路的概念就会上升到模块划分的概念,之后每个小模块内又回到了简单设计。尤其是在大型设计时需要调成时,这个概念就上升到了网表。

下面将整个教程脑图放一下:

上面会花费大量篇幅介数字电路,但是不会简单的介绍,会根据内部模拟电路的应用进行介绍,这样就可以理解:(1)为什么数字电路的时钟会有限制;(2)竞争和冒险;(3)扇入扇出系数;(4)静态时序分析等。

然后会将剩下的篇幅介绍Verilog语言,这里不会很详细介绍语言语法等基本概念,会直接在应用层展开。

这里再解释几个概念:

1、原理图设计输入和硬件描述语言设计有什么区别?

HDL语言输入:

逻辑描述功能强

成为国际标准,便于移植

原理图输入:

使用元件符号和连线等描述

比较直观,但设计大规模的数字系统时则显得繁琐

原理图与HDL的联系与高级语言与汇编语言类似

2、常见的培训机构提供的教学,像根据波形写“程序”(明德扬),状态机,模块划分等,这几种方式有什么优缺点?

这些方式其实都是硬件描述语言的辅助设计,有利于在设计过程中方便进行描述。

PS:以上方式类似于Xilinx提出的利用IP进行大型项目设计类似。

今天就先写到这,思路还比较乱,还有很多概念,比如网表等,还没融入进去,所以整个教程可能需要花费大约一年的时间来组织(主要是涉及到思路,要比写实例教程难度大很多),语言组织有限,大家多担待!

PS:对于这方面大家有其他想法的可以后台联系我,或者有什么问题的也可以后台联系我,尊听教导!

本文分享自微信公众号 - OpenFPGA(OpenFPGA),作者:碎碎思

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Aurora 8B/10B光口通信

    本课程内容参考XILINX 官方文档PG046(https://www.xilinx.com/support/documentation/ip_document...

    碎碎思
  • SerDes知识详解

    也存在一些介于SerDes和并行接口之间的接口类型,相对源同步接口而言,这些中间类型的接口也使用串行器(Serializer)解串器(Deserializer)...

    碎碎思
  • modelsim se 2019.2安装教程

    modelsim se 2019是一款在原版本软件功能和性能基础上得到改进以及优化的最新版本HDL语言仿真软件,使其软件功能性更加完善。2019新版本提供全面完...

    碎碎思
  • 【vulnhub】DC-1

    192.168.149.150,用 nmap 扫一下:nmap -A 192.168.149.150

    yichen
  • Leetcode2——Add Two Numbers

    版权声明:博客文章都是作者辛苦整理的,转载请注明出处,谢谢! https://blog.csdn....

    Tyan
  • 深度解析ug1292(4)

    在分析place_design生成的dcp时,就要开始关注保持时间违例,尤其是当WHS < -0.5ns时。这是因为过大的保持时间违例往往会导致布线时间增大,同...

    Lauren的FPGA
  • 在命令行中调试 django 项目中的模块方法

    如果在日常开发中有些模块需要在反复运行调试,但是又依赖了django框架的组件,需要启动框架后才能正常执行,本文提供一个简单可行的方案简化了这个调试过程。

    jimbochen
  • SpringMVC乱码或前台乱码解决办法

    以及 form表单提交方式为必须为post 修改web.xml,增加编码过滤器,如下(注意,需要设置forceEncoding参数值为true)

    試毅-思伟
  • 颜学伟:实时音视频与PSTN结合的解决办法

    6月29日,音视频及融合通信技术技术沙龙圆满落幕。本期沙龙特邀请腾讯云技术专家分享关于最新的低延迟技术、全新的商业直播方案等话题,针对腾讯云音视频及融合通信产品...

    云加社区技术沙龙
  • SaaS企业如何高效获客?搭建线索池,营销自动化培育转化

    无论人还是企业,第一要务都是生存下去,而对于企业来说,生存下去的关键就是获取足够的资金。当然融资是一条“快速通道”,而且还可以借此获得足够的市场声量来进行品牌与...

    人称T客

扫码关注云+社区

领取腾讯云代金券