- 博客(15)
- 收藏
- 关注
原创 基于单片机的数字电子秒表设计
在程序设计中,进行分模块进行描述:1、主函数模块,负责初始化工作和等待响应;2、按键扫描函数3、显示函数类似对应与显示电路;4、倒计数处理函数来实现这部分功能;5、贯穿全局的定时函数,用来产生10ms的中断溢出信号。系统初始化:设置定时器 0 为 16 位计时模式,计算初值实现 10ms 中断,晶振 12MHz。开启总中断和定时器 0 中断,初始关闭定时器 0。主程序循环:在无限循环中,依次调用按键扫描函数获取按键状态,根据按键触发相应功能,如控制定时器的启停;调用显示函数更新数码管显示;
2024-12-31 21:23:37
1249
原创 HDLBits学习:CS450/gshare
当请求对分支进行训练 ( = 1) 时,将告知分支预测器正在训练的分支的分支历史记录寄存器值,以及实际分支结果以及分支是否为误预测(需要管道刷新)。此外,如果被训练的分支被误判,也要在误预测的分支完成执行后立即将分支历史寄存器恢复到该状态。在管道的某个时间(通常在分支执行或停用时),执行的分支指令的结果将发送回分支预测器,以训练它通过观察过去的分支行为来更准确地预测未来。当请求对给定的分支预测 ( = 1) 时,分支预测器会生成预测的分支方向和用于进行预测的分支历史寄存器的状态。
2024-08-22 17:42:47
1218
原创 HDLBits学习:Cs450/history shift
当发生分支误预测时,此硬件会通知分支预测器分支误判、分支应采取的方向,以及与程序中紧挨着错误预测的分支。当发生分支误预测 ( = 1) 时,在错误预测的分支完成后,将带有历史记录的分支历史记录加载到分支历史记录寄存器中。这包括回滚全局历史记录寄存器,该寄存器可能包含预测的分支结果,这些结果是由比错误预测的分支更年轻的分支传入的,但现在需要丢弃。这包括回滚全局历史记录寄存器,该寄存器可能包含预测的分支结果,这些结果是由比错误预测的分支更年轻的分支传入的,但现在需要丢弃。
2024-08-22 15:02:07
969
原创 HDLBits学习:Cs450/counter 2bc
最多计数 3(或 2'b11)或减少到 0(或 2'b00),但不环绕。“采取”的结果会增加计数器,而“未采取”的结果会减少计数器。当计数为 2 或 3(或 2'b1x)时,预计将获取一个分支。添加一些滞后可以防止当强偏偏分支偶尔采用不同的方向时,预测的翻转,需要在相反方向上增加两次,然后才能翻转预测。分支方向预测器的结构通常为计数器表,这些计数器由程序计数器和分支历史记录编制索引。每个表条目通常使用两位状态,因为一位状态(记住最后的结果)没有足够的滞后,并且很容易翻转状态。两位饱和计数器的状态图。
2024-08-22 14:01:52
934
原创 HDLBits学习:Exams/ece241 2014 q5a、Exams/ece241 2014 q5b
本文讲述了如何设计一个处理不定长输入序列并计算补码的单输入单输出Moore/Mealy状态机,涉及补码概念、状态机时序特性及异步复位。作者通过实例解析了状态机的工作原理,并给出了VerilogHDL代码实现。您需要设计一个单输入单输出的串行 2 的补码摩尔状态机。输入(x)是一系列位(每个时钟周期一位),从数字的最低有效位开始,输出(Z)是输入的 2 的补码。解决办法:利用补码的特性,从LSB开始直到遇到第一个值为1的编码,它和比它低位的编码不变,在它之上的编码取反。下图是 2 的补码器的。
2024-08-22 13:53:18
1572
原创 HDLBits学习:Exams/review2015 fancytimer
这应该等于 1000 个周期的延迟,然后等于 1000 个周期的延迟 1,依此类推,直到 1000 个周期为 0。例如,一旦读取了 1101 和延迟[3:0],电路就不再查看数据输入,直到在完成其他所有操作后恢复搜索。在此示例中,电路计数 2000 个时钟周期,因为 delay[3:0] 值为 4'b0001。此时,电路必须断言完成以通知用户计时器已超时,并等待输入确认为1,然后再被复位以寻找下一次出现的启动序列(1101)。这是五个练习中的第五个部分,该练习从几个较小的电路中构建了一个复杂的计数器。
2024-07-30 22:22:09
886
原创 HDLBits学习:Exams/2013 q2bfsm
xandyfandgclkresetnAfxxggyinput. IfygygAI翻译:考虑一个用于控制某种类型电机的有限状态机。FSM 的输入x和y来自电机,并产生输出f和g,用于控制电机。还有一个称为clk的时钟输入和一个名为resetn的复位输入。密克罗尼西亚联邦必须按照以下方式工作。只要复位输入被置位,FSM 就会保持在 起始状态,称为状态A。当复位信号被取消置位时,则在下一个时钟之后 边沿 FSM 必须将输出f。
2024-07-30 18:15:59
500
原创 HDLBits学习:Exams/2014 q3fsm
接下来的三个时钟周期,依此类推。下面的时序图说明了所需的值 对于不同的。解决办法:另外设置一个寄存器进行判断输出值,同时使三种状态不断循环。如果在这些时钟周期中的两个时钟周期中。分析:本题难点在于如何实现不断的三个周期查询w值并判断。= 1,则 FSM 必须在下一个时钟周期中将输出。假设 FSM 以称为。的重置状态开始, 如下图所示。密克罗尼西亚联邦继续检查。= 0,FSM 就会保持状态。将在接下来的三个中检查输入。= 1 时,它会变为状态。使用尽可能少的状态。中使用,因此您只需考虑。
2024-07-29 22:25:40
350
原创 HDLBits学习:Exams/2014 q3c
分析:此处的小写的y是作为输入的状态,大写Y作为输出的状态(不要混淆)给定如下所示的状态分配表,实现逻辑函数 Y[0] 和 z。
2024-07-29 22:17:51
182
原创 HDLBIits学习:Fsm serialdp
See also: Serial receiver and datapathWe want to add parity checking to the serial receiver. Parity checking adds one extra bit after each data byte. We will use odd parity, where the number of 1s in the 9 bits received must be odd. For example, 101001011
2024-07-29 15:26:36
1915
原创 HDLBits学习:Fsm onehot
题目andAI翻译如下给定以下具有 1 个输入和 2 个输出的状态机:假设此状态机使用独热编码,其中 state[0] 到 state[9] 分别对应于状态 S0 到 S9。除非另有说明,否则输出为零。实现状态机的状态和部分(但不是状态触发器)。您将获得 state[9:0] 的当前状态,并且必须生成 next_state[9:0] 和两个输出。通过假设采用独热编码的检查来推导逻辑方程。(测试平台将使用非一个热输入进行测试,以确保您不会尝试做更复杂的事情)。
2024-07-27 22:24:06
370
原创 HDLBits学习:Lemmings4
虽然旅鼠可以走路、跌倒和挖掘,但旅鼠并不是刀枪不入的。如果旅鼠跌倒时间过长然后撞到地上,它可能会飞溅。特别是,如果旅鼠跌倒超过 20 个时钟周期然后撞到地面,它会飞溅并停止行走、跌倒或挖掘(所有 4 个输出变为 0),永远(或直到 FSM 重置)。旅鼠在落地之前可以掉落多远没有上限。旅鼠只有在撞击地面时才会飞溅;它们不会飞溅到半空中。分析:本题结合前三小题,构成一个比较综合的旅鼠状态机试题,总体难度不大,要注意的是。扩展有限状态机以对此行为进行建模。
2024-07-27 21:26:08
435
原创 HDLBIT学习:Design a Moore FSM
当水位高于最高传感器S3时,输入水流将为0,当水位低于最低传感器S1时,水流将开到最大,即额定水流和额外水流控制器都将开启。当输入S1=01、S2=0、S3=0时,即在S2和S1之间,输出FR1、FR2为1、FR3为0。当输入S1=1、S2=1、S3=0时,即在S3和S2之间,输出FR1为1,FR2、FR3为0。当输入S1=0、S2=0、S3=0,即低于S1,输出FR1,FR2、FR3、DFR都为1;当输入S1、S2、S3都为1时,即高于S3,输出FR1,FR2,FR3为0。额外考虑的是,也是本题难点。
2024-07-22 21:55:58
255
原创 HDLBITS学习:conway‘s Game of life 16*16
HDLBITS学习:conway‘s Game of life 16*16
2024-07-22 15:41:08
1631
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人