Verilog HDL已成为标准的硬件描述语言,相比VHDL,具有自己的优点: 与C语言类似易学易用,对于具有C编程经验的设计者来说容易掌握。 门设计方面功能较强,在同一个电路模型内进行不同抽象层次的描述 多数流行的工具都支持 Verilog HDL,应用范围较广,资料好找。 制造厂商提供的逻辑仿真的元件库标胶丰富,可与matlab等软件集成开发。 编程工具对比如下: Vivado 是Xilinx发布的一个用于设计Xilinx 7系列FPGA和SoC的软件工具,包括模块化设计流程、综合优化技术并支持混合语言设计,用户可以利用基于IP的设计方法快速集成预先构建的功能模块,提高工作效率。 Quartus Intel发布的综合设计套件,支持Stratix、Arria系列,提供了图形界面和文本编辑模式,包括了综合、分析与仿真工具,,并强调了设计复用及高效转移设计。
设计步骤简介: 确定系统输入输出;确定电路状态,绘制FSM;编制卡诺图;输出计算公式 编制代码;仿真分析。
如单脉冲发生器FSM:
L=s1+s2+s3=A・/B+A・B+/A・B=A +/A・B. 代码如三输入或门: LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; ENTITY or3 IS PORT (a, b, c : IN std_logic; PORT (d : OUT std_logic); END or3; ARCHITECTURE synth OF or3 IS BEGIN d <= a OR b OR c; END synth; D锁存器:
module d_latch (c,d, q, qn); input c,d; output q,qn; wire r,s; nand nandl (s, d,c);nand nand2 (r,-d,c); rs_latch rslatch (s,r,q, qn); endmodule module rs_latch (s,r,q, qn); input s,r; output q,qn; nand nandl (q,s,qn);nand nand2 (qn,r,q); Endmodule 仿真可在quartus中实现,如
随着5G、智能驾驶等技术的兴起,基于verilog学习和开发FPGA迎来了新的发展机遇。
|