E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
HDLBits
HDLBits
:在线学习 Verilog (二十六 · 127-130)
本系列内容来自于知乎专栏,链接如下:https://zhuanlan.zhihu.com/c_1131528588117385216本系列文章将和读者一起巡礼数字逻辑在线学习网站
HDLBits
的教程与习题
数字积木
·
2023-10-13 01:20
状态机
人工智能
编程语言
xhtml
ai
HDLbits
: Lemmings3
Lemmings又多了一种状态:dig,我按照上一篇文章里大神的思路又多加了两种状态:LEFT_DIGGING与RIGHT_DIGGING,写出了如下的代码:moduletop_module(inputclk,inputareset,//FreshlybrainwashedLemmingswalkleft.inputbump_left,inputbump_right,inputground,inp
weixin_41004238
·
2023-10-13 01:50
verilog学习
HDLbits
:Lemmings1
大概意思:有两个方向可以走:往左走和往右走;如果碰到障碍物就需要切换方向。同时碰到障碍物也要切换方向。思路:主要是下个状态的判断,按照题目描述:在LEFT状态下,如果遇到左边有障碍物或者两边都有障碍物,则状态切换到RIGHT。另一个状态下同理。换句话说,碰到左侧往右走,碰到右侧往左走,都碰到对当前状态取反,其他状态不变。moduletop_module(inputclk,inputareset,/
weixin_43291010
·
2023-10-13 01:50
fpga开发
HDLBits
刷题之:Lemmings1-3
Lemmings1:ThegameLemmingsinvolvescritterswithfairlysimplebrains.Sosimplethatwearegoingtomodelitusingafinitestatemachine.IntheLemmings’2Dworld,Lemmingscanbeinoneoftwostates:walkingleftorwalkingright.It
半缘&mirage
·
2023-10-13 01:49
verilog
fsm
HDLBits
-Lemmings2
题目:状态机:注意:如果像左图那样设计状态机的话,到了S2之后,需要回到S0或者S1,但是这样就没有进行判断的依据了,所以直接设计成右图所示的状态机比较方便。
郭学鑫
·
2023-10-13 01:19
HDLBits
fpga
verilog
HDLBits
—Lemmings4
虽然旅鼠可以走路、摔倒和挖掘,但旅鼠并非无懈可击。如果旅鼠坠落太久然后撞到地面,它可能会飞溅。特别是,如果一只旅鼠坠落超过20个时钟周期,然后撞到地面,它将飞溅并停止行走,坠落或挖掘(所有4个输出变为0),永远(或直到FSM被重置)。旅鼠在落地前可以跌落多远没有上限。旅鼠只有在撞击地面时才会飞溅,它们不会在半空中飞溅。基本上和Lemmings3都一样,但是多了个计下落时钟数,关键点在于计数用的re
柠檬酸~
·
2023-10-13 01:48
其他
Verilog
HDLbits
:Lemmings3(Moore型有限元状态机)
题目Inadditiontowalkingleftandright,Lemmingswillfall(andpresumablygo“aaah!”)ifthegrounddisappearsunderneaththem.Inadditiontowalkingleftandrightandchangingdirectionwhenbumped,whenground=0,theLemmingwillf
fanyuandrj
·
2023-10-13 01:18
HDLbits
fpga
verilog
Verilog
HDLbits
:Lemmings4(Moore型有限元状态机)
题目AlthoughLemmingscanwalk,fall,anddig,Lemmingsaren’tinvulnerable.IfaLemmingfallsfortoolongthenhitstheground,itcansplatter.Inparticular,ifaLemmingfallsformorethan20clockcyclesthenhitstheground,itwillsp
fanyuandrj
·
2023-10-13 01:18
HDLbits
fpga
verilog
HDLbits
练习:Lemmings2
Inadditiontowalkingleftandright,Lemmingswillfall(andpresumablygo"aaah!")ifthegrounddisappearsunderneaththem.Inadditiontowalkingleftandrightandchangingdirectionwhenbumped,whenground=0,theLemmingwillfal
lichong_aaa
·
2023-10-13 01:17
FPGA
Verilog
HDL
fpga开发
HDLBits
:状态机(FSM)之“Game Lemmings”
目录Lemmings2Lemmings3Lemmings4Lemmings2题链接:Lemmings2-
HDLBits
(01xz.net)较之上一题引入一个fall态,题目看起来有点绕,从题中给定的提示图很容易理解
ZeldaL
·
2023-10-13 01:16
数电基础
Verilog
verilog
HDLbits
: Lemmings2
苦思冥想怎么把FALLING下落的逻辑加进去,下落是状态吗?好像是,因为人物状态就是这三种:LEFT、RIGHT、FALLING,但又好像不是,因为FALLING的时候还要“记住”之前是LEFT还是RIGHT。苦思冥想不知道怎么加进去。于是写出了下面的代码,当ground和bump_left/bump_right同时为1时会报错:moduletop_module(inputclk,inputare
weixin_41004238
·
2023-10-13 01:15
verilog学习
HDLbits
:Exams/ece241 2013 q4
本题是一个实际的应用问题,一个水库,有三个传感器S1、S2、S3提供输入,经过控制电路,四个输出给到四个流量阀。也就是说,本题想让我们根据水位去控制流量阀。问题的关键在于把什么抽象成state,答案是:水位的高低。根据题意,我们知道水位高低有四种状态,可以用传感器检测。在第一个always块中,把三个传感器输入的值,作为next_state。在第二个always块中,用next_state判断,输
weixin_41004238
·
2023-10-12 11:37
fpga开发
HDLBits
答案合集(二)
本文为本人HDL刷题代码,如有问题请及时联系,本文为第三章节Circuits答案。文章目录前言3.1combinationallogic3.1.1basicgates3.1.1.1Exams/m2014q4h3.1.1.2Exams/m2014q4i3.1.1.3Exams/m2014q4e3.1.1.4Exams/m2014q4f3.1.1.5Exams/m2014q4g3.1.1.6gates
南边的柴柴
·
2023-10-11 01:22
verilog
开发语言
HDLbits
: Lfsr5
我的错误写法,半成品,完全错误:moduletop_module(inputclk,inputreset,//Active-highsynchronousresetto5'h1output[4:0]q);dffdff_1(clk,0^q[0],q[4]);dffdff_2(clk,q[4],q[3]);dffdff_3(clk,q[3]^q[0],q[2]);dffdff_4(clk,q[2],q
weixin_41004238
·
2023-10-11 01:21
fpga开发
HDLBits
Exams/ece241 2013 q4 水库题
题目和简述题目内容翻译:大型水库可为多个用户提供服务。为了使水位足够高,三个传感器以5英寸的间隔垂直放置。当水位高于最高传感器(S3)时,输入流量应为零。当液位低于最低传感器(S1)时,流量应最大(标称流量阀和辅助流量阀均打开)。当水位在上下传感器之间时,流速由两个因素决定:水位和最后一个传感器变化之前的水位。每种水位都有一个与之相关的标称流速,如下表所示。如果传感器变化表明先前的液位低于当前的液
lTANG_TANGl
·
2023-10-11 01:21
HDLBits
传感器
HDLBits
移位寄存器
HDLBitsShift4Builda4-bitshiftregister(rightshift),withasynchronousreset,synchronousload,andenable.areset:Resetsshiftregistertozero.load:Loadsshiftregisterwithdata[3:0]insteadofshifting.ena:Shiftright(
头发是自己拔掉的
·
2023-10-11 01:19
fpga开发
verilog练习:
hdlbits
网站上的做题笔记(5)
中提到了verilog学习,推荐了一个可以练习的网站:
hdlbits
网站,那自己也玩玩这个网站。这篇文章,是接着《verilog练习:
hdlbits
网站上的做题笔记(4)》写的!
杰之行
·
2023-10-11 01:17
verilog
verilog
HDLbits
答案
HDLbits
答案Counters12-hourclockShiftRegesters4-bitshiftregisterLeft/rightrotatorLeft/rightarithmeticshiftby1or85
飞翔的荷兰人_
·
2023-10-11 01:17
fpga开发
HDLbits
: ece241 2013 q12 // Exams/m2014 q4k
两道题目,有一样的问题:第一道:ece2412013q12下面的代码错误,一直没看出来哪里有问题:moduletop_module(inputclk,inputenable,inputS,inputA,B,C,outputZ);reg[7:0]q;dffdff_1(clk,enable,S,q[0]);dffdff_2(clk,enable,q[0],q[1]);dffdff_3(clk,enab
weixin_41004238
·
2023-10-11 01:46
fpga开发
HDLbits
--lemmings4
在前一题基础上修改,只有当fall状态才能转化为dead状态dead状态下输出全为0,直到复位。moduletop_module(inputclk,inputareset,//FreshlybrainwashedLemmingswalkleft.inputbump_left,inputbump_right,inputground,inputdig,outputwalk_left,outputwal
小天才dhsb
·
2023-10-09 16:10
fpga开发
HDLbits
--Lemmings1
根据题目描述:只要是碰到障碍物就会转向。moduletop_module(inputclk,inputareset,//FreshlybrainwashedLemmingswalkleft.inputbump_left,inputbump_right,outputwalk_left,outputwalk_right);////parameterLEFT=0,RIGHT=1,...parameter
小天才dhsb
·
2023-10-09 16:39
fpga开发
HDLbits
--lemmings3
moduletop_module(inputclk,inputareset,//FreshlybrainwashedLemmingswalkleft.inputbump_left,inputbump_right,inputground,inputdig,outputwalk_left,outputwalk_right,outputaaah,outputdigging);parameterleft=
小天才dhsb
·
2023-10-09 16:39
fpga开发
Verilog刷题
HDLBits
——Lemmings2
Verilog刷题
HDLBits
——Lemmings2题目描述代码结果题目描述Seealso:Lemmings1.Inadditiontowalkingleftandright,Lemmingswillfall
不会敲代码的研究生不是好空管
·
2023-10-09 16:09
fpga开发
Verilog刷题
HDLBits
——Lemmings4
Verilog刷题
HDLBits
——Lemmings4题目描述代码结果题目描述Seealso:Lemmings1,Lemmings2,andLemmings3.AlthoughLemmingscanwalk
不会敲代码的研究生不是好空管
·
2023-10-09 16:09
fpga开发
HDLbits
---Lemmings3
HDLbits
---Lemmings3作者说如果旅鼠在地面上(ground=1)并且挖掘信号为1,则它可以开始挖洞,一直挖,直到把地都挖穿了(ground=0),此时,旅鼠就掉下去了,并且发出大叫。
离离离谱
·
2023-10-09 16:39
verilog
HDLBits
练习——Lemmings2
Inadditiontowalkingleftandright,Lemmingswillfall(andpresumablygo“aaah!”)ifthegrounddisappearsunderneaththem.Inadditiontowalkingleftandrightandchangingdirectionwhenbumped,whenground=0,theLemmingwillfal
呆杏呀
·
2023-10-09 16:37
fpga开发
HDLBits
之Lemmings2
Seealso:Lemmings1.Inadditiontowalkingleftandright,Lemmingswillfall(andpresumablygo"aaah!")ifthegrounddisappearsunderneaththem.Inadditiontowalkingleftandrightandchangingdirectionwhenbumped,whenground=0
薄荷茶哈哈哈
·
2023-10-09 16:07
寒假爆肝fpga
fpga开发
HDLBits
练习 Lemmings2
Inadditiontowalkingleftandright,Lemmingswillfall(andpresumablygo"aaah!")ifthegrounddisappearsunderneaththem.Inadditiontowalkingleftandrightandchangingdirectionwhenbumped,whenground=0,theLemmingwillfal
han_shazi
·
2023-10-09 16:02
fpga开发
HDLBits
-Verilog题目-状态机FSM-Lemmings题目解法/答案
前两个题目较为简单,用二段式和三段式都可以。Lemmings3加了个digging,优先级介于fall和walk之间,和fall的区别在于:ground信号完全决定lemming会不会fall,而dig信号的作用是让它开始digging,停止digging需要ground为0三段式FSM,代码如下:moduletop_module(inputclk,inputareset,//Freshlybra
dddameng
·
2023-10-09 16:31
Verilog学习笔记
fpga开发
hdlbits
_Lemmings2
moduletop_module(inputclk,inputareset,//FreshlybrainwashedLemmingswalkleft.inputbump_left,inputbump_right,inputground,outputwalk_left,outputwalk_right,outputaaah);parameterWL=0,WR=1,AH_L=2,AH_R=3;reg[
德华的神兜兜
·
2023-10-09 16:01
verilog
HDLBits
--Lemmings2
题目:解析:在Lemmings1中增加了一个ground信号,ground为0时,小人会掉下去,ground为1时,小人会恢复到掉下去之前的向左向右状态。所以想到把掉下去分成,从向左掉下去和从向右掉下去。代码如下:moduletop_module(inputclk,inputareset,//FreshlybrainwashedLemmingswalkleft.inputbump_left,inp
bbbman7
·
2023-10-09 16:01
HDLBits
fpga开发
HDLBits
-Lemmings4
解析:Lemmings系列的最后一题。这题的要求是增加了一个死亡的判断,当向下坠落超过20个时钟周期,便会死亡,此时所有输出为0。需要增加一个计数器,最开始我把计数器和状态时序写在一个always块内,功能不知道为啥无法实现,输出没法置0,后面单独给计数器写个always块后可以实现。代码:moduletop_module( inputclk, inputareset, //Freshlyb
bbbman7
·
2023-10-09 16:01
HDLBits
fpga开发
HDLBits
问题--Lemmings
今日份刷题Lemmings1ThegameLemmingsinvolvescritterswithfairlysimplebrains.Sosimplethatwearegoingtomodelitusingafinitestatemachine.IntheLemmings'2Dworld,Lemmingscanbeinoneoftwostates:walkingleftorwalkingrigh
Sugirial
·
2023-10-09 16:31
fpga开发
HDLBits
-Lemmings1
ThegameLemmingsinvolvescritterswithfairlysimplebrains.Sosimplethatwearegoingtomodelitusingafinitestatemachine.IntheLemmings'2Dworld,Lemmingscanbeinoneoftwostates:walkingleftorwalkingright.Itwillswitch
N1..
·
2023-10-09 16:30
FPGA
fpga开发
HDLBits
-Fsm3
Seealso:StatetransitionlogicforthisFSMThefollowingisthestatetransitiontableforaMoorestatemachinewithoneinput,oneoutput,andfourstates.Implementthisstatemachine.IncludeanasynchronousresetthatresetstheFS
N1..
·
2023-10-09 16:00
fpga开发
HDLBits
-Lemmings2
Seealso:Lemmings1.Inadditiontowalkingleftandright,Lemmingswillfall(andpresumablygo"aaah!")ifthegrounddisappearsunderneaththem.Inadditiontowalkingleftandrightandchangingdirectionwhenbumped,whenground=0
N1..
·
2023-10-09 16:28
fpga开发
HDLbits
: Shift18
先补充一下算术移位寄存器和按位移位寄存器:SystemVerilog具有按位和算术移位运算符。按位移位只是将向量的位向右或向左移动指定的次数,移出向量的位丢失。移入的新位是零填充的。例如,操作8’b11000101<<2将产生值8’b00010100。按位移位将执行相同的操作,无论被移位的值是有符号的还是无符号的。算术左移位对有符号和无符号表达式执行与按位右移位相同的操作。算术右移位对“无符号”和
weixin_41004238
·
2023-10-08 21:51
fpga开发
HDLbits
: ece241 2014 q7a
题目的意思是子模块四位二进制改成十二进制计数,并且是1-12。因此初始的加载数据肯定为c_d=1,关键点在于什么时候load,即load的条件,首先当子模块输出达到12时(且此时enable要是1)肯定要load,用Q=12&enable条件判断,其次reset置位的时候也要load用reset=1条件判断moduletop_module(inputclk,inputreset,inputenab
weixin_41004238
·
2023-10-08 20:33
fpga开发
HDLbits
: ece241 2014 q7b
题目要求用10进制的BCD计数器来构造1000计数,其实也是将1000hz的时钟信号改造成1hz,我们首先计算出10的三次方等于1000,需要三个10进制的计数器,去计999的中高低位。最低位的计数器一直在对时钟信号计数,因此enable=1,中间位的计数器在最低位的计数器达到9时计数,因此enable=(Q1==9),最高位的计数器在中间位的计数器和最低位的计数器同时达到9时才计数。module
weixin_41004238
·
2023-10-08 20:33
fpga开发
HDLbits
: Countbcd
其实这道题目可以在上一道1000进制的基础上接着做。moduletop_module(inputclk,inputreset,//Synchronousactive-highresetoutput[3:1]ena,output[15:0]q);wire[3:0]Q1,Q2,Q3,Q4;assignena[1]=(Q1==9);assignena[2]=(Q2==9&&Q1==9);assignen
weixin_41004238
·
2023-10-08 20:33
fpga开发
HDLbits
: Count clock
目前写过最长的verilog代码,用了将近三个小时,编写12h显示的时钟,改来改去,估计只有我自己看得懂(吐血)moduletop_module(inputclk,inputreset,inputena,outputpm,output[7:0]hh,output[7:0]mm,output[7:0]ss);couter10couter10_1(clk,reset,ena,ss[3:0]);cout
weixin_41004238
·
2023-10-08 20:10
fpga开发
HDLbits
: Dualedge
FPGA没有双边缘触发触发器,@(posedgeclk或negedgeclk)会报错“FPGA(以及其他任何地方)上的触发器是一个具有一个时钟且仅对该时钟的一个边缘敏感的器件。”参考verilog为什么不能双边沿触发实现双边沿的两种方法moduletop_module(inputclk,inputd,outputq);rega,b;always@(posedgeclk)begina<=d;enda
weixin_41004238
·
2023-10-07 22:15
fpga开发
HDLBits
-Rule110
Rule110isaone-dimensionalcellularautomatonwithinterestingproperties(suchasbeingTuring-complete).Thereisaone-dimensionalarrayofcells(onoroff).Ateachtimestep,thestateofeachcellchanges.InRule110,thenexts
N1..
·
2023-10-06 20:19
FPGA
fpga开发
HDLBits
-Conwaylife
Conway'sGameofLifeisatwo-dimensionalcellularautomaton.The"game"isplayedonatwo-dimensionalgridofcells,whereeachcelliseither1(alive)or0(dead).Ateachtimestep,eachcellchangesstatedependingonhowmanyneighbo
N1..
·
2023-10-06 20:19
fpga开发
HDLBits
-Fsm1
ThisisaMoorestatemachinewithtwostates,oneinput,andoneoutput.Implementthisstatemachine.NoticethattheresetstateisB.Thisexerciseisthesameasfsm1s,butusingasynchronousreset.ModuleDeclarationmoduletop_modul
N1..
·
2023-10-06 20:48
FPGA
fpga开发
HDLbits
: Edgedetect
moduletop_module(inputclk,input[7:0]in,output[7:0]pedge);reg[7:0]in_old;always@(posedgeclk)beginin_old<=in;endassignpedge<=in&~in_old;endmodule对于边缘检测而言,若是0→1和1→0都检测则为in^in_old;若只检测0→1则为in&~in_old;若是只检
weixin_41004238
·
2023-10-06 17:31
fpga开发
HDLbits
: ece241 2014 q4
moduletop_module(inputclk,inputx,outputz);reg[2:0]Q;always@(posedgeclk)beginQ[0]<=Q[0]^x;Q[1]<=(~Q[1])&x;Q[2]<=(~Q[2])|x;z<=~(|Q[2:0]);//错误!!!!endendmodule正确答案:moduletop_module(inputclk,inputx,outputz
weixin_41004238
·
2023-10-06 17:29
fpga开发
HDLbits
:Dff16e
Create16Dflip-flops.It'ssometimesusefultoonlymodifypartsofagroupofflip-flops.Thebyte-enableinputscontrolwhethereachbyteofthe16registersshouldbewrittentoonthatcycle.byteena[1]controlstheupperbyted[15:8
weixin_41004238
·
2023-10-06 12:12
fpga开发
HDLbits
: Module addsub
moduletop_module(input[31:0]a,input[31:0]b,inputsub,output[31:0]sum);wirew1;add16add16_1(a[15:0],b[15:0]^{16{sub}},sub,sum[15:0],w1);add16add16_2(a[31:16],b[31:16]^{16{sub}},w1,sum[31:16],);endmodule注
weixin_41004238
·
2023-10-06 00:50
verilog学习
学习
HDLbits
: Mux9to1v
题目:Createa16-bitwide,9-to-1multiplexer.sel=0choosesa,sel=1choosesb,etc.Fortheunusedcases(sel=9to15),setalloutputbitsto'1'.我的答案:moduletop_module(input[15:0]a,b,c,d,e,f,g,h,i,input[3:0]sel,output[15:0]o
weixin_41004238
·
2023-10-06 00:50
verilog学习
学习
笔记
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他