自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 寄存器重命名

1.数据相关性:WAW,WAR,RAW,和寄存器直接相关只有RAW(先写后读)是真相关,其他相关可以使用寄存器重命名解决。2.寄存器数据相关性:WAW,WAR,RAW,访问存储器的指令3.控制相关性:使用分支预测解决4.结构相关性:指令必须等到处理器中某些部件可以适合用才可以继续执行。例:IQ发射队列,重排序缓存ROB,功能单元FU的计算资源空闲等。

2024-04-12 17:02:50 683

原创 超标量处理器取指

取指阶段:在实现虚拟存储器(Virtual Memory)的处理器中,处理器送出的取指地址是Virtual address,需要使用一定的方法将其转化为Physical address才能够从存储器中取指,在转换过程中可能发生其他的事情,打断流水线的正常执行。这种方法增加了数据块的容量,如果总量一定,会减少Cache Set的个数,增加Cache缺失的概率。4-way超标量处理器 -- 每周期可以同时解码4条指令,要求处理器至少每周期可以从I-Cache中取出4条指令。对于2-way处理器来说足够了。

2024-04-11 14:54:16 209

原创 Cache如何分bank

需要有两套地址解码器,使得两个端口可以同事寻址Tag和Data, 使用两个多路选择器去读取两个端口的数据,比较器数量*2进而判断两个端口的命中情况,需要两个对齐器Aligner,完成字节或半字的读取,Tag SRAM和Data SRAM本身不需要复制,但是每个cell需要同时支持两个并行的读取操作。一个双端口的Cache需要两个地址解码器,两个Way Mux,两个比较器和一个对其器Aligner,但是Data SRAM不需要实现多端口结构,进而提升速度减小面积。

2024-04-10 14:38:41 569

原创 雅思写作总结

The pie chart(饼状)The line graph(折线)The bar chart(柱状)The table(表格)

2023-12-16 23:46:50 130

原创 PHD搜寻网站

一些搜寻phd岗位的网址。

2023-06-29 16:27:48 387

原创 雅思口语总结

雅思口语总结

2023-06-17 16:14:18 1474

原创 Chisel(三)

chisel设置模块

2022-09-07 11:10:27 459 1

原创 Chisel学习(二)变量

chise学习-bootcamp1

2022-09-06 22:58:47 576

原创 超标量处理器的分支预测

超标量处理器分支预测

2022-09-06 21:43:51 329

原创 分支预测失败时的恢复

分支预测恢复的几种情况

2022-09-06 19:45:06 1012

原创 Chisel(一)

chisel在linux中的安装

2022-09-03 21:25:02 226

转载 AXI总线(二)基本读写事务

AXI总线握手

2022-07-30 10:34:52 237

转载 AXI总线数据依赖

AXI总线数据依赖

2022-07-29 11:49:39 833

转载 GDB教程

1.GCC的使用:假设您有一个名为 main.cpp 的文件,其中包含您的 c++ 代码。您应该使用以下命令编译它:g++ main.cpp -o main虽然这可以正常工作并生成一个名为main的可执行文件,但您还需要放置一个-g标志来告诉编译器您可能希望稍后调试程序。因此,最终命令将变为:g++ main.cpp -g -Wall -Werror -o main如果你想让编译器将警告视为错误-这意味着你甚至没有得到可执行文件,你可以使用-Werror标志。这将确保您不会错过任

2022-03-02 15:24:53 89

转载 vimtutor中文版

vimtutor使用说明超详细_m0_60353617的博客-CSDN博客发现这个手册可以对比英文版进行学习。

2022-02-26 10:23:04 229

转载 HDLBits之Exams/2014 q3fsm

Consider a finite state machine with inputssandw. Assume that the FSM begins in a reset state calledA, as depicted below. The FSM remains in stateAas long ass= 0, and it moves to stateBwhens= 1. Once in stateBthe FSM examines the value of the...

2022-02-24 23:36:31 216

原创 HDLBits之Fsm ps2data

Now that you have a state machine that will identify three-byte messages in a PS/2 byte stream, add a datapath that will also output the 24-bit (3 byte) message whenever a packet is received (out_bytes[23:16] is the first byte, out_bytes[15:8] is the secon

2022-02-18 13:58:39 515

转载 FPGA学习交流

1.学习网站https://www.fpga4fun.com/ 最推荐的一个 学习网站2.交流社区https://www.xilinx.com/support.html 首推Xilinx官方的问答社区http://xilinx.eetrend.com/ 电子创新网赛灵思社区 有一些资讯文章,没事的时候可以看看http://bbs.eetop.cn/forum-69-1.html EETOP 比发烧友那些论坛质量要稍微高一点吧3.开源网站https://opencores.

2022-02-18 11:16:17 187

原创 HDLBits之Lemmings2

See also:Lemmings1.In addition to walking left and right, Lemmings will fall (and presumably go "aaah!") if the ground disappears underneath them.In addition to walking left and right and changing direction when bumped, whenground=0, the Lemming will..

2022-02-17 13:58:12 332

原创 HDLBits之Exams/ece241 2013 q4

Also include an active-high synchronous reset that resets the state machine to a state equivalent to if the water level had been low for a long time (no sensors asserted, and all four outputs asserted).题解:设计一个状态机判断水位并根据水位选择流量开关输入为S(即当前水位)当前状态是S0:输入..

2022-02-17 13:12:17 919

转载 23.Verilog知识点(2)

8.过程块任务中不能出现 initial 语句和 always 语句语句, 但任务调用语句可以在 initial 语句和 always 语句中使用。1)过程块有两种:initial 块,只能执行一次always 块,循环执行过程块中有下列部件:过程赋值语句:在描述过程块中的数据流高级结构(循环,条件语句):描述块的功能时序控制:控制块的执行及块中的语句。2)initial语句一个模块中可以有多个 initial 块,它们都是并行运行的。initial 块常用于测试文件和虚拟模块的编

2022-02-16 17:48:27 2897

转载 22.Verilog知识点(1)

1.如果 if 语句使用不当, 没有 else,可能会综合出来意想不到的锁存器。在 always 块里面,如果在给定的条件下变量没有被赋值,这个变量将会保持原来的值,也就是说会生成一个锁存器。需要注意的是,这里说的是可能,因此, 不代表没有 else 就一定会出现锁存器,同时,不代表有 else 就一定不会出现锁存器。这个是根据具体设计来看的。避免锁存器同 if else, case 应当加上 default,以避免锁存器出现。注意,如果 case 的情况是完备的,可以不加。(完备意为所有情况都

2022-02-16 16:48:59 2154

原创 HDLBits之Exams/2014 q4b

Consider the n-bit shift register circuit shown below:注意:这里的子模块写法不能使用错误代码:module top_module ( input [3:0] SW, input [3:0] KEY, output [3:0] LEDR); // MUXDFF u_1( .clk(KEY[0]), .r(SW[3]), .e(KEY[1]), ...

2022-02-16 16:25:17 316

转载 HDLBits之Dualedge

巧思时钟上升沿和下降沿都触发时可以使用寄存器You're familiar with flip-flops that are triggered on the positive edge of the clock, or negative edge of the clock. A dual-edge triggered flip-flop is triggered on both edges of the clock. However, FPGAs don't have dual-edge trigge

2022-02-16 13:52:34 498

原创 HDLBits之DFFs and gates

Given the finite state machine circuit as shown, assume that the D flip-flops are initially reset to zero before the machine begins.Build this circuit.错误代码使用非阻塞赋值:Q1Q2Q3未全部到达最后的与非逻辑,所以仿真结果不对。module top_module ( input clk, input x, outpu...

2022-02-16 10:25:14 630 3

原创 HDLbits之Mt2015 muxdff

Assume that you want to implement hierarchical Verilog code for this circuit, using three instantiations of a submodule that has a flip-flop and multiplexer in it. Write a Verilog module (containing one flip-flop and multiplexer) named top_module for this

2022-02-16 09:48:23 1386 6

转载 21.设计描述方式

1.设计描述方式:概述: verilog 通常可以使用三种不同的方式描述模块实现的逻辑功能: 结构化、数据流、行为描述方式1)结构化描述方式:是使用实例化低层次模块的方法,即调用其他已经定义过的低层次模块对整个电路的功能进行描述,或者直接调用 Verilog 内部预先定义的基本门级元件描述电路的结构。2)数据流描述方式: 是使用连续赋值语句(assign)对电路的逻辑功能进行描述,该方式特别便于对组合逻辑电路建模。3)行为级描述方式: 是使用过程块语句结构(always)和比较抽象的高级程序语句

2022-02-15 15:53:19 582

转载 20.功耗问题、波形X问题

1.一般分为静态功耗和动态功耗动态功耗: 发生在门开关(或状态翻转)的瞬间。是由于对电容充电和电源和地之间短暂电流通路造成的。 它正比于开关频率。静态功耗: 总是存在, 是由电源和地之间的静态导通电流(或漏电流)引起的。2.降低动态功耗:1、降低内核供电电压。降低供电电压会影响到时序性能。为了弥补这个影响,一般采用流水线(pipelining)和并行(parallelism)设计方法来提高设计性能。当然,这样同时也会增加设计面积。2、降低电容负载和逻辑开关频率。3.波形X问题X 和 Z,所

2022-02-15 15:44:29 317

转载 19.BRAM/DRAM

1.Block RAM(BRAM)Block ram 由一定数量固定大小的存储块构成的,使用 BLOCK RAM 资源不占用额外的逻辑资源,并且速度快。 但是使用的时候消耗的 BLOCK RAM 资源是其块大小的整数倍。如 Xilinx公司的结构中每个 BRAM 有 36Kbit 的容量,既可以作为一个 36Kbit 的存储器使用,也可以拆分为两个独立的 18Kbit 存储器使用。反过来相邻两个 BRAM 可以结合起来实现 72Kbit 存储器,而且不消耗额外的逻辑资源。Block RAM 都有两套

2022-02-15 15:13:08 720

转载 18.门控时钟

引用b站大佬rong晔手册1.使用门控时钟的原因:减少时钟网络的功耗消耗,最直接的办法就是如果不需要时钟的时候,就把时钟关掉。2.门控时钟的结构:1)与门门控这种直接将控制 EN 信号和时钟 CLK 进行与操作完成门控的方式,可以完成 EN 为 0 时,时钟被关掉。产生问题:毛刺产生原因:如上图所示, EN 是不受控制的,随时可能跳变,这样纯组合输出 GCLK 就完全可能会有毛产生。时钟信号上产生毛刺是很危险的。实际中,这种直接与门的方式基本不会被采样。所

2022-02-15 14:38:58 5851 5

转载 HDLbits之signed additional flow

Assume that you have two 8-bit 2's complement numbers, a[7:0] and b[7:0]. These numbers are added to produce s[7:0]. Also compute whether a (signed) overflow has occurred.知识点:判断有符号数是否溢出[方法一]Xf、Yf分别两个数的符号位,Zf为运算结果符号位。当Xf =Yf =0(两数同为正),而Zf=1(结果为负)时,负溢出

2022-02-15 14:18:47 117

原创 HDLBits之卡诺图

A single-output digital system with four inputs (a,b,c,d) generates a logic-1 when 2, 7, or 15 appears on the inputs, and a logic-0 when 0, 1, 4, 5, 6, 9, 10, 13, or 14 appears. The input conditions for the numbers 3, 8, 11, and 12 never occur in this syst

2022-02-15 11:14:34 251

原创 HDLBits之BCDadd4

You are provided with a BCD (binary-coded decimal) one-digit adder named bcd_fadd that adds two BCD digits and carry-in, and produces a sum and carry-out.module bcd_fadd { input [3:0] a, input [3:0] b, input cin, output cout, o

2022-02-14 21:34:19 1494

原创 HDLBits之More Verilog Features

1.Conditional ternary operator利用条件判断进行赋值Given four unsigned numbers, find the minimum. Unsigned numbers can be compared with standard comparison operators (a < b). Use the conditional operator to make two-way min circuits, then compose a few of them

2022-02-14 19:07:03 252

转载 17.乒乓buffer

引用b站大佬rong晔手册1.概念乒乓 buffer 是由两个单口 sram 背靠背组成的一种电路结构,假设我们称其为 s1 和 s2。则乒乓 buffer 的工作方式如下。1) 首先向 s1 中写入数据,此时 s2 是空的,因此没有操作。2) 当向 s1 写入完毕,通过逻辑操作,使得接下来向 s2 中写入数据,于此同时其他模块可以从 s1 中读出已经写入的数据;3) 待 s2 中写完,再次转换,重新向 s1 中写入数据,同时其他模块从 s2 中读出数据。4) 由于这个过程中两个 buffer

2022-02-12 12:47:09 3695 1

转载 16.逻辑

引用b站大佬rong晔手册1.逻辑电平: 12V, 5V, 3.3V。TTL 和 CMOS 不可以直接互连,由于 TTL 是在 0.3-3.6V 之间,而 CMOS 则是有在 12V 的有在 5V 的。CMOS 输出接到 TTL 是可以直接互连。 TTL 接到 CMOS 需要在输出端口加一上拉电阻接到 5V 或者 12V。用 CMOS 可直接驱动 TTL;加上拉电阻后,TTL 可驱动 CMOS。2.逻辑最小项:在一个有 n 个变量的逻辑函数中,包括全部 n 个变量的乘积项(每个变量必须而

2022-02-12 12:38:06 165

转载 15.静态、动态时序分析

1.静态时序分析(static timing analysis, STA) 是遍历电路存在的所有时序路径,根据给定工作条件(PVT)下的时序库.lib 文件计算信号在这些路径上的传播延时,检查信号的建立和保持时间是否满足约束要求, 根据最大路径延时和最小路径延时找出违背时序约束的错误。2.静态时序分析优点:1) 不需要给输入激励;2) 几乎能找到所有的关键路径(critical path);3) 运行速度快;3.静态时序分析缺点:1) 只适用同步电路;2) 无法验证电路的功能;3) 需

2022-02-12 11:08:00 2593

转载 14.时序约束

引用b站大佬rong晔手册1.时序约束主要包括周期约束,偏移约束,静态时序路径约束三种。 通过附加时序约束可以综合布线工具调整映射和布局布线, 使设计达到时序要求。2.附加时序约束策略:先附加全局约束,然后对快速和慢速例外路径附加专门约束。1)附加全局约束时,首先定义设计的所有时钟,对各时钟域内的同步元件进行分组,对分组附加周期约束,然后对 FPGA/CPLD 输入输出 PAD 附加偏移约束、对全组合逻辑的PAD TO PAD 路径附加约束。2)附加专门约束时,首先约束分组之间的路径,然后约

2022-02-12 10:56:32 2602

转载 13.速度优化

引用b站大佬rong晔手册1.速度优化包括:FPGA 的结构特性、HDL 综合器性能、系统电路特性、 PCB 制版情况等,也包括 Verilog 的编程风格。2.电路结构方面的速度优化方法:1)流水线设计流水线(Pipelining)是一种在复杂组合逻辑之间添加寄存器的方法,是最常用的速度优化技术之一。它能显著地提高设计电路的运行速度上限。2)寄存器配平 (Register Balancing)寄存器配平是使较长路径缩短,较短路径加长,使其达到平衡从而提高工作频率的一种技术。若设计中

2022-02-12 10:48:01 1095

转载 12.面积优化

引用b站大佬rong晔手册1.面积优化的意义:1)可使用规模更小的可编程器件,降低系统成本,提高性价比。2)当耗用资源过多时会严重影响时序性能。3)为后续技术升级留下更多的可编程资源。4)资源耗用太多会使器件功耗显著上升。2.优化方法:1)资源共享:针对数据通路中耗费逻辑资源较多的模块,通过选择、复用的方式共享使用该模块,达到减少资源使用、优化面积的目的。高级的 HDL 综合器,如 QuartusII 和 Synplify Pro 等,通过设置能自动识别设计中需要资源共享的逻辑结构

2022-02-12 10:40:03 1568

MAX31865使用zynq-7000实现采集功能

MAX31865使用zynq-7000实现采集功能,采集16位热电阻值后输出

2022-06-17

FPGA ego1 时钟及暂停计时功能

FPGA ego1 时钟从23:59:59:59(h:min:sec:10ms)计到0:0:0:0不断循环,拨码开关P5用于暂停。

2022-04-18

FPGA ARtix-7 ego1

八位数码管从0 - 9999_9999开始计数

2022-04-15

空空如也

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

TA关注的人

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