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