尼德兰的喵
这个作者很懒,什么都没留下…
展开
-
【Verilog】generate和for循环的一些使用总结(1)
前言之前使用generate和for时候一直糊里糊涂的使用,所以今天静下心来总结一下,顺便看看有哪些坑。做一个模块,输入为多路data通过bit map型vld信号作为标记,输出为单路data,取多路信息中port num值最大的那一路数据,同时输出这一拍共多少路有数据;信号 端口 位宽 含义 in_vld input PORT_NUM bitmap型vld信号,每一bit标志一路数据有效 in_data input PORT_NUM *原创 2020-06-26 16:07:56 · 51948 阅读 · 8 评论 -
【system verilog for design】verilog 1995/2001/system verilog标准语法的一些演进
前言最近在学习一些verilog/system verilog for design的基础知识,觉得有些东西总结总结还是挺好的,毕竟好记性不如烂键盘;正文开始verilog有1995和2001两个标准,之后便合入到system verilog标准中了,因此结合最近看的课总结一下语法的演进;verilog-1995module parameter function task always @ assign wire reg + = * /原创 2021-07-06 22:42:36 · 624 阅读 · 0 评论 -
【Verilog】generate和for循环的一些使用总结(2)
前言场景还是前面那个场景,这次主要针对for循环做一些总结;【Verilog】generate和for循环的一些使用总结(1)for循环归纳在编译和综合阶段,编译器会将for循环展开,因此for循环的起点和终点都必须是常数才能够综合,否则会报错;对于for循环,直接看几个常见的使用场景;信号选择always @(*)begin: gain_data integer i; data = 0; for(i=0; i<PORT_NUM; i=i+1)begin原创 2020-06-26 23:10:46 · 7043 阅读 · 3 评论 -
【读书笔记】RISC存储程序机的电路设计(1)
前言复习一下研究生时候一个小的课设题,内容在《Verilog HDL高级数字设计(第二版)》“7.3 RSIC存储程序机的设计与综合”,目的是做一个精简指令集计算机。之前一直很是不能理解其中的设计思路与结构,最近这段时间在有了一些实践经验后有种豁然开朗、一拍即合的感觉,趁着还记得赶紧记下来。概述RSIC处理器的结构图我直接从书上拓下来下来了,如下图:整个处理器电路分为三个通路:控制通路(Controller)、处理通路(Processor)和存储通路(Memory),运算器ALU包含在处原创 2021-02-15 01:32:08 · 841 阅读 · 0 评论 -
【读书笔记】RISC存储程序机的电路设计(5)
前言继续来~~~~~~~~~~~~~~~~~~~~~~【读书笔记】RISC存储程序机的电路设计(1)【读书笔记】RISC存储程序机的电路设计(2)【读书笔记】RISC存储程序机的电路设计(3)图放好~~~~~~~~~~~~~~~~~~~~~~我这个顺序说实话没有太掌握好,应该在前面就把Processor的代码贴全的,不过没关系,经过前面的完整分析,我们已经直接拼出来Processor的代码啦,进而得到全部编码。Processor完整代码子模块所有需要的子模块代码:原创 2021-02-16 00:28:55 · 345 阅读 · 0 评论 -
【读书笔记】RISC存储程序机的电路设计(3)
前言想写的东西太多,所以就拆成几份了,哈哈哈哈【读书笔记】RISC存储程序机的电路设计(1)【读书笔记】RISC存储程序机的电路设计(2)实际上就是多水几篇好啦,毕竟这么长使劲没写了~~~~~又水了4行!前面呢把Processor、Controller和Memory总体概述了下,要继续展开Controller呢,就必须要先把指令集看一下。当然了,开始前还是把结构图放下:指令集RSIC处理器由mem中的指令序列控制运转,因此整体设计(主要是Controller的设计)是和指原创 2021-02-15 19:02:29 · 440 阅读 · 0 评论 -
【读书笔记】RISC存储程序机的电路设计(6)
前言继续来~~~~~~~~~~~~~~~~~~~~~~【读书笔记】RISC存储程序机的电路设计(1)【读书笔记】RISC存储程序机的电路设计(2)【读书笔记】RISC存储程序机的电路设计(3)【读书笔记】RISC存储程序机的电路设计(4)【读书笔记】RISC存储程序机的电路设计(5)图放好~~~~~~~~~~~~~~~~~~~~~~这一节已经完成了代码,因此我们来构造测试用例。测试指令我在用例中写的简单的几条指令时这样的: initial begin w原创 2021-02-16 00:47:42 · 457 阅读 · 0 评论 -
【读书笔记】RISC存储程序机的电路设计(2)
前言继续Processor内模块分析,前面的请见:【读书笔记】RISC存储程序机的电路设计(1)结构图还是要先摆好的:ProcessorALU运算器,负责将Reg_Y的值data1和总线上送过来的值data2根据IR传过来的指令进行运算并输出,这个简化版处理器支持四种运算:ADD:data1 + data2SUB:data1 - data2AND:data1 & data2NOT:~data1那么,直接看代码好啦:module alu_unit #.原创 2021-02-15 15:46:42 · 430 阅读 · 0 评论 -
【读书笔记】RISC存储程序机的电路设计(4)
前言继续来~~~~~~~~~~~~~~~~~~~~~~【读书笔记】RISC存储程序机的电路设计(1)【读书笔记】RISC存储程序机的电路设计(2)【读书笔记】RISC存储程序机的电路设计(3)图放好~~~~~~~~~~~~~~~~~~~~~~指令解析指令解析的过程就是Controller的编码过程,对于每一个指令,Controller需要将其拆解为具体的电路行为。RD继续来看下长指令,以RD指令为实例吧,为了防止忘记,我们再回顾下前两步要干什么~1.处于S_fet原创 2021-02-16 00:16:42 · 425 阅读 · 2 评论 -
【异步电路碎碎念3】 —— 跨异步的处理原则
接https://blog.csdn.net/moon9999/article/details/102099489学习了跨异步的基础概念和引发问题后,继续学习下应该如何处理跨异步的场景。查询了一些资料后,总结起来跨异步处理的大原则有以下几个。寄存器输出跨异步信号推荐是寄存器输出,具体来讲脉冲信号必须由寄存器输出,电平信号根据实际使用场景可以进行选择,当然我觉得吧如果面积不瓶颈的话......原创 2019-12-22 23:37:21 · 2143 阅读 · 0 评论 -
【异步电路碎碎念5】 —— 跨异步处理的几个注意事项
前言继续上篇写,最近沉迷游戏一直没有恢复学习状态,今天开始恢复!【异步电路碎碎念4】 —— 跨异步的处理方法今天这个内容跟之前的好像有些重复,不过没关系就当水一水吧~注意事项多比特信号进行同步时,如需要进行逻辑运算必须在源时钟域完成组合逻辑并寄存处理,不能分别同步到目的时钟域后再进行逻辑处理这个老生常谈了,每个比特在同步过程中收敛的时刻不同,有的在第2拍采到正确值,有的在3拍采样到正确值,在目的时钟域对多个同步信号进行组合逻辑的话,产生的结果可能与预期不一致导致整个逻辑的混乱与传播。原创 2021-10-19 01:42:28 · 1256 阅读 · 0 评论 -
【异步电路碎碎念2】 —— 跨异步引发的电路危机
跨异步本身呢是一种常见的信号处理,不过呢一旦处理不当就会引发多种电路危机,而这些电路危机大多与亚稳态有或多或少的关系。亚稳态是我们老生常谈的问题了,再来复习一下什么是亚稳态呢。在数字电路中信号处于非0非1、介于高低电平阈值之间未定义的状态称之为亚稳态。由于数字电路的特点只有高低电平和高阻态能够稳定存在,亚稳态会在0/1之间完全不确定的反复震荡。理论上亚稳态可以在零噪声场景下稳定维持,但是实...原创 2019-10-04 22:35:17 · 2521 阅读 · 0 评论 -
【异步电路碎碎念1】 —— 到底什么是异步电路
异步电路是我们在进行IC设计时候必须要跨越的一道坎,必须要掌握的基础知识。个人认为对异步电路的理解以及处理经验是衡量一个IC前端水平的重要指示。不过最可怕的是哪怕你想的再明白理解的再清楚,也还是可能会翻车,简单说异步电路堪称IC芯片出错重灾区。当然正因为如此,一般的IC设计中会把异步处理做单独的模块设计,需要进行异步处理时调用对应功能的module即可。下文综合了我自己对异步电路的理解和实操,...原创 2019-09-28 23:21:39 · 7157 阅读 · 0 评论 -
【异步电路碎碎念4】 —— 跨异步的处理方法
前言我一直以为我已经把这块东西整理完了,然后发现我就写了三个?【异步电路碎碎念1】 —— 到底什么是异步电路【异步电路碎碎念2】 —— 跨异步引发的电路危机【异步电路碎碎念3】 —— 跨异步的处理原则其中第三个还趋近于半成品,这还真的是始料未及,毕竟是19年动手写的东西,竟然能写着写着就忘了,也是非常的厉害了,因此今天继续总结。处理方法分类常见的跨异步场景处理方法大概可以分为以下几类吧:单比特信号打拍同步 单比特脉冲同步 多比特计数器格雷码同步 多比特信号DM.原创 2021-10-08 00:03:56 · 2851 阅读 · 0 评论 -
二进制数的补码及运算(2)
本章均对整数进行操作,小数情况请先转化为整数并对其符号位。原创 2017-02-26 12:04:48 · 7142 阅读 · 0 评论 -
二进制数的补码及运算(1)
本人研究不深,如有错误请不吝赐教!!1.正数的补码表示正数的补码 = 原码负数的补码 = {原码符号位不变} + {数值位按位取反后+1} or = {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反}以十进制整数+97和-97为例:+97原码 = 0110_0001b+97补码 = 0110_0001b-97原码 =原创 2017-02-25 22:04:48 · 26487 阅读 · 1 评论