《Verilog学习:数字系统设计基础》

一、数字系统多样性

由于应用场景的需要,有时通用的处理芯片难以满足实际需求(如:实时、高速等),需要另外设计专用电路,在FPGA或其他硬件上实现。

数字信号处理系统通常包括数据通道接口和算法电路。

现代专用集成电路依靠电子电路设计自动化工具EDA实现。

数字信号处理的基本思路:利用采样和ADC,把信号从模拟变为数字,再对数字信号进行运算。

数字信号系统设计:算法------硬线连接的门级逻辑电路------硅片。

何为算法?解决问题的具体步骤。

何为数据结构?解决特定问题的具体模型。

同一个算法可以由不同结构的数字电路实现,但运行效率有所不同。要实现数字电路,一般有四种方案:

(1)以专用微处理机芯片为中心。优点是设计周期短、可以利用的资源多,缺点是速度、能耗、体积等性能受该微处理器芯片和外围电路的限制;

(2)用高密度的FPGA(几万门到几百万门)。本质上是购买了一种通用处理器实现专用功能;

(3)设计专用的大规模集成电路(ASIC) / 利用现成微处理机的IP核进行专门设计。优点是性能好,缺点是设计和制造周期长、投片成本高。

二、实现电路前所需的仿真

三、C语言辅助编程

C语言应用广泛、灵活、查错能力强,能通过PU(编程语言接口)编写自己的系统任务,并直接与硬件仿真器(如VeriogXL)结合使用,故选用C语言对硬件编程进行辅助。

但要注意:

(1)C语言顺序执行,Verilog语言的仿真软件是顺序执行,但它描述的硬件是并行执行的。

(2)C语言没有延时特性,转换后的Verilog程序必须没有外加的人工延时信号,也就是必须表达为有限状态机(RTL级)。

相关推荐
叼烟扛炮3 小时前
[LangChain] 学习笔记(06):突破大模型限制——结构化输出(Structured Output)
windows·笔记·学习·langchain
且从容.4 小时前
VUE3学习笔记(根据黑马教程总结)
笔记·学习
蒸蒸yyyyzwd5 小时前
关于 AI 开发相关的一些面经。
笔记·学习
坤坤子吖12 小时前
Linux网络编程:TCP服务器的多进程与多线程实现
linux·服务器·开发语言·网络·c++·笔记·学习
蒸蒸yyyyzwd13 小时前
后端相关学习笔记。
笔记·学习
旖旎夜光14 小时前
【C++ 基础入门】C++ 多态(上):虚函数、重写、override/final 与抽象类
开发语言·c++·笔记·学习
LabVIEW开发15 小时前
LabVIEW FPGA 编程:少编译几次的办法(系列 04/05)
fpga开发·labview
橙橙笔记16 小时前
QT的学习第四部分
linux·qt·学习·音视频
叼烟扛炮17 小时前
Linux 学习笔记(五十四):内网穿透实战——用 frp 让外网访问你的私人电脑
linux·服务器·网络·笔记·学习
在猴站学算法17 小时前
(《统计学习方法》(第2版) 李航)第2章 感知机算法
学习·算法·机器学习·统计学习