自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 SDRAM总结

1.Precharge与Refresh的区别?plj:两者都是对存储单元的电容进行充电、回写。但差异在于: Precharge是对(一个或所有Bank)的所有工作行(active row)操作,并且是随机的,被操作工作行的地址在各Bank中不一相同。Refresh是对所有行依次操作,且是有固定周期的,被操作行在各Bank中均相同。2.AutoRefresh与SelfRefresh的区别?...

2019-03-05 21:38:21 872

转载 fifo结构及其代码

本文引用自Suinchang《关于ALTERA提供的FIFO核使用原理》ALTERA提供了LPM_FIFO参数宏模块,可以在代码中例化使用。FIFO有两种工作模式:(1)SCFIFO,(2)DCFIFO其中SCFIFO指读写用一个时钟进行同步,可以支持同时读写的功能。其中DCFIFO指读写使用不同的时钟进行同步,这在设计多时钟系统中相当有用,可用于不同时钟同步信号之间的同步调整。...

2018-11-04 21:31:55 2323

原创 级联BCD计数器设计与仿真(模10)

//级联BCD计数器设计与仿真module cy4(Cin,CLK,Rst_n,Cout,q);input Cin;//计数基准时钟input CLK;//计数器进位输入input Rst_n;//系统复位output q;//技术值输出output Cout;//计数器进位输出wire Cout0,Cout1;wire[3:0]q0,q1,q2;wire[11:0] q;as...

2018-10-11 14:55:33 891

原创 模10的BCD码计数器

module cy4(CLK,Rst_n,Cin,Cout,q);input CLK;input Rst_n;input Cin;output reg Cout;output q;wire [3:0]q;reg[3:0] cnt;always @(posedge CLK or negedge Rst_n)if(!Rst_n)cnt <= 4'd0;else if(C...

2018-10-10 21:22:49 3283 1

原创 I^2C总线简介

总共有五种工作状态:A:总线非忙状态该状态时数据线(SDA)和时钟线(SCL)都保持高电平。B:启动状态当时钟线(SCL)为高电平状态时,数据线(SDA)由高电平变为低电平的下降沿被认为是"启动"信号。C:停止状态当时钟线(SCL)为高电平状态时,数据线(SDA)由低电平变为高电平的下降沿被认为是"停止"信号。D:数据有效状态在出现"启动"信号后,在时钟线(SCL)为高电平状态时,...

2018-10-07 20:44:30 4437

原创 序列检测器(检测"10010序列")

IDLE为初始状态,A代表第一个状态"1",B代表第二个状态"10",C代表第三个状态"100",D代表第四个状态"1001",E代表要输出的状态"10010",G和F代表多余的状态分别为"1000"和"10001"。module cy4( clk,rst_b,In,Y);input clk,rst_b,In;output Y;reg[2:0]current_

2018-10-06 09:25:30 30050 7

原创 LFSR(线性反馈移位寄存器)

线性反馈移位寄存器是指给定前一状态的输出,将该输出的线性函数再用作输入的移位寄存器。异或运算是最常见的但比特线性函数,对寄存器的某些位进行异或操作后作为输入,再对寄存器中各比特位进行整体移位。module cy4(q3,clk,pre_n);input clk,pre_n;output reg q3;reg q2,q1;always @(posedge clk or negedge p...

2018-10-05 19:58:21 26775

转载 Verilog模块编程要点

(1)时序电路建模时,用非阻塞赋值。(2)锁存器电路建模时,用非阻塞赋值。(3)用always块建立组合逻辑模型时,用阻塞赋值。(4)在同一个always块中建立时序和组合逻辑电路时,用阻塞赋值。(5)在同一个always块中不要既用非阻塞赋值又用阻塞赋值(6)不要在一个以上的always中为同一个变量赋值(7)用$strobe系统任务来显示用非阻塞赋值的变量值(8)在赋值时不要使用...

2018-10-04 19:52:54 346

原创 浅谈阻塞与非阻塞

阻塞赋值符号" = ",非阻塞赋值符号List item" = ".阻塞赋值时先计算等号右手方向(RHS)的值,这时候赋值语句不允许任何别的Verilog语句干扰,直到现行的赋值完成时刻,RHS赋给LHS(等号左手方向),它才允许别的赋值语句执行。List item" <= ".在赋值时刻开始时计算非阻塞赋值的RHS表达式,赋值操作结束时刻才更新LHS。而在计算RHS和更...

2018-10-04 15:51:26 224

原创 流水线之1个乘法器实现S=a*b*c*d(指两个寄存器之间只有一个乘法器)

module cy4(input[3:0] a,b,c,d, input vld_in,//输入有效指示信号 input clk,rst_n, output reg[15:0] dout, output reg[7:0] s1, output reg[7:0] s2, output reg vld_out//输出有效指示信号...

2018-10-01 17:10:21 594

原创 流水线之3个乘法器实现S=a*b*c*d

//流水线之3个乘法器实现S=abc*dmodule cy4(input[3:0] a,b,c,d, input vld_in,//输入有效指示信号 input clk,rst_n, output reg[15:0] dout, output reg vld_out//输出有效指示信号 );reg vld_in_ff0;//中间缓...

2018-09-29 22:07:44 1003

翻译 四位流水线乘法器(用加法器替代乘法器)

module cy4( clk , rst_n , vld_in ,//输入有效指示信号 x , y , p ,//乘积结果 vld_out //输出有效指示信号 );...

2018-09-29 20:41:33 4507

原创 检测连续输入序列110的状态图

//检测连续输入序列110的状态图module cy4(input A,CP,CR,//输入端口声明 output reg Y//输出端口及变量的数据类型声明 );reg[1:0] current_state,next_state;//中间变量声明parameter S0 = 2'b00,S1 = 2'b01,S2 = 2'b10,S3 = 2'b11;//定...

2018-09-27 16:10:57 4719

原创 带使能端和同步指数的端的通用可逆计数器

//可逆计数器module cy4(input PE,Up_down,En,CP, input[3:0] D, output reg[3:0] Q );integer direction;//设置计数方向always @(posedge CP)begin if(Up_down) direction <= 1;//实现递增计数 else...

2018-09-26 09:41:59 1310 2

原创 具有清零和并行置数功能的4位同步二进制递增计数器(行为描述)

//具有清零和并行置数功能的4位同步二进制递增计数器module cy4(input CR,PE,CP, input CEP,CET, input [3:0] D, output reg[3:0] Q, output TC );wire CE;assign CE = CEP & CET;//CE=1时产生进数assign...

2018-09-26 09:10:30 9348

原创 4位双向移位寄存器(行为描述)

module cy4(input S1,S0,//选择输入端口声明 input DSR,DSL,//串行数据输入 input CP,CR,//时钟和清零输入 input[3:0] D,//并行数据输入 output reg[3:0]Q//输出端口及变量的数据类型声明 );always @(posedge CP or neg...

2018-09-19 19:42:19 9523 1

原创 五个连续二进制编码状态的异步计数器(结构描述法)

module toggle(input T, input clk, output reg Q );always @(posedge clk ) if(T == 1) Q <= ~Q; else Q <= Q;endmodulemodule cy4(input CLK, ...

2018-09-18 21:16:47 677

原创 异步二进制递减计数器(结构描述方法)

//D触发器的声明module D_FF(input CLK,D,CR, output reg Q );always @(negedge CLK or negedge CR)if(!CR) Q <= 1'b0;else Q <= D;endmodule//调用D触发器的模块module cy4(input CP,RST, ...

2018-09-18 15:41:54 2719

原创 8421BCD计数器

module cy4(input D3,D2,D1,D0, input clk,reset, output reg Q3,Q2,Q1,Q0 );always @(posedge clk or negedge reset)if(!reset) {Q3,Q2,Q1,Q0} <= 4'b0000;else if({D3,D...

2018-09-17 11:51:39 4522

原创 用结构描述方法描述D型主从触发器的电路结构图

//门级电路描述方法//描述D型主从触发器的电路结构图module flop(data, clock, clear, q, qb);input data, clock, clear;output q, qb;nand #10 nd1(a,data,clock,clear), nd2(b,ndata,clock), nd4(d,c,b,clear),...

2018-09-16 08:18:27 4781 1

原创 产生宽度随机脉冲序列的测试信号源

`timescale 1 ns/ 1 psmodule cy4_vlg_tst(dout);output[9:0] dout;reg [9:0] dout;integer delay1,delay2,k; initial begin #10 dout = 0; for(k=0;k<100;k=k+1) begin ...

2018-09-13 09:55:45 423

原创 4位全加器结构化描述

//一位半加器的描述module halfadder(input A,B, output S,C );xor(S,A,B);and(C,A,B);endmodule//一位全加器的描述module fulladder(input A,B,Ci, output Sum,Co ...

2018-09-12 20:17:59 2555

原创 全加器(结构化描述)

//一位半加器的描述module halfadder(input A,B, output S,C );xor(S,A,B);and(C,A,B);endmodule//一位全加器结构化的描述module cy4(input A,B,Ci, output Sum,Co ...

2018-09-12 19:03:10 1951

原创 半加器(结构化描述)

//一位半加器的结构化描述module halfadder(input A,B, output S,C );xor(S,A,B);and(C,A,B);endmodule

2018-09-12 19:01:14 1555

原创 四位串行进位加法器(for循环对n为多位数加法器的行为进行描述)

//4位串行进位加法器module cy4( input[n-1:0]A,B,//输入端口声明 input Cin,//输入端口声明 output reg[n-1:0]SUM,//输出端口及变量的数据类型声明 output reg Cout//输出端口及变量的数据类型声明);parameter n = 4;reg[n:0] C;integer k;//声明一个整型变量alwa...

2018-09-12 15:09:04 7025

原创 全加器(行为描述)

//半加器module cy4(input A,B,Ci, output reg Co,S); always @(*)begincase({A,B,Ci})3'b000: begin S = 0;Co = 0;end3'b001: begin S = 1;Co = 0;end3'b010: begin S = 1;Co = 0;end3'b011: begin...

2018-09-11 17:38:31 2489

原创 半加器(行为描述)

//半加器module cy4(input A,B, output reg C,S); always @(*)begin case({A,B})2'b00: begin C = 0;S = 0;end2'b01: begin C = 0;S = 1;end2'b10: begin C = 0;S = 1;end2'b11: begin C = 1;S = 0;...

2018-09-11 17:03:24 2165

原创 两位数值比较器

//两位数值比较器,F1,F2,F3分别代表F(A>B),F(A<B),F(A=B)module cy4(input A1,B1,A0,B0, output reg F1,F2,F3 );always @(*)if(A1>B1)begin F1 = 1; F2 = 0; F3 = 0;endelse if(A1==...

2018-09-11 12:06:10 5008

原创 两位数值比较器

module cy4(input A1,B1,A0,B0, output reg F1,F2,F3 ); always @(*) if(A1>B1) begin F1 = 1; F2 = 0; F3 = 0; end else if(A1==B1) begin if(A0>B0) begin F...

2018-09-11 10:30:13 4607

原创 一位数值比较器

//数值比较器 module cy4(input A,B, output reg F1,F2,F3 //F1代表F(A=B),F2代表F(A

2018-09-11 08:54:08 7779

原创 描述一个具有使能输入端的3-8线译码器的行为(利用for循环)

module cy4(input[2:0] A,//输入端口声明 input En,//输入端口声明 output reg[7:0]Y//输出端口及变量的数据类型声明 ); integer k;//声明一个整型变量k always @(A, En) begin Y = 8’b1111_1111;//设置译码器输出的默...

2018-09-11 08:13:58 3381 1

原创 1-4线数据分配器

module cy4(input E,In, input S0,S1, output reg Y3,Y2,Y1,Y0 ); always @(*) if(E == 0) {Y3,Y2,Y1,Y0} = 4’bzzzz; else begin case({S1, S0}) 2’b00: begin ...

2018-09-10 20:14:34 11621

原创 共阴极的七段显示译码器的代码

module cy4(input LE,BL,LT,//输入端口声明 input D3,D2,D1,D0,//输入端口声明 output reg a,b,c,d,e,f,g//输出端口及变量的数据类型声明 ); always @(*) begin if(LT == 1) {a,b,c,d,e,f,g} = 7’b11...

2018-09-10 19:42:38 9529

原创 用3-8译码器实现L=~(A+C)+AB

第一步:化成最小项形式 L=(~A)(~B)(~C)+(~A)(B)(~C)+(A)(B)(~C)+(A)(B)(C)=M0+M2+M6+M7 第二步:代码 module cy4(input[2:0] E,//输入端口声明 input[2:0] A,//输入端口声明 output reg[7:0] Y,//输出端口声明 output L ); parameter ...

2018-09-09 21:57:02 1969

原创 3-8线译码器

//3-8线译码器 module cy4(input[2:0] E,//输入端口声明 input[2:0] A,//输入端口声明 output reg[7:0]Y//输出端口声明 ); always @(A,E) if(E == 3’b111) begin case(A) 3’b000: ...

2018-09-07 16:57:28 9946 3

原创 2-4线译码器

//2-4线译码器 module cy4(input[1:0] A,//输入端口声明 input E,//输入端口声明 output reg[3:0]Y//输出端口声明 ); always @(A,E) if(E == 1) Y <= 4’b1111; else begin case(A) ...

2018-09-07 16:06:58 18910 1

翻译 8-3线优先编码器

//8-3线优先编码器 module cy4(input[7:0] I, input EI,//输入端口声明 output reg[2:0] Y,//输入端口声明 output reg GS,//输出端口及变量的数据类型声明 output reg EO//输出端口及变量的数据类型声明 ...

2018-09-07 15:22:21 21777 1

原创 casez与casex语句

casez与casex语句可用来处理比较过程中不必考虑的情况。其中casez语句用来处理不必考虑高阻值z的比较过程,casex语句则将高阻值z和不定值都视为不必关心的情况,即在表达式进行比较时,不将该位的状态考虑在内。这样,在case语句表达式进行比较时,就可以灵活的设置对信号的某些位进行比较。...

2018-09-07 15:01:10 1005

原创 8421BCD码编码器代码

module cy4(input[9:0] S, output reg Q ); always @(1) begin case(S) 10’b1111_1111_11: Q <= 4’b0000; 10’b1111_1111_10: Q <= 4’b0000; 10’b1111_1111_01: Q <= ...

2018-09-07 09:32:31 6584

原创 4线-2线优先编码器

module cy4(I, Y); input [3:0] I; output reg[2:0]Y; wire [3:0] I; always @(I) begin case(I) 4’b0001: Y <= 2’b00; 4’b0010: Y <= 2’b01; 4’b0100: Y <= 2’b10; 4’b1000...

2018-09-06 22:12:18 13186 1

空空如也

空空如也

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

TA关注的人

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