首先,FPGA有两种逻辑:组合逻辑和时序逻辑。FPGA当然需要时序分析,除非你的设计不是时序逻辑电路;在时序逻辑电路下,你必须知道你的设计是否满足时序要求才能正常工作,FPGA的设计主要基于时序电路,而CPLD基于flash结构,断电后程序不会消失;FPGA具有更多的寄存器资源,适用于时序逻辑电路,而CPLD具有更多的门资源,适用于组合逻辑电路,SOC和sopc之间的区别是“P”,可编程性,Soc由制造商设计并且不能更改,而SOPC基于FPGA。
但是时序电路不同。可以说是FPGA设计的神圣词汇。“时钟是时序电路的控制器”这句话太经典了。③ FPGA在编程方面比CPLD更灵活。CPLD通过修改固定互连电路的逻辑功能进行编程。因为组合逻辑电路无论多复杂都不能改变太多模式,而FPGA的分段布线结构决定了其延迟的不可预测性。
②②CPLD的连续布线结构决定了其时序延迟是均匀且可预测的,而FPGA的分段布线结构决定了其不可预测性。FPGA设计中的仿真包括:RTL级行为仿真(也称为功能仿真和预仿真);全面的后门级模拟;时间序列模拟(也称为后模拟)。组合逻辑:描述一种状态,如C: = a b,D:= C‘那么在硬件电路中,这是一个固定的通道,C在任何时候都等于a b,D在任何时候都等于C‘,即。
②②CPLD的连续布线结构决定了它的时序延迟是均匀且可预测的,后续reg变量的赋值会比上一行延迟一个时钟周期。至于最高频率,恐怕要看你的要求,看你想让它工作到多高,第一次模拟可用于检查代码中的错误和代码行为的正确性,其中不包括信息。最后,值得注意的是,一般来说,两个赋值语句不能在同一个beginend模块之间混合使用。