挺早以前就刷了里面一些题,结果不知道为啥登录账号刷题记录又没了,强迫症又让我不想从中间开始刷。既然如此,那就从头开始刷吧。QWQ Stepone 第一题,没啥好说的。 moduletop_module(outputone); //Insertyourcodehere assignone=1'b1; endmodule Zero 同样没啥好说的。 moduletop_module( outputzero );//Modulebodystartsaftersemicolon assignzero=1'b0; endmodule Wire assign赋值。 moduletop_mod...

  SpwcTktXWK0M   2023年11月02日   64   0   0 Verilog

Vector0 向量赋值。 moduletop_module( inputwire[2:0]vec, outputwire[2:0]outv, outputwireo2, outputwireo1, outputwireo0);//Modulebodystartsaftermoduledeclaration assignoutv=vec; assigno2=vec[2]; assigno1=vec[1]; assigno0=vec[0]; endmodule Vector1 注意使用未声明的接口会隐式地生成一个1bit的wire变量,加一个`default_nettypenone可以不隐式...

  SpwcTktXWK0M   2023年11月02日   35   0   0 Verilog

Module 模块例化的两种方式:按端口位置例化、按端口名例化。 moduletop_module(inputa,inputb,outputout); mod_ainstance1( .in1(a), .in2(b), .out(out)); endmodule Modulepos 按端口顺序例化。 moduletop_module( inputa, inputb, inputc, inputd, outputout1, outputout2 ); mod_ainst(out1,out2,a,b,c,d); endmodule Modulename 按端口名例化 moduletop_...

  SpwcTktXWK0M   2023年11月02日   99   0   0 Verilog

Alwaysblock1 组合逻辑always块的使用,注意这里的wire和reg综合出来的结果是一样的,这里只是verilog语法导致二者声明不一样。 //synthesisverilog_input_versionverilog_2001 moduletop_module( inputa, inputb, outputwireout_assign, outputregout_alwaysblock ); assignout_assign=a&b; always@() begin out_alwaysblock=a&b; end endmodule Alwaysbloc...

  SpwcTktXWK0M   2023年11月02日   49   0   0 Verilog

Conditional 使用三目运算符可以实现一个数据选择器,可以替代if语句,不过:?可读性较差,复杂逻辑还是推荐用if。 注意这道题中间变量的定义,不定义中间变量表达式会变得十分复杂且可读性差。   moduletop_module( input[7:0]a,b,c,d, output[7:0]min);// //assignintermediate_result1=compare?true:false; wire[7:0]min_1,min_2; assignmin_1=a>b?b:a; assignmin_2=min_1>c?c:min_1; assignmi...

  SpwcTktXWK0M   2023年11月02日   68   0   0 Verilog

Exams/m2014q4h moduletop_module( inputin, outputout); assignout=in; endmodule Exams/m2014q4i moduletop_module( outputout); assignout=1'b0; endmodule Exams/m2014q4e moduletop_module( inputin1, inputin2, outputout); assignout=!(in1|in2); endmodule Exams/m2014q4f moduletop_module( inputin1, inpu...

  SpwcTktXWK0M   2023年11月02日   84   0   0 Verilog

Mux2to1 moduletop_module( inputa,b,sel, outputout); assignout=sel?b:a; endmodule Mux2to1v 100位和1位的是一样的。 moduletop_module( input[99:0]a,b, inputsel, output[99:0]out); assignout=sel?b:a; endmodule Mux9to1v 一个case语句就可以解决,这里默认值用的:out=‘1;这里就可以把一个数的所有位都置为1,0、x、z也可以这样用,作者说喜欢赋一个初值,我好像更喜欢用一个defaultcase,h...

  SpwcTktXWK0M   2023年11月02日   44   0   0 Verilog

Kmap1 化简卡诺图即可。 moduletop_module( inputa, inputb, inputc, outputout); assignout=b|c|a; endmodule Kmap2 我是这样化简的。 moduletop_module( inputa, inputb, inputc, inputd, outputout); assignout=(a&d)|(b&c)|(a&b&d)|(b&c&d); endmodule Kmap3 这里d代表的是无关项,要不要圈起来都可以。 moduletop_module( in...

  SpwcTktXWK0M   2023年11月02日   50   0   0 Verilog

Dff 这一节终于开始时序电路了。首先是一个用的最多的D触发器。 moduletop_module( inputclk,//Clocksareusedinsequentialcircuits inputd, outputregq);// //Useaclockedalwaysblock //copydtoqateverypositiveedgeofclk //Clockedalwaysblocksshouldusenon-blockingassignments always@(posedgeclk) begin q<=d; end endmodule Dff8 8位D触发器,写法...

  SpwcTktXWK0M   2023年11月02日   66   0   0 Verilog

Count15 moduletop_module( inputclk, inputreset,//Synchronousactive-highreset output[3:0]q); always@(posedgeclk) begin if(reset) q<=4'd0; else q<=q+1'b1; end endmodule Count10 题目给的答案把q清零和reset放在了一个if里if(reset||q9)。 moduletop_module( inputclk, inputreset,//Synchronousactive-highreset output[3...

  SpwcTktXWK0M   2023年11月02日   59   0   0 Verilog

Shift4 异步复位同步置数和使能。 moduletop_module( inputclk, inputareset,//asyncactive-highresettozero inputload, inputena, input[3:0]data, outputreg[3:0]q); always@(posedgeclkorposedgeareset) begin if(areset) q<='d0; elseif(load) q<=data; elseif(ena) q<={1'b0,q[3:1]}; end endmodule Rotate100 循环移位,通过...

  SpwcTktXWK0M   2023年11月02日   58   0   0 Verilog

Rule90 第一次见这东西有点莫名其妙,但是其实看懂了之后就是左移和右移相异或,注意这里使用的是逻辑右移,会自动补零,不能使用算数左移<<<。 moduletop_module( inputclk, inputload, input[511:0]data, outputreg[511:0]q); always@(posedgeclk) begin if(load) q<=data; elsebegin q<=(q<<1)^(q>>1); end end endmodule Rule110 Rule90可以直接根据Left和Right异...

  SpwcTktXWK0M   2023年11月02日   66   0   0 Verilog

Fsm1  这里需要实现一个简单的摩尔状态机,即输出只与状态有关的状态机。 我这里代码看上去比长一点,答案用的case和三目运算符,结果是一样的。 moduletop_module( inputclk, inputareset,//AsynchronousresettostateB inputin, outputout);// parameterA=0,B=1; regstate,next_state; always@()begin//Thisisacombinationalalwaysblock if(stateA)begin if(in1) next_state=A; el...

  SpwcTktXWK0M   2023年11月02日   95   0   0 Verilog

Exams/review2015count1k 计数到999再清零即可。 moduletop_module( inputclk, inputreset, outputreg[9:0]q); always@(posedgeclk) begin if(reset) q<='d0; else q<=(q<10'd999)?(q+1'b1):'d0; end endmodule Exams/review2015shiftcount 电路有两种状态:移位和向下计数,这里计到0是可以继续计的,不用做特殊处理。 moduletop_module( inputclk, inputs...

  SpwcTktXWK0M   2023年11月02日   29   0   0 Verilog

Bugsmux2 原本代码的逻辑是反的,这不是坑人吗。 moduletop_module( inputsel, input[7:0]a, input[7:0]b, output[7:0]out); assignout=({8{sel}}&a)|({8{sel}}&b); endmodule Bugsnand3 五输入的与门现在要实现三输入的与非门,多余的门可以输入1并将输出取反。 moduletop_module(inputa,inputb,inputc,outputout);// wireout_n; andgateinst1(out_n,a,b,c,1'b1,1...

  SpwcTktXWK0M   2023年11月02日   74   0   0 Verilog

Sim/circuit1 从波形不难看出ab是相与的关系。 moduletop_module( inputa, inputb, outputq);// assignq=a&b;//Fixme endmodule Sim/circuit2    根据波形图可以画出卡诺图并且之前有写过这个卡诺图的逻辑表达式,不难看出相邻逻辑输出会取反,所以这个是一个四变量的异或,0000输出为1,所以还要再取反。 moduletop_module( inputa, inputb, inputc, inputd, outputq);// assignq=(a^b^c^d);...

  SpwcTktXWK0M   2023年11月02日   46   0   0 Verilog

Tb/clock 这题要求给dut模块一个时钟。 moduletop_module(); regclk; always5clk=clk; initialbegin clk=0; end dutu0(clk); endmodule Tb/tb1 产生指定的波形,使用延时语句给信号赋值即可。 moduletop_module(outputregA,outputregB);// //generateinputpatternshere initialbegin A=0; B=0; 10A=1; 5B=1; 5A=0; 20B=0; end endmodule Tb/and 题目要求对一个...

  SpwcTktXWK0M   2023年11月02日   44   0   0 Verilog

VL1 四选一多路器 `timescale1ns/1ns modulemux4_1( input[1:0]d1,d2,d3,d0, input[1:0]sel, output[1:0]mux_out ); //code// assignmux_out=(sel0)?d3: ((sel1)?d2: ((sel2)?d1: d0)); //code// endmodule VL2 异步复位的串联T触发器 题目已经提示了是两个串联的T触发器,只要记得T触发器在输入高电平时,输出翻转即可。 `timescale1ns/1ns moduleTff_2( inputwiredat...

  SpwcTktXWK0M   2023年11月02日   39   0   0 Verilog

VL11 4位数值比较器电路 根据题目真值表把情况全部列出来,纯体力活。 `timescale1ns/1ns modulecomparator_4( input[3:0]A, input[3:0]B, outputwireY2,//A>B outputwireY1,//A=B outputwireY0//A<B ); assignY2=(A[3]&B[3])||((A[3]^B[3])&&(A[2]&B[2]))||((A[3]^B[3])&&(A[2]^B[2])&&(A[1]&B[1]))|...

  SpwcTktXWK0M   2023年11月02日   50   0   0 Verilog

VL21 根据状态转移表实现时序电路 写一个简单的Moore状态机就可以了,太短就懒得写三段式了。 `timescale1ns/1ns moduleseq_circuit( inputA, inputclk, inputrst_n, outputwireY ); reg[1:0]state; always@(posedgeclkornegedgerst_n) begin if(rst_n) state<=0; elsebegin case(state) 0:state<=A?3:1; 1:state<=A?0:2; 2:state<=A?1:3; 3:...

  SpwcTktXWK0M   2023年11月02日   50   0   0 Verilog
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~