FPGA作为一种可编程的芯片,其结构和开发方式都与传统的MCU或DSP不同。MCU或DSP的设计,是主要进行软件程序设计,用户主要使用C语言完成各种控制和算法的实现,各种功能是在CPU的控制下按照顺序依次实现的。而FPGA设计,实质是电路设计,是在一个可以现场编程的通用逻辑器件中去搭建各种具有一定功能的逻辑电路,各个逻辑电路间是各自独立的,能够并行执行。同时,各个功能电路之间又通过一定的控制和握手信号相互协调。所以,要想能够正确高效的开发和使用FPGA,我们必须在此之前对其有一个充分细致的认识,包括对其硬件资源结构、硬件电路设计、开发环境等。
Inout 三态IO口 既可以输入又可输出
forever循环语句常用于产生周期性的波形,用来作为仿真测试信号。它与always语句不同之处在于不能独立写在程序中,而必须写在initial块中。如果只谈产生的时钟信号的话的确是没有区别的,用always和forever都可以产生一样的时钟信号。
独热码,在英文文献中称做 one-hot code, 直观来说就是有多少个状态就有多少比特,而且只有一个比特为1,其他全为0的一种码制。通常,在通信网络协议栈中,使用八位或者十六位状态的独热码,且系统占用其中一个状态码,余下的可以供用户使用。
逻辑非:!
逻辑与:&&
逻辑或:||
取反:~
位与:&
位或:|
位异或:^
casez
比较时,不考虑表达式中的高阻值
casex
不考虑高阻值z 和 不定值x



