- 博客(26)
- 收藏
- 关注
原创 基于FPGA的4位二进制数乘法器设计
设计要求:设计一个4位二进制数乘法器,如下图所示。其中,a[3:0]为被乘数,b[3:0]为乘数,m[7:0]为积,即乘法结果。
2021-07-18 18:01:26
5593
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
4688
原创 Quartus软件编译报错:Top-level design entity “*****“ is undefined
1 现象:工程中不存在一个名为“*****”的模块,即找不到顶层设计模块;2 原因:一般情况下,系统会默认工程中应该存在一个相同名称的模块作为顶层模块,如果没有顶层模块就不能编译。3 解决:(1)重修编写顶层模块,将子模块例化到顶层模块中,再对顶层模块进行编译;进而对自动能模块进行编译;(2)将子功能模块强制设置位顶层。...
2020-10-30 07:43:16
16517
1
原创 四位数码管分时点亮控制——选自特权同学
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
915
1
转载 FPGA的优势、局限以及应用场合——《摘自特权同学2020版《深入浅出玩转FPGA视频教程》 Xilinx Artix-7 FPGA快速入门、技巧与实例》
一、FPGA技术实现所能够带来的潜在优势(1)灵活性可重编程,可定制;易于维护,方便移植、升级或扩展;降低NRE(即一次性工程费用)成本,加速产品上市时间;支持丰富的外设接口,可根据需要配置;(2)并行性更快的速度、更高的带宽,满足实时处理的要求;(3)集成性更多的接口和协议支持;可将各种端接匹配元件整合到器件内部,有效降低BOM成本;单片解决方案,可以替代很多数字芯片减少板级走线,有效降低布局布线难度。二、FPGA技术的局限性(1)绝对性能受限:在某些性能上,FP.
2020-06-10 17:10:52
2266
转载 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
8574
1
原创 中文冒号在Quartus文本输入中惹得祸
如下图所示,20,21,22后面使用的是英文的冒号,但23后面使用的是中文的冒号。不仔细观察,很难找出来。
2020-05-02 21:36:59
256
原创 用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
1150
原创 基于过程块的组合逻辑建模的基本规则
定义输出为寄存器类型的变量; 对一个输出尽量使用一个always模块完成对其的建模; 把所有与输出有关的输入写在always的敏感列表中; 用且仅用一组完整条件分支对输出赋值; 所有的赋值必须使用一种赋值。...
2020-04-25 07:15:34
355
原创 Verilog为什么需要顺序语句?
第一个是很多时序器件本身就是和时间有关的,如D触发器,其原理就是每当时钟上升沿来临之后就把输入端的数据存入,并且放在输出端口上,直到下一个时钟来临为止。 如果使用语言来描述一个器件符合上述原理,很明显需要用到时间先后的语法,而且在很多场合,使用顺序执行的语句可以有效的简化描述语言的数量,基于这个原因,描述有些电路结构需要使用顺序执行的语句。 但是即使使用顺序执行的语句描述出来的这种器件,也是在...
2020-04-25 06:48:25
390
原创 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
9772
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
11502
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
7601
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
3481
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
2034
2
转载 为什么Verilog中wire型变量不能在定义时给初始值?
在initial过程语句中赋初值时,不能对wire类型变量赋初值,能对reg,integer, real等类型变量赋初值。因为wire就是一根导线,没有存储功能。导线本身没有驱动能力,得由别的信号来驱动,它随时随着输入信号而改变。若想给某个wire信号赋初值,在仿真初始化文件中将其连接到一个reg信号后就行了,然后对这个reg信号赋初值即可。...
2020-03-28 10:23:35
9509
原创 过程赋值语句的两种延时模式
过程赋值语句的基本形式:寄存器变量 = 表达式考虑赋值过程的定时控制时,根据定时控制在过程赋值语句中的不同位置,存在两类
2020-03-27 20:48:31
1354
原创 Quartus13.1 生成原理图的时候,端口名称、模块名称都显示不全,有什么方法解决吗?
具体情况如下图所示:解决方案:右键桌面Quartus图标——>属性——兼容性——高级DPI设置——高级DPI缩放勾选(win10),如下图所示
2020-02-26 18:17:33
9192
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
1337
转载 按键消抖
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
151
原创 呼吸灯设计与实现
(一)需求分析: 设计一个周期为4s的呼吸灯,实现LED灯慢慢变亮,然后变亮以后又慢慢变灭,从全暗到全亮需要2s,从全亮到全暗需要2s。(二)源码展示module led_breath( clk, rst_n, led); input clk; //系统输入时钟,50MHz input rst_n; ...
2020-01-22 21:28:35
2687
原创 流水灯设计与实现
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
1174
转载 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
3630
3
转载 串行同步通信“时钟同步”怎么理解?
问题:在串行同步通信中,发送端需要和接受端进行同步,时钟同步。这个时钟同步是什么概念?书上说是用同步码从发送端发出去,接受端接收同步码就可以同步了。这个同步怎么可能是时钟上的同步呢?比如发送端是0时刻发出去的,假设发送数据需要1ms,那接收到数据也应该是1ms的时刻了,发送端的时钟和接受端的时钟相差一个发送过程时间,怎么会是时钟同步呢?回答:接收端的时钟同步不是为了获得和发端完全相同的绝对...
2019-12-15 08:48:55
6874
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人