我完全没有可编程逻辑方面的背景,我在项目中主要使用微控制器,但最近我需要处理视频,而微控制器对于我需要的东西来说太慢了,所以我开始使用 CPLD。
仅使用原理图设计,我就能够通过 CPLD 获得良好的结果,但是在搜索有关 CPLD 的信息时,我遇到了许多使用 VHDL 和 Verilog 的示例。我很好奇是什么让我想用其中一种语言定义我的设备。他们能做哪些原理图设计不能做的事情?它们主要用于功能吗?
到目前为止,我只使用过 CPLD,FPGA 设计是否比 CPLD 从使用这些语言中受益更多?
我完全没有可编程逻辑方面的背景,我在项目中主要使用微控制器,但最近我需要处理视频,而微控制器对于我需要的东西来说太慢了,所以我开始使用 CPLD。
仅使用原理图设计,我就能够通过 CPLD 获得良好的结果,但是在搜索有关 CPLD 的信息时,我遇到了许多使用 VHDL 和 Verilog 的示例。我很好奇是什么让我想用其中一种语言定义我的设备。他们能做哪些原理图设计不能做的事情?它们主要用于功能吗?
到目前为止,我只使用过 CPLD,FPGA 设计是否比 CPLD 从使用这些语言中受益更多?
仅当您仅将几个现成的模块(计数器、加法器、内存等)捆绑在一起时,原理图设计才有用。但是,如果没有 HDL(如 VHDL 或 Verilog),几乎不可能实现一个实际的算法(例如,密码散列算法),因为没有办法用示意图符号在行为级别上描述系统。
大多数项目都是用行为风格的 HDL 完成的,因为它们太复杂而无法手工合成和使用逻辑原语示意性地绘制。
CPLD 通常用于胶合逻辑,较少用于处理,并且通常逻辑很容易以示意图方式实现,因此当您建议基于 FPGA 的设计从使用 HDL 中受益更多时,我认为您是对的。
除了杰伊的出色回答外,还有几个实际方面:
*Xilinx ISE 中我最喜欢的错误是无法选择垂直线。
 HDL(硬件描述语言)作为设计输入标准有很多优点。
功能的描述可以在更高的层次上,基于 HDL 的设计可以合成为所选技术的门级描述,HDL 设计比门级网表或原理图描述和 HDL 更容易理解由于强类型检查而减少错误。
硬件描述语言 VHDL 和 Verilog 设计用于对硬件进行建模,目的是在更高的抽象级别进行建模,包括并发性、时序、层次结构、组件重用、状态行为、同步行为、异步行为、同步和固有并行性等特性.
在综合过程中出现问题,将设计描述映射到特定的工艺和门实现。这要求你不能使用 HDL 的高级特性——你必须产生“可综合的 Verilog/VHDL”
因此,您有用于综合的 HDL 和用于仿真的 HDL,并且可综合的子集是特定于工具的。
您不能从行为设计描述转到网表/布局。但是您可以构建您的设计,使其具有行为组件,这些组件也具有可以相互比较的可综合方面。您从行为开始,然后一旦起作用,您就可以重写以进行综合(这是一个子集)。你从一般到特殊,并在此过程中构建测试平台。
另一个优点是 HDL 与常规编程语言具有所有相同的优点,因为它们可以用于标准版本控制系统,用于检查更改等。