自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Virtex6:Aurora协议(传输类型framing帧传输模式)

Aurora协议(传输类型framing帧传输模式)

2022-07-20 17:50:53 3326 1

原创 多bit跨时钟域:双向handshake

2、slave的ack接收回复信号tomaster。1、master的req发送请求信号toslave。

2022-07-17 01:51:08 319

原创 求最小公倍数

求两个数的最大公约数和最小公倍数两个数互相减,知道两者相等即最大公约数,两数相乘/最大公约数即最小公倍数对于状态变换,但是变量的值保持不变,可以不进行赋值但是result状态vld_out为1,idle不能保持为1...

2022-07-10 23:01:30 145

原创 牛客网(移位运算和乘法)

移位运算和乘法已知d为一个8位数,请在每个时钟周期分别输出该数乘1/3/7/8,并输出一个信号通知此时刻输入的d有效(d给出的信号的上升沿表示写入有效)`timescale 1ns/1nsmodule multi_sel(input [7:0]d ,input clk,input rst,output reg input_grant,output reg [10:0]out);//*************code***********// reg [1:0]cnt;

2022-05-16 16:10:05 165

原创 超前进位加法器

1bit全加器module Add1( input a, input b, input C_in, output s, output c, //进位 ); assign s=a^b^C_in; assign c=(a&b) |(a&C_in) |(b&C_in);endmodule为什么使用超前进位加法器,以四位为例子,全加器输出结果至少要等第三个加法器的进位输出,才能得到结果,若级数越高,则组合逻辑的延迟高

2022-05-09 22:35:33 1429

原创 无glitch时钟切换

DFF1和DFF3打一拍降低亚稳态发生的概率DFF2和DFF4下降沿采样是为了避免产生glitch1、select选择信号有DFF延迟2、3、什么在下降沿采样:SELECT与反馈输出相与,下降沿采样反馈可以保证一个时钟被完全取消选择后,输出才输出另一个时钟,从而避免产生毛刺。1.SELECT为0时,下面两个触发器的输出为1,CLK0被开启。2.当SELECT在第一条虚线处变为高电平时,在下一个到来的CLK0的上升沿,左下角寄存器的输出变为0,下一个CLK1的下降沿到来时,右下...

2022-05-04 19:25:36 324

原创 牛客网(移位运算与乘法)

注意:1、计数为0是从什么时候开始的 2、rst下降沿有效 3、对输入寄存的同时,还要给输出使用,所以cnt=0时候,将d输出而不是d_reg`timescale 1ns/1nsmodule multi_sel(input [7:0]d ,input clk,input rst,output reg input_grant,output reg [10:0]out);//*************code***********// ...

2022-03-20 20:36:33 290

原创 verilog基本用法

generate模板genvar i;generate for() begin:名称 组合逻辑 或者时序逻辑 或者例化模块 endendgereratemodule top_module( input [99:0] in, output [99:0] out); genvar i; generate for(i=0;i<=99;i=i+1)

2022-03-17 21:02:51 199

原创 乒乓buffer操作

部分为转载速度和面积问题:速度:能达到的最高时钟频率,与建立保持时间和外部器件的时序,以及紧密逻辑关系的寄存器的逻辑时延、走线时延有关.面积:所消耗的触发器FF、查找表LUT等逻辑资源例子:串——并转换串行输入数据,经过n个移位寄存器,并行输出。就是拿面积换取速度。乒乓操作,输入数据选择控制为A,输出数据选择控制为B在第1个缓冲周期,将输入的数据流缓存到A在第2个缓冲周期,A模块将输入的数据流缓存到B模块的同时,B模块将“数据缓冲1”模块第一个...

2021-12-31 17:33:37 1584

原创 格雷码与二进制码互换

gray to bin代码写的方式均可需要注意:1、reg型表示的寄存器类型。always模块内被赋值的信号,必须定义为reg型,代表触发器。2、使用generate循环时候,必须先在genvar声明循环中使用的索引变量名`timescale 1ns / 1psmodule gray2bin#( parameter date_width=4)( input [date_width-1:0] gray, output reg [date_width-1:0] bin );

2021-12-31 15:44:36 360

原创 同步FIFO 两种方法

RAM+空满信号判断,两种方法一、空满标志用指针位置得到二、空满标志用fifo的中数据的计数得到一、当写指针超过读指针一圈,写满;写指针等于读指针,读空`timescale 1ns / 1ps//////////////////////////////////////////////////////////////////////////////////// Company: // Engineer: // // Create Date: 11:42:44 12/29/2.

2021-12-29 16:44:21 4481 4

原创 Exams/2014 q3fsm

这道题搞太久了!!一定注意c_state和n_state还有计时器的逻辑,一定画一画!!!分析好再下手!!!就是在状态的基础上加入计数器,来得到输出嘛!考虑具有输入 s 和 w 的有限状态机。 假设 FSM 以称为 A 的复位状态开始,如下所示。 只要 s = 0,FSM 就保持在状态 A,并在 s = 1 时进入状态 B。一旦进入状态 B,FSM 在接下来的三个时钟周期内检查输入 w 的值。 如果恰好在两个时钟周期中 w = 1,则 FSM 必须在接下来的时钟周期中将输出 z 设置

2021-12-24 00:57:30 594

原创 HDLBits-Fsm serialdata

在许多(较旧的)串行通信协议中,每个数据字节与一个起始位和一个停止位一起发送,以帮助接收器从比特流中划分字节。一种常见的方案是使用一个起始位(0)、8个数据位和1个停止位(1)。当无任何传输(空闲)时,线路也处于逻辑1。设计一个有限状态机,当给定一个比特流时,它将识别何时正确接收字节。它需要识别起始位,等待所有8个数据位,然后验证停止位是否正确。如果停止位未按预期出现,则FSM必须等到找到停止位后再尝试接收下一个字节。现在,您有了一个有限状态机,可以识别在串行位流中何时正确接收字节,添加一个数据路径

2021-12-22 16:54:47 565

原创 verilog语法

逻辑运算符:&&、||、!位运算符 :&、|、^、~、~^(同或)两个不同长度的数据进行位运算,自动将两者右对齐,位数较少的数据,高位用0填满。&&、||

2021-12-06 15:22:06 1361

原创 Testbench

RTL中,一般来说输入是线网型而输出是寄存器类型的。但在testbench中是反过来的,输入是reg输出是wire。原因:输入是自己设计的,我们要写寄存器,输出只需要读值initial是仅在仿真之初被执行,一定先将变量初始化 initial begin clk = 1'b0; forever #5 clk = ~clk; end initial clk=0; always #5 c

2021-11-13 22:21:59 767

原创 异步FIFO

理论部分为转载整理一、FIFO简介是一种先进先出的数据缓存器,没有外部读写地址线,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。二、读写指针的工作原理读指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0)。写指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0)...

2021-11-11 21:18:26 343

原创 单bit跨时钟域

慢到快:直接打两拍reg [1:0]signal;always@(posedge clk or posedge rst_n)begin if(!rst_n) signal<=0; else signal<={signal[0],signal_in};endassign signal_out=singal[1];reg signal_reg1;reg signal_reg2;always@(posedge clk or posedge rst_n)begin i

2021-11-08 21:31:01 2045

转载 串-并转换

串并转换module serial_parallel( input clk, input rst_n, input en, input data_in, //一位输入 output reg[7:0] data_out //8位并行输出 ); //移位寄存器方式 always @(posedge clk or negedge rst_n) begin if (!rs

2021-09-26 21:33:16 157

原创 奇偶N+0.5分频器

1、偶分频:N/2-1,状态翻转,计数器清零2、奇分频: clk1:上升沿计数(N-1)/2状态反转,(N-1)状态反转 clk2:下降沿计数(N-1)/2状态反转,(N-1)状态反转 clk:clk1|clk2五分频和四分频仿真`timescale 1ns / 1ps//////////////////////////////////////////////////////////////...

2021-09-26 16:19:38 501

原创 状态机(Moore and Mealy)

1、Moore状态机:仅取决于当前状态 设计高速电路时,使得输出与时钟几乎同步,即将状态变量直接用作输出,其输出组合逻辑部分只有连线。2、Mealy状态机:取决于当前状态和输入 moore完全描述状态转移图会比mealy机多一个状态 在verilog代码中就是,moore机的最后输出逻辑只判断state,mealy机的输出逻辑中判断c_state && input 通过两种方式检测1101,不考虑重叠检测Moore//Moore...

2021-09-25 23:38:43 2314

空空如也

空空如也

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

TA关注的人

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