Verilog语言博大精深,本节提取Verilog语言精华做详细介绍,主要从以下几个方面入手:Verilog语言基本结构、其门级描述与行为级描述,搭建组合逻辑与时序逻辑,以及如何使用状态机,从基础框架到骨髓血液,整个硬件描述语言塑造成型。图5.3 Verilog基本结构1.Verilog基本结构Verilog模块在工程中以.v的文件形式存在,在每个.v文件中都定义了一个功能模块,其基本结构如图5.3所示。......
2023-06-26
数字电路设计的终极目标是把语言描述的设计变成实实在在的电路,这个过程就是综合,而有的语言是不能被综合的,比如延时“#2”等表述,所以我们在设计的时候需要注意使用可综合的表达,最终才能转换为各个基本的数字元件。
可综合的设计:可综合的建模模型有时序逻辑和组合逻辑,常用的always块、if、case、assign、function等都是可以综合的,能够转换成相应的门器件,经过一定的组合和连接,完成设计的功能,在仿真和硬件上实现的功能一致。
不可综合的设计:在仿真的测试程序中可以使用不可综合的设计,能达到一定的效果,比如“#10”,在仿真中表示延时10个时钟周期,在信号的传输中确实能体现出来,但当综合工具遇到这句话时,它会被忽略,在硬件上并不能体现延时10个时钟周期的效果,与没有延时的效果一样。还有很多这样不能综合的表述,它们在综合的过程中有的被忽略,有的会报错,简单总结一下,以下这些表述都是不能被综合的,使用时需要注意。
1)数据类型定义中event、real、time、trireg等;
2)操作符===、!==;
3)语句:循环次数不确定的循环语句,比如forever、while;initial语句块一般用于仿真中对信号初始化;用过程持续赋值语句assign、deassign对reg型变量赋值;强行赋值语句force、release;并行执行语句fork、join;非门级原语primitives;用户自定义的原语(UDP);wait语句;延时语句#。
4)其他:finish等系统任务;除法(分母不是2n);table;stong1、weak0等信号强度的描述。
可综合性设计任重道远,需要在平时的设计中点滴积累,养成良好的设计习惯,例如:
1)所有的寄存器都应该能被复位,用复位信号来初始化变量,并尽量使用全局复位作为系统复位,并且最好采用异步复位,同步释放的方法;
2)不要在同一个always块中同时出现阻塞赋值和非阻塞赋值;
3)尽量采用同步时序逻辑设计电路,并且尽量避免使用锁存器(锁存器是不完全的条件判断语句生成的,在if语句和case语句的所有条件分支中都对变量明确的赋值);
4)敏感信号中对同一个信号不能同时使用posedge和negedge,比如:always@(posedge clk or negedge clk);
5)同一个reg型变量不能在多个always块中被赋值;
6)在always块中描述组合逻辑,敏感信号列表中应包含所有的输入信号,建议使用always@(*)的表达方式。
上述所列是通常容易犯错误的地方,一千个读者有一千个哈姆雷特,错误也是千变万化,因人而异,但万变不离其宗,可综合的设计就是要把设计变成电路,在电路中有所体现,在调试过程中,可以根据综合工具的提示对代码进行验证和修改,由此可见,仿真工具只能帮你一时,不能帮你一世啊。它帮助我们验证代码的功能,但实际的情况还是要经过综合工具的考验,拿到板子上真操实练,方得始终。
有关CMOS集成电路EDA技术的文章
Verilog语言博大精深,本节提取Verilog语言精华做详细介绍,主要从以下几个方面入手:Verilog语言基本结构、其门级描述与行为级描述,搭建组合逻辑与时序逻辑,以及如何使用状态机,从基础框架到骨髓血液,整个硬件描述语言塑造成型。图5.3 Verilog基本结构1.Verilog基本结构Verilog模块在工程中以.v的文件形式存在,在每个.v文件中都定义了一个功能模块,其基本结构如图5.3所示。......
2023-06-26
表5.14-2 编码器真值表表5.1中,“x”表示不定位,可以是“0”,也可以是“1”,根据真值表写出Verilog实现代码,如例5.2所示。例5.2 4-2编码器示例主要使用casex语句实现编码过程,其测试文件如例5.3所示。例5.3 4-2编码器测试文件编码结果如图5.12所示。例5.5 四分频器测试代码仿真结果如图5.13所示。......
2023-06-26
算法的描述方法主要有如下几种。例如,用传统流程图表示的顺序结构如图3.2所示,用NS图表示的顺序结构如图3.2所示,表示先执行A操作,再执行B操作,两者是顺序执行的关系。......
2023-11-20
硬件测试系统包含本项目所使用的硬件设备,主要包括传感器、信号调理器、数据采集设备和计算机等部分。物流包装材料无害化生产过程数据采集系统硬件设备主要包括塑料注塑成型机、计算机、数据采集卡、传感器、信号调理器等。通过数据采集卡获取数据是主要的渠道,系统采用了NI公司基于PCI总线的数据采集卡PCI6221以及USB接口的数据采集卡USB6221,采集卡集成了A-D转换和数字I/O等功能。图6-13 测试系统硬件设计方案表6-3 采集所用的各种传感器......
2023-07-02
PLC硬件系统的设计是指在对硬件系统进行安装前,根据系统的控制需求合理选配硬件设备,并对所有硬件设备的关系进行设计和调整,为下一步实际安装操作中做好指导性工作。目前市场上的PLC多种多样,用户可根据系统的控制要求,选择不同技术性能指标的PLC来满足系统的需求,从而保证系统运行可靠,使用维护方便。......
2023-06-24
程序存储器存储人为编写的程序代码,使得DSP控制器能够按照人的意志进行相应的工作。图7-3 典型的DSP控制系统框图2.最小硬件系统DSP最小硬件系统包括DSP芯片、复位电路、时钟电路、电源等。图7-6给出了DSP控制系统的JTAG接口与控制板中DSP芯片连接的原理图。......
2023-06-30
1.系统的组成根据系统的主要技术指标和功能,本系统为一个8路数据实时采集系统,系统选用AT89C52单片机为主机。由于AT89C52片内具有8KB的程序存储器,所以系统不需要外部扩展程序存储器。2.系统的工作原理图10-16系统总体结构框图本系统设计采用定时采样控制方式进行工作,每隔0.5s对8路模拟量进行巡回采集1次。图10-19DAC0832的电压输出电路图打印机的选择在单片机系统中,经常选用微型打印机,如PP40、GP16等。......
2023-11-17
与普通神经元节点比较,Host-Bost结构节点增加了一个主处理器8515,进行数据采集和处理的应用电路接到主处理器8515的端口上,而不是直接接到神经元芯片的I/O端口上。8515与神经元芯片之间通过单字节FIFO的并行接口进行数据交换。以下简称8515为A机,Neuron芯片为B机。为了让8515CPU与Neuron芯片尽量同步开始工作,设计时把Neuron芯片的复位输出经74HC04取反后接到8515CPU的复位引脚上。......
2023-11-22
相关推荐