FPGA系统—Verilog设计实验
文章平均质量分 64
10个经典数字系统电路的Verilog设计,数字系统验证testbench仿真教程(全网最新)、数字系统实践的顶层+模块化设计以及数字传输系统的ASK调制与FSK调制。费了很多精力整理,答案排版整洁,希望能对大家的课程学习有用。
夜半少年
业精于勤,荒于嬉;行成于思,毁于随!
简书:jianshu.com/u/9bc2c4b91966
QQ:2974278195
展开
-
【Verilog设计—仿真实验】设计出你想要的分频器
设计之前,我们首先要明白“分频器是什么?为什么要设计分频器?”在硬件电路设计中时钟信号是最重要的信号之一,而在数字电路中,常需要对较高频率的时钟进行分频操作,得到较低频率的时钟信号,分频器就扮演着这个角色,从而才有了分频器的设计。那好,理解了分频器的大致原理,我们就从最简单的分频器设计开始,逐步深入、触类旁通,带领你设计出实战项目中所需的每一种分频器,得到你想要的分频器(毕竟需要,才想...原创 2020-03-30 12:54:52 · 7107 阅读 · 3 评论 -
【Verilog设计—Verilog基础语法】学好就看它了
导引一个简单的.v程序(与非门的实现): module nand2_ex1(A,B,F); //定义2输入与非门电路模块nand2_ex1 input A,b; //A、B为输入端口 output F; //F为输出端口 nand inst1(F, A, B);//调用Verilog内部预定义的门级源语 nand endmodule...原创 2020-03-09 00:59:28 · 1299 阅读 · 0 评论 -
Verilog设计—简易LED数字时钟
系统设计结构框图1、计数器模块设计count.vmodule cout(clk_1, sec, min, hor); input clk_1; reg scarry, mcarry, hcarry; output reg [4:0] hor=23; output reg [5:0] min=51; output reg [5:0] sec=49; always@(posedge clk_1) begin if (sec==6'b111011) ..原创 2020-06-04 21:20:17 · 7984 阅读 · 6 评论 -
【FPGA课程—Verilog设计】实验汇总,10个经典数字系统电路
文章目录一、4位半加法器的Verilog实现半加器:加数和被加数为输入,sum与进位为输出。 全加器:加数、被加数与低位的进位数为输入,sum与进位为输出四位半加器:输入为四位加数、四位被加数,输出为四位和数、1位进位。比如:1000+0000=01000,输出“和数为1000、进位为0” 1000+1000=10000,输出“和数为0000、进位...原创 2020-06-18 16:27:18 · 8428 阅读 · 4 评论 -
【Verilog设计—数字系统验证】最新Testbench仿真教程
自动生成testbench模板到项目文件夹simulation里面,后缀为.vt,如下图。在quatusii界面打开.vt文件,进行修改编辑。打开.vht文件一、Testbench基本结构 通常,Testbench没有输入与输出端口,应包括信号或变量定义、产生激励波形语句、例化设计模块以及监控和比较响应输出语句。 module test_benc...原创 2020-04-02 16:21:43 · 2860 阅读 · 6 评论 -
Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device
Quartus II编译时出现Error (119013): Current license file does not support the EP4CE6E22C6 device, Quartus的安装过程不同于ISE/vivado的安装。“Current license file does not support”这种情况多出现在高版本的quartus中综合很久以前的代码,使用很早型号的FPGA或是CPLD。对于这种情况,就得在官网或是其他网站上下载包含所需Device的库文件。原创 2021-06-04 11:57:13 · 10723 阅读 · 1 评论 -
【FPGA-ASK调制解调】2-ASK调制和解调的Verilog代码实现
【一】2-ASK调制和解调·概述ASK-Amplitude Shift Keying,即振幅键控调制。2-ASK:二进制启闭键控,它是以单极性不归零来控制载波的开启和关闭。2-ASK抗干扰性能不如其他调制手段,在无线通信中未得到应用,但在光纤通信中得到广泛应用。同时,2-ASK的分析方法是最基本的,是研究数字调制的理论基础。【二】2-ASK调制module two_ASK(clk,reset,x,y);input clk; //模块工作时钟input reset; .原创 2021-04-25 14:40:16 · 5531 阅读 · 4 评论 -
【Verilog设计—数字系统实践】自顶向下 + 模块化设计
顶层主模块:Top layer module,将各个子模块的接口例化并联系起来从属子模块:分频器、计数器、移位序列等等子模块(仅实现子功能)原创 2020-04-16 18:03:16 · 1769 阅读 · 0 评论 -
【Verilog设计—Testbench仿真】基础知识,应知应会
一、Testbench基本结构通常,Testbench没有输入与输出端口,应包括信号或变量定义、产生激励波形语句、例化设计模块以及监控和比较响应输出语句。module test_bench; //信号或变量定义声明 //使用initial或always语句来产生激励波形 //例化设计模块 //监控和比较输出响应endmodule二、常用产生激...原创 2020-04-16 01:40:12 · 5795 阅读 · 0 评论 -
【Modelsim仿真】怎么显示模拟信号格式的波形(比如正弦波波形图等等)
右键需要观察的变量后,进行如下两个步骤即可:①【Radix】——>【Decimal】; ②【format】——>【Analog (automatic)】;如下图:原创 2020-04-16 01:16:41 · 5236 阅读 · 0 评论 -
【Modelsim仿真】波形显示的尺度太大看不到,如何快速调整波形尺度至正常?
一般,刚出来的仿真结果,波形的尺度太大,导致我们看起来不对劲,如下图。刚出来的仿真结果PS:注意这并不代表仿真运行失败其实,尺度太大,我们调小就行了,那怎么快速调小呢?很简单,如下图。放大镜工具条缩小波形尺度后,仿真显示的波形正常显示在我们眼前了...原创 2020-04-16 00:40:50 · 5766 阅读 · 0 评论 -
【Modelsim仿真】怎么将打乱的窗口布局变回原样?
怎么将打乱的窗口布局变回原样?Layout--->Reset就可以恢复原来的窗口布局了原创 2020-04-16 00:32:43 · 3732 阅读 · 0 评论 -
【Modelsim仿真】怎么打开(导入)已有的工程?
File--->Open--->打开工程目录(默认在./simulation/modelsim).mpf文件,如下图。原创 2020-04-16 00:27:13 · 11466 阅读 · 2 评论 -
【Modelsim仿真】弹出错误“Cannot create a project while a simulation is ···”
“Cannot create a project while a simulation is in progress. Use the "quit-sim" command to unload the design first”意思是:无法在进行模拟时创建项目。使用“quit-sim”命令首先退出仿真设计。说明我们的仿真进程还在进行着,我们要先退出仿真才能进行其他操作。步骤如下:...原创 2020-04-15 18:01:37 · 2134 阅读 · 0 评论 -
【Modelsim仿真】testbench编程出现Error: "D:/···" near "timescal":
问题分析:Error: "D:/···" near "timescal",原因在于你新建的.v文件的类型默认地选择了的文件类型【VHDL】,如下图。解决办法:把文件删除重新创建一个【Verilog 】类型的.v文件,再将之前写好的代码粘贴过去,问题就解决了,亲测有效。...原创 2020-04-15 13:07:55 · 1788 阅读 · 0 评论 -
【Modelsim仿真】如何让波形文件显示的数值以十进制显示
开发环境:Quartus II 64bit仿真环境:ModelSim ALTERA STARTER FDITION 10.1e我们看上面这张截图,可以看出波形文件显示的数值结果都是以二进制显示的,我想大多数的我们都会觉得二进制显示结果查看可能会更方便,特别是在一些场合我们就想要让结果以十进制、十六进制等显示出来,毕竟我们对十进制有着很强的“条件反射”嘛,而且在某些场合下让结果十六进制显...原创 2020-03-25 22:56:58 · 13058 阅读 · 1 评论 -
Verilog程序编译出错——Error (10161): object "xxx" is no
我突然间发现在程序编程里,有一对字符是难区分出来的,1和l。有时难免会因此出现编译错误,比如Verilog程序编译出错:Error(10161):VerilogHDLerroratqueue_counter.v(16):object"ledl"isno。有些没看清楚问题的小伙伴估计一见error就慌了。其实呀这条Error里面就间接的说清楚原因了,数据对象"ledl...原创 2020-03-25 17:11:36 · 8648 阅读 · 0 评论 -
【Verilog设计—仿真实验】四位加法器的实现
4位半加器的实现:module add4(a,b,sum,cout); input [3:0] a,b; //a、b<--输入 output [3:0] sum; //sum-->输出变量 output cout; //cout-->输出变量 assign {cout,sum}=a+b; //a+b,进位保存至cout,和数...原创 2020-03-16 14:07:51 · 22636 阅读 · 0 评论 -
【Verilog设计—计数器应用】停车场车位监控系统
1.1 一个简单的.v程序:module nand2_ex16(a,b,f);//定义2输入与非门电路模块nand2_ex1//模块的外部输入输出端口列表input a,b; //a,b为输入端口output f; //f为输出端口nand inst(f,a,b);/提周门级原语表2.1endmodule1.1.1标识符标识符用于表示电路系统中的模块、寄存器、I/O...原创 2020-03-02 08:59:00 · 2170 阅读 · 7 评论