![](https://img-blog.csdnimg.cn/20190918135101160.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
FPGA 芯片开发
文章平均质量分 58
总结
MR_Promethus
XDU PBR信号处理 研二在读。
展开
-
【Verilog HDL】频率计数器
文章目录频率计数器设计要求【 1. 源代码 】顶层文件1. 控制器模块2. 计数器模块3. 锁存器模块4. 数码管模块【 2. 仿真图 】频率计数器设计要求 设计一个4位频率计,主要设计模块为测频控制器、计数器、锁存器、译码器,使计数结果稳定地显示在4个7段LED数码管上。【 1. 源代码 】顶层文件CLKK作为控制模块的参考信号,控制模块根据CLKK决定计数器使能信号EN,计数器复位信号rst,锁存允许信号laod,被测信号signal作为计数器原创 2021-04-23 22:55:36 · 3593 阅读 · 1 评论 -
【Verilog HDL】24进制计数器
文章目录24进制计数器设计要求【 1. 源代码 】顶层文件1. 分频器模块2. 控制模块3. 个位计数器模块4. 十位计数器模块5. 数码管模块【 2. 仿真图 】24进制计数器设计要求将4HZ信号分频得到的1HZ时钟信号作为计数脉冲。具有加/减计数、开始/暂停计数、清零功能。【 1. 源代码 】顶层文件1. 分频器模块//N=4fen pinmodule FDiv(clk,clkout,en);input wire clk,en;output reg clkout;reg [3原创 2020-12-20 18:58:28 · 16791 阅读 · 1 评论 -
【Verilog HDL】9. 乘法器
文章目录【 1. 源代码 】【 2. 仿真图 】【 1. 源代码 】module mult4b(r,a,b);parameter s=4;input [s:1] a,b;output [2*s:1] r;reg [2*s:1] r;integer i;always @ (a,b)beginr=0;for(i=1;i<=s;i=i+1)if(b[i]) r=r+(a<<(i-1));endendmodule【 2. 仿真图 】...原创 2020-11-24 23:08:49 · 374 阅读 · 0 评论 -
【Verilog HDL】8. 状态机
【 1. 三段式状态机 】状态的更新:把下一个状态赋值给当前状态,是时序逻辑电路。状态的转移:通过当前状态和输入确定下一个状态,是组合逻辑电路。状态的输出:根据当前状态确定输出状态,可以是时序电路也可以是组合逻辑电路。// 检测序列:1801816module Seq_scan(in,out,clk,rst);input wire [3:0] in;input wire clk,rst;output reg out;reg [3:0] n_std,c_std;parameter st原创 2020-11-22 15:12:45 · 476 阅读 · 0 评论 -
【Verilog HDL】7. 奇数分频
文章目录原创 2020-10-25 23:24:28 · 698 阅读 · 0 评论 -
【Verilog HDL】6.偶数分频器
[@TOC]【 1. 源代码 】module Div10(clk,clkout);input wire clk;output reg clkout;reg [3:0] q1;always @ (posedge clk)begin q1=q1+1; if(q1>=5) begin q1=0; clkout=~clkout; endendendmodule【 2. 仿真图 】原创 2020-10-25 23:33:50 · 881 阅读 · 0 评论 -
【Verilog HDL】5.计数器
【 1. 第一个时序电路设计 】//RST为 1 时,Q 从 0 同步计数到 16//RST为 0 时,Q 异步清零module Count_16(CLK,RST,Q);input wire CLK,RST;output reg [15:0] Q;reg [15:0] temp;always @(negedge RST,posedge CLK) begin if(RST==0) Q<=16'h0; else if(Q<=16'hE) //Verilog HDL中的小于原创 2020-10-21 23:17:42 · 1500 阅读 · 0 评论 -
【Verilog HDL】4.全减器
【 1. 顶层设计实现 】 //半减器module Half_sub(x,y,diff,s_out);input x,y;output diff,s_out;assign s_out=x^y;assign diff=~(x)&y;endmodule//全减器,顶层文件module Total_sub(x,y,sub_in,diffr,sub_out);input x,y,sub_in;output sub_out,diffr;wire diff_temp1,s_out原创 2020-10-15 22:04:52 · 9724 阅读 · 1 评论 -
【Verilog HDL】3. 双2选1数据选择器
【 1. 三目运算符语句实现 】module Double_Mux2_1(a1,a2,a3,s0,s1,temp,outy);input wire a1,a2,a3,s0, s1;output reg temp,outy;always@(*) temp=s0?a3:a2;always@(*) outy=s1?temp:a1;endmodule【 2. 功能仿真图 】原创 2020-10-15 21:27:35 · 4297 阅读 · 0 评论 -
【Verilog HDL】2. 4选1数据选择器
【 1. case语句实现 】module mux4_1(a,b,c,d,s0,s1,s2,s3,y);input wire a,b,c,d,s0,s1,s2,s3;output reg y;always @(s0,s1,s2,s3)begin case({s0,s1,s2,s3}) 4'b0111: y<=a; 4'b1011: y<=b; 4'b1101: y<=c; 4'b1110: y<=d; default: y<=0; endca原创 2020-10-15 20:30:39 · 5413 阅读 · 0 评论 -
【Verilog HDL】1. 3-8译码器 (if、case语句实现)
.原创 2020-10-15 19:59:51 · 14016 阅读 · 2 评论 -
【Verilog HDL】学习总结
文章目录【 1. 端口类型的定义 】一个案例小结【 2. 】【 1. 端口类型的定义 】首先记住:Verilog HDL 默认的类型是 wire 型。输入A、B,只能是线网型,电路模块中输入的驱动端口可以是线网型、寄存器型。输出Y可以是线网型、寄存器型,电路模块中输出的驱动端口只能是线网型。一个案例我们通过一个【优秀】的案例来看看【错误】代码的编译//2输入与门电路module TEST(a,b,c,d,o1,o2);input a,b,c,d;output o1,o2;reg原创 2020-10-21 21:46:40 · 1434 阅读 · 1 评论 -
FPGA学习笔记-FLASH固化
FLASH固化在我们刚开始学习FPGA的时候,我们一般都是将编译后生成的.sof文件(针对于Altera器件)通过JTAG方式下载到FPGA内部,但是我们会发现,给FPGA重新上电之后,我们之前给它下载的程序已经丢失了,如果我们还想让FPGA跑上次的功能就必须再下载一次程序。出现这个问题,是因为我们的程序并没有存到FPGA外接的配置芯片中,只是存在FPGA内部的SRAM(静态随机存储器,掉电丢失)。为了解决这个问题,使我们的FPGA重新上电后不丢失之前下载的程序,我们可以把.sof文件转成.jic文件,.原创 2020-10-20 16:42:57 · 1289 阅读 · 0 评论