芯片原厂必学课程-第二篇章-Verilog编程技巧篇02-06命名规范化,专业的定义新芯设计:专注,积累,探索,挑战文章目录芯片原厂必学课程-第二篇章-Verilog编程技巧篇02-06命名规范化,专业的定义🌏一、引言🌏二、正文🌏一、引言 ✅模块、任务、函数、端口、信号、参数等等的定义是非常重要的! ✅只有通过专业的定义,才能够在百万门级、千万门级、上亿门级的电路设计中,对各个信号有着清晰的认识! ✅笔试面试、科研竞赛、入职工作中,专业的定义是你Verilog代码的加分项,这也是“赛洛基团队撰写这篇文章的必要性! NOTES:本文来自《芯片原厂必学课程-第二篇章-Verilog编程技巧
名称:密码锁设计Verilog代码Quartus 睿智FPGA开发板(文末获取)软件:Quartus语言:Verilog代码功能:1、设计一个密码锁的控制电路,当输入正确代码时,输岀开锁信号用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁2、在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关的输入代码等于储存代码时,开锁3、从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态,使之无法再打开,并由扬声器发出持续20秒的报警信号。本代码已在睿智FPGA开发板验证,睿智FPGA开发板如下,其他开发板可以修改管脚适配:1.工程文件2.程序文件3.程序编译4.RTL图5.
1、if语句实现计数器modulecounter(inputclk,outputreg[3:0]count);always@(posedgeclk)beginif(count==4’hF)begincountendelsebegincountendendendmodule2、for循环语句实现计数器integer i;reg[3:0] counter2;initialbegin counter2='b0; for(i=0;i #10; counter2=counter2+1'b1; endEnd3、while语句实现计数器modulet
名称:数字频率计Verilog代码Quartus DE1-SoC开发板(文末获取)软件:Quartus语言:Verilog代码功能:数字频率计 采用一个标准的基准时钟,在1s里对被测信号的脉冲数进行计数,即为信号频率利用等精度测量法可以测量1hz至99999999Hz信号频率七段码管显示测量值本代码已在DE1-SoC开发板验证,DE1-SoC开发板如下,其他开发板可以修改管脚适配:1.工程文件2.程序文件3.程序编译4.程序RTL图(结构图)5.管脚分配6.Testbench7.仿真图整体仿真图计数模块显示模块闸门信号产生模块单位选择模块锁存模块超量程模块部分代码展示://顶层模块modu
名称:Quartus数字秒表verilog代码青创QC-FPGA开发板(文末获取)软件:Quartus语言:Verilog代码功能:数字秒表设计1、支持复位、启动、暂停2、具有量程切换功能,可以切换显示小时、分钟或者秒、毫秒3、数码管显示时间,精确到10毫秒FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com本代码已在青创QC-FPGA开发板验证,青创QC-FPGA开发板如下,其他开发板可以修改管脚适配:1.工程文件2.程序文件3.程序编译4.管脚分配5.RTL图6.仿真图顶层整体仿真图分频模块控制模块显示模块部分代码展示:LIBRARY ieee;USE ieee
顶层文件:moduleadd_bcd(input[9:0]I_1,input[9:0]I_0,inputclk,inputrst_n,output[7:0]seg,output[7:0]value,outputselect,output [3:0]encode_1,output [3:0]encode_0,output [3:0]high_bit,output [3:0]low_bit);assignvalue={high_bit,low_bit};encoderencoder_inst2(.in(I_1),.out(encode_1));encoderencoder_inst1(.in(I_
前言 最近心血来潮买了一块fpga,来自spieed的TangNano9K,基于高云半导体GW1NR-9FPGA芯片。 其实之前买过一块紫光的fpga,但是嫌环境配置太麻烦就搁置了,这次换了一家的fpga,环境配置很快,直接用高云的gowin编译器就能很快实现程序编写与下载。但是这两天研究了很久,还是没搞太懂波形时序文件怎么生成和观看... 先不说这个了,其实fpga我之前已经接触过一个学期了,之前学习数电的时候,有相关实验已经接触过fpga了,而且已经能实现数码管的操控之类的功能了。但是,我们的fpga程序编写其实就是“画图”,在quartus将数电各个模块,计数器
名称:Quartus智能抢答器Verilog代码远程云端平台软件:Quartus语言:Verilog代码功能:设计要求 (1)设计语言为Veri1og,硬件开发平台为Spartan-3E开发板。数码管显示倒计时5秒;每名选手抢到后由数码管显示其得分增加1,一共进行 (2)设计基于FPGA的智能抢答器的设计,要求有四名参赛选手,每次抢答由5轮 (3)采用层次化的设计。本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:1.工程文件2.程序文件3.程序编译4.RTL图5.管脚分配6.仿真文件7.仿真图部分代码展示:module qiangdaqi(input cl
1. 前言在工程师实际开发过程中,可能会经常遇到这样的需求:数据从数据源端不断地持续输入FPGA,FPGA需要对数据进行处理,最后将处理好的数据输出至客户端。在数据处理过程中,可能需要一系列的处理步骤。比如常规的信号进行处理步骤有(这里的处理步骤只是举个例子):信号解调、滤波、傅里叶变换。假如数据源每10ns输入一个数据,一个采用数据经过信号解调需要10ns,完成滤波需20ns,傅里叶变换需要30ns。我们该如何用verilog语言设计硬件电路使得数据处理效率高效?2. 面临问题FPGA一个较大的优势是其并行处理机制,即利用并行架构实现信号/数据处理的功能。大家首先想到的方法就是复制多份数据处
通过一些HDLBits上面的题目来练习一些例化。1.ModuleBynow,you’refamiliarwithamodule,whichisacircuitthatinteractswithitsoutsidethroughinputandoutputports.Larger,morecomplexcircuitsarebuiltbycomposingbiggermodulesoutofsmallermodulesandotherpieces(suchasassignstatementsandalwaysblocks)connectedtogether.Thisformsahierarchy