- 博客(12)
- 资源 (3)
- 收藏
- 关注
原创 2020一次转变:从Verilog到SpinalHDL
学习SpinalHDL已有近半年,其诚然小众,但“小家碧玉”未尝不是绝代佳人。出坑Verilog遥想当年本科之时画过电路PCB、玩儿过单片机、PLC,亦学过C#(给我那数块板子的毕设做个上位机),Python。直到研究生之时方才选择FPGA这条道路,除了对数字电路本身的兴趣之外(对于做软件感觉一直找不到自己的优势所在,虽然最终还是进了互联网行业,也算是冥冥之中自有天意吧),重要的便是Verilog语法简单,可以令我很快专注于电路硬件的设计而非语法本身。 “成也萧何,败也萧何”,Verilog语法确实
2021-01-01 17:03:59
5916
3
原创 FPGA图像处理——老戏新说
本文摘自个人微信公众号:似猿非猿的FPGA(gh_821036e8d45d)。 书接上文(FPGA图像处理中矩阵提取),趁着今天休假,采用SpinalHDL做一个小的demo,看看在SpinalHDL里如何优雅的实现Sobel边缘检测。Sobel边缘检测Sobel边缘检测原理教材网上一大堆,核心为卷积处理。Sobel卷积因子为:该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以A代表...
2020-10-11 17:21:25
795
原创 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
3891
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
14456
原创 相同速率变换接口的设计
(1) 选择一个合适大小的双口RAM或者FIFO,以保证发送的数据不会由于接收端没有来得及处理而丢失.最佳长度是2倍于一次性接收或者发送处理包的长度(2)设计一个写入数据处理模块,将写入的数据依次存储到RAM位置中.每存储1个数据,地址对应加1.如果地址超出RAM的最大长度,该地址进行卷绕,变为0地址.(3)设计一个读地址模块,根据所读数据的处理进程进行处理
2017-03-20 21:47:02
328
1
原创 基于CORDIC的正余弦波形生成
//============================================================// 文件名: CordicRotator.v// 功能描述: Cordic旋转,旋转模式// 创建日期: 2017-3-6//======================================================
2017-03-06 22:57:23
1448
原创 verilog文件系统函数调用
1 $openIntegermulti_channel_descriptor= $fopen ( "file_name" );返回文件的多通道描述符,只允许写数据,最多能打开31个文件,最高位保留。注意:用$fopen打开文件会将原来的文件清空,若要读数据就用$readmemb,$readmemh就可以了,这个语句不会清空原来文件中的数据。integerfd = $fopen (
2017-03-01 22:45:12
11849
原创 anderson_Earle_Goldschmidt_Powers算法
//=========================================================//文件名: div_aegp_module.v//功能: 收敛除法/* (1)标准化Numerator和Denominator,令Denominator接近于1,利用标准化 区间,如用于浮点尾数的0.5 (2)初始化x0=Numerat
2017-02-27 17:51:20
465
原创 模加法器的FPGA实现
模加法器是RNS-DSP设计中最重要的构建模块,它既可以用于加法们也可以通过索引算法用于乘法。模加法器的定义为:对于两个整数A、B,(A,B∈[0,m))进行模m的加法运算定义为
2017-02-26 14:43:26
2363
转载 中国余数定理解题步骤
摘要: 在学习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
5514
1
原创 systemverilog中logic变量的使用
对verilog的初学者来说,线网和变量reg之间的不同点,也许是最难的。你有时得用reg而有时却得使用wire,使用来使用去,简直头晕。而在SystemVerilog中,我们将会看到你可以在过去verilog中用reg型或是wire型的地方用logic型来代替。实际上logic是对reg数据类型的改进,使得它除了作为一个变量之外,还可以被连续赋值、门单元和模块所驱动,显然,logic是一
2017-02-19 22:44:43
23311
原创 verilog通过中+:与-:解决变量内固定长度数据位的动态选取
在FPGA设计过程,尤其是算法实现时hi,有时往往需要选取某个变量的动态范围地址,而verilog中常规的向量标识方法a[MSB:LSB]往往会发生错误,在此可借用a[BASE :- WIDTH]的方式实现。a[BASE+:(/-:)WIDTH]BASE:基地址WIDTH:数据宽度,固定。 举例如下: 在半色调像素处理算法中,对输
2017-02-14 21:42:50
14518
3
modelsim环境下运行UVM
2017-11-14
CRC_16校验的FPGA实现
2017-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人