自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (3)
  • 收藏
  • 关注

原创 2020一次转变:从Verilog到SpinalHDL

学习SpinalHDL已有近半年,其诚然小众,但“小家碧玉”未尝不是绝代佳人。出坑Verilog遥想当年本科之时画过电路PCB、玩儿过单片机、PLC,亦学过C#(给我那数块板子的毕设做个上位机),Python。直到研究生之时方才选择FPGA这条道路,除了对数字电路本身的兴趣之外(对于做软件感觉一直找不到自己的优势所在,虽然最终还是进了互联网行业,也算是冥冥之中自有天意吧),重要的便是Verilog语法简单,可以令我很快专注于电路硬件的设计而非语法本身。 “成也萧何,败也萧何”,Verilog语法确实

2021-01-01 17:03:59 5754 3

原创 FPGA图像处理——老戏新说

本文摘自个人微信公众号:似猿非猿的FPGA(gh_821036e8d45d)。 书接上文(FPGA图像处理中矩阵提取),趁着今天休假,采用SpinalHDL做一个小的demo,看看在SpinalHDL里如何优雅的实现Sobel边缘检测。Sobel边缘检测Sobel边缘检测原理教材网上一大堆,核心为卷积处理。Sobel卷积因子为:该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表...

2020-10-11 17:21:25 756

原创 Xilinx_SERDES动态延迟加解串的使用

Xilinx SELECTIO IP核调用配作可变延迟加输入解串工作模式时信号接口如下表所示:接口名 方向 注释DATA_IN_FROM_PINS Input来自外部IO数据输入引脚DATA_IN_TO_DEVICE OutputCLK_OUT同步后的输出数据DELAY_BUSY OutputIODELAY校准和相位变化正在进行忙信号DELAY_CLK Inpu

2017-10-23 16:38:18 3695 1

原创 Xilinx IODELAY动态延迟的调用

Xilinx SELECTIO IP核调用配作可变输入延时时其信号接口如下表所示:接口名 方向 注释DATA_IN_FROM_PINS Input来自外部IO数据输入引脚DATA_IN_TO_DEVICE OutputCLK_OUT同步后的输出数据DELAY_BUSY OutputIODELAY校准和相位变化正在进行忙信号DELAY_CLK InputFPG

2017-10-21 16:57:35 14115

原创 相同速率变换接口的设计

(1) 选择一个合适大小的双口RAM或者FIFO,以保证发送的数据不会由于接收端没有来得及处理而丢失.最佳长度是2倍于一次性接收或者发送处理包的长度(2)设计一个写入数据处理模块,将写入的数据依次存储到RAM位置中.每存储1个数据,地址对应加1.如果地址超出RAM的最大长度,该地址进行卷绕,变为0地址.(3)设计一个读地址模块,根据所读数据的处理进程进行处理

2017-03-20 21:47:02 304 1

原创 基于CORDIC的正余弦波形生成

//============================================================//  文件名:    CordicRotator.v//  功能描述:    Cordic旋转,旋转模式//  创建日期:    2017-3-6//======================================================

2017-03-06 22:57:23 1411

原创 verilog文件系统函数调用

1 $openIntegermulti_channel_descriptor= $fopen ( "file_name" );返回文件的多通道描述符,只允许写数据,最多能打开31个文件,最高位保留。注意:用$fopen打开文件会将原来的文件清空,若要读数据就用$readmemb,$readmemh就可以了,这个语句不会清空原来文件中的数据。integerfd = $fopen (

2017-03-01 22:45:12 11757

原创 anderson_Earle_Goldschmidt_Powers算法

//=========================================================//文件名:  div_aegp_module.v//功能:   收敛除法/*  (1)标准化Numerator和Denominator,令Denominator接近于1,利用标准化      区间,如用于浮点尾数的0.5  (2)初始化x0=Numerat

2017-02-27 17:51:20 434

原创 模加法器的FPGA实现

模加法器是RNS-DSP设计中最重要的构建模块,它既可以用于加法们也可以通过索引算法用于乘法。模加法器的定义为:对于两个整数A、B,(A,B∈[0,m))进行模m的加法运算定义为

2017-02-26 14:43:26 2208

转载 中国余数定理解题步骤

摘要: 在学习RSA算法时候提及到的算法,用以求一元线性同余方程组,在这里记录一下解题的步骤。什么是中国余数定理(CRT) http://baike.baidu.com/view/157384.htm?fromtitle=%E4%B8%AD%E5%9B%BD%E4%BD%99%E6%95%B0%E5%AE%9A%E7%90%86&fromid=7801504&type=syn (百

2017-02-24 09:26:05 5461 1

原创 systemverilog中logic变量的使用

对verilog的初学者来说,线网和变量reg之间的不同点,也许是最难的。你有时得用reg而有时却得使用wire,使用来使用去,简直头晕。而在SystemVerilog中,我们将会看到你可以在过去verilog中用reg型或是wire型的地方用logic型来代替。实际上logic是对reg数据类型的改进,使得它除了作为一个变量之外,还可以被连续赋值、门单元和模块所驱动,显然,logic是一

2017-02-19 22:44:43 23125

原创 verilog通过中+:与-:解决变量内固定长度数据位的动态选取

在FPGA设计过程,尤其是算法实现时hi,有时往往需要选取某个变量的动态范围地址,而verilog中常规的向量标识方法a[MSB:LSB]往往会发生错误,在此可借用a[BASE :- WIDTH]的方式实现。a[BASE+:(/-:)WIDTH]BASE:基地址WIDTH:数据宽度,固定。       举例如下:       在半色调像素处理算法中,对输

2017-02-14 21:42:50 14438 3

modelsim环境下运行UVM

实验环境:win7+modelsim10.4d 实验用例:输出hello_uvm; Modelsim10.4d在安装时已配置好uvm的连接dll文件,因此不再需要生成(在文件夹C:\modeltech64_10.4\uvm-1.1d\win64下)

2017-11-14

CRC_16校验的FPGA实现

基于字节的CRC校验实现,经modelsim仿真验证。CRC校验又称(n,k)码,n为码长,k为信息为,r=n-k为校验位。 校验采用模2运算: 加法不考虑进位,减法不考虑借位,即运算结果为亦或关系。而对于除法,商由余数首位与除数首位的模2除法运算结果确定(0/1=0,1/1=1)。在接收端,可有两种方式检验传输是否发生错误:

2017-11-04

空空如也

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

TA关注的人

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