自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 基于FPGA的4位二进制数乘法器设计

设计要求:设计一个4位二进制数乘法器,如下图所示。其中,a[3:0]为被乘数,b[3:0]为乘数,m[7:0]为积,即乘法结果。

2021-07-18 18:01:26 4572 1

原创 带优先级的三人表决器

module vote3_pri( input wire a, input wire b, input wire c, output reg y); always@(*)begin if((a == 1'b0)&&((b == 1'b0)||(c == 1'b0))) y = 1'b1; else y = 1'b0; endendmodule

2021-07-10 21:23:01 3527

原创 Quartus软件编译报错:Top-level design entity “*****“ is undefined

1 现象:工程中不存在一个名为“*****”的模块,即找不到顶层设计模块;2 原因:一般情况下,系统会默认工程中应该存在一个相同名称的模块作为顶层模块,如果没有顶层模块就不能编译。3 解决:(1)重修编写顶层模块,将子模块例化到顶层模块中,再对顶层模块进行编译;进而对自动能模块进行编译;(2)将子功能模块强制设置位顶层。...

2020-10-30 07:43:16 14433 1

原创 Cyclove V芯片命名规则

2020-07-23 21:47:49 164

原创 四位数码管分时点亮控制——选自特权同学

module dtube_control_4( input clk, //时钟信号,50Mhz input rst_n, //复位信号,低电平有效 input [15:0] display_num, //数码管显示数据,// [15:12]——数码管千位,[11:8]——数码管百位,[7:4]——数码管百位,[...

2020-06-26 06:42:32 840

转载 FPGA的优势、局限以及应用场合——《摘自特权同学2020版《深入浅出玩转FPGA视频教程》 Xilinx Artix-7 FPGA快速入门、技巧与实例》

一、FPGA技术实现所能够带来的潜在优势(1)灵活性可重编程,可定制;易于维护,方便移植、升级或扩展;降低NRE(即一次性工程费用)成本,加速产品上市时间;支持丰富的外设接口,可根据需要配置;(2)并行性更快的速度、更高的带宽,满足实时处理的要求;(3)集成性更多的接口和协议支持;可将各种端接匹配元件整合到器件内部,有效降低BOM成本;单片解决方案,可以替代很多数字芯片减少板级走线,有效降低布局布线难度。二、FPGA技术的局限性(1)绝对性能受限:在某些性能上,FP.

2020-06-10 17:10:52 1970

转载 1101序列检测器设计与实现

module sequencer( input wire i_clk, input wire i_rst_n, input wire i_valid, input wire i_data, output wire o_en, output wire [2:0] o_cnt); reg i_valid_reg; reg ...

2020-05-09 19:17:34 7930 1

转载 I2C协议基本知识

2020-05-04 13:05:12 151

原创 中文冒号在Quartus文本输入中惹得祸

如下图所示,20,21,22后面使用的是英文的冒号,但23后面使用的是中文的冒号。不仔细观察,很难找出来。

2020-05-02 21:36:59 205

原创 用casex描述三人表决器

1 Verilog描述module bjq3_casex( input a, input b, input c, output reg out); always@(a or b or c)begin casex({a,b,c 3'b00x: out = 1'b0; //有2个0,不需要考虑第三个 ...

2020-04-25 07:28:20 965

原创 基于过程块的组合逻辑建模的基本规则

定义输出为寄存器类型的变量; 对一个输出尽量使用一个always模块完成对其的建模; 把所有与输出有关的输入写在always的敏感列表中; 用且仅用一组完整条件分支对输出赋值; 所有的赋值必须使用一种赋值。...

2020-04-25 07:15:34 294

原创 Verilog为什么需要顺序语句?

第一个是很多时序器件本身就是和时间有关的,如D触发器,其原理就是每当时钟上升沿来临之后就把输入端的数据存入,并且放在输出端口上,直到下一个时钟来临为止。 如果使用语言来描述一个器件符合上述原理,很明显需要用到时间先后的语法,而且在很多场合,使用顺序执行的语句可以有效的简化描述语言的数量,基于这个原因,描述有些电路结构需要使用顺序执行的语句。 但是即使使用顺序执行的语句描述出来的这种器件,也是在...

2020-04-25 06:48:25 334

原创 8位并行输入串行输出的移位寄存器的Verilog描述

1 Verilog描述module shift_p2s( input clk, input [7:0] din, input load, output reg q); reg [7:0] tmp; always@(posedge clk)begin if(load == 1...

2020-04-24 21:13:08 9384 2

原创 8位串入并出移位寄存器的Verilog描述

1 Verilog描述module shift_s2p( input din, input clk, input clr, output reg [7:0] q);//串入并出移位寄存器/* 该寄存器由8个同步D触发器组成 */ always@(posedge clk or negedge clr)begin ...

2020-04-24 18:18:00 10576 1

原创 8位串行输入串行输出移位寄存器的Verilog设计

1 Verilog描述module shift_s2s( input din, input clk, output reg dout); reg tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7; //串行输入串行输出移位寄存器/*8位移位寄存器由8个D触发器串联构成,在时钟信号的作用...

2020-04-24 16:51:01 7124 2

原创 74hc595驱动模块的Verilog设计(线性状态机)

module hc595_driver( input clk, //50Mhz input rst_n, //复位信号 input [15:0] data, //数码管待显示数据,8位段选数据,8位位选数据 input en, //使能 o...

2020-04-23 07:39:32 3168 2

原创 采用门级结构描述的JK触发器,输出端q和qn的波形不是反相关系?

module jkff1( output q,qn, input j,k,cp); wire w1,w2; nand G3(w1,j,cp,qn); nand G4(w2,k,cp,q); nand G1(q,w1,qn); nand G2(qn,w2,q);endmodule

2020-03-30 16:07:25 1871 2

转载 为什么Verilog中wire型变量不能在定义时给初始值?

在initial过程语句中赋初值时,不能对wire类型变量赋初值,能对reg,integer, real等类型变量赋初值。因为wire就是一根导线,没有存储功能。导线本身没有驱动能力,得由别的信号来驱动,它随时随着输入信号而改变。若想给某个wire信号赋初值,在仿真初始化文件中将其连接到一个reg信号后就行了,然后对这个reg信号赋初值即可。...

2020-03-28 10:23:35 8372

原创 过程赋值语句的两种延时模式

过程赋值语句的基本形式:寄存器变量 = 表达式考虑赋值过程的定时控制时,根据定时控制在过程赋值语句中的不同位置,存在两类

2020-03-27 20:48:31 1225

原创 Quartus13.1 生成原理图的时候,端口名称、模块名称都显示不全,有什么方法解决吗?

具体情况如下图所示:解决方案:右键桌面Quartus图标——>属性——兼容性——高级DPI设置——高级DPI缩放勾选(win10),如下图所示

2020-02-26 18:17:33 8334 3

原创 PWM灯光调节设计与实现

//PWM灯光调节module pwmpulse_led( clk, rst_n, up, down, led); input clk,rst_n; //系统时钟,复位输入 input up,down; //按键控制PWM波形占空比的增加减少 output [9:0]led; pa...

2020-01-24 22:48:07 1208

转载 按键消抖

module pushbutton_debouncer( clk, rst_n, pb, pb_state, pb_down, pb_up); input clk; input rst_n; input pb; // "pb" is the glitchy, asynchronous to clk, active ...

2020-01-24 22:41:07 131

原创 呼吸灯设计与实现

(一)需求分析: 设计一个周期为4s的呼吸灯,实现LED灯慢慢变亮,然后变亮以后又慢慢变灭,从全暗到全亮需要2s,从全亮到全暗需要2s。(二)源码展示module led_breath( clk, rst_n, led); input clk; //系统输入时钟,50MHz input rst_n; ...

2020-01-22 21:28:35 2557

原创 流水灯设计与实现

module water_led(clk,rst_n,led); input clk; //输入系统时钟 input rst_n; //复位按键 output reg [9:0] led; //10个流水灯 reg [25:0] cnt_1s; //1S的计数器 reg fla...

2020-01-18 13:06:16 1113

转载 Rerun the EDA Netlist Writer

问题:quartus编译后没错 ,运行Tools>Run Simulation Tool>RTL Simulation也没有问题,可是运行Tools>Run Simulation Tool>gate level Simulation 却总提示Rerun the EDA Netlist Writer,到工程文件Simulation>modelsim文件夹里也没有.s...

2020-01-12 20:18:24 3198 2

转载 串行同步通信“时钟同步”怎么理解?

问题:在串行同步通信中,发送端需要和接受端进行同步,时钟同步。这个时钟同步是什么概念?书上说是用同步码从发送端发出去,接受端接收同步码就可以同步了。这个同步怎么可能是时钟上的同步呢?比如发送端是0时刻发出去的,假设发送数据需要1ms,那接收到数据也应该是1ms的时刻了,发送端的时钟和接受端的时钟相差一个发送过程时间,怎么会是时钟同步呢?回答:接收端的时钟同步不是为了获得和发端完全相同的绝对...

2019-12-15 08:48:55 6370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除