首页 > 其他分享 >HDLBits_Conwaylife

HDLBits_Conwaylife

时间:2023-08-28 20:12:35浏览次数:36  
标签:load begin 15 16 HDLBits Conwaylife input

 1 module Conwaylife (
 2     input clk,
 3     input load,
 4     input [255:0] data,
 5     output reg [255:0] q
 6 );
 7 
 8   reg [3:0] w, r, c;
 9 
10   always @(posedge clk) begin
11     if (load) begin
12       q <= data;
13     end else begin
14       for (integer i = 0; i < $bits(q); i++) begin
15         r = i >> 4; // 注意不要使用阻塞赋值
16         c = i % 16;
17 
18         w = q[16*((15+r)%16)   +   (15+c)%16  ] + 
19             q[16*((15+r)%16)   +   c          ] + 
20             q[16*((15+r)%16)   +   (1+c)%16   ] + 
21             q[16*r             +   (15+c)%16  ] +  
22             q[16*r             +   (1+c)%16   ] + 
23             q[16*((1+r)%16)    +   (15+c)%16  ] + 
24             q[16*((1+r)%16)    +   c          ] + 
25             q[16*((1+r)%16)    +   (1+c)%16   ];
26 
27         if (w == 2) begin
28           q[i] <= q[i];
29         end else if (w == 3) begin
30           q[i] <= 1;
31         end else begin
32           q[i] <= 0;
33         end
34 
35       end
36     end
37   end
38 
39 endmodule

 

标签:load,begin,15,16,HDLBits,Conwaylife,input
From: https://www.cnblogs.com/deweii/p/17663279.html

相关文章

  • HDLBits_6.25
    4.验证:读取模拟4.1查找代码中的错误4.1.1多用复路器(2_1_Mux)//Wrongmoduletop_module(inputsel,input[7:0]a,input[7:0]b,outputout);assignout=(~sel&a)|(sel&b);endmodule//Right:out位宽不对,表达式不对moduletop_modul......
  • HDLBits(16)4.18
    3电路3.2时序逻辑3.2.2计数器 Count1to10(Decadecounteragain)与上题一样,区别是复位为1moduletop_module(inputclk,inputreset,output[3:0]q);always@(posedgeclk)beginif(reset)q<=4'b0001......
  • HDLBits(1)——Modules:Hierarchy
    HDLBits——Modules:Hierarchy目录HDLBits——Modules:Hierarchy问题19Module将信息连接到端口BypositionByname问题20Connectingportsbyposition(Modulepos)问题21Connectingportsbyname(Modulename)问题22Threemodules(Moduleshift)问题23Modulesandvectors(Mod......
  • HDLBits(15)3.9
    3电路3.2时序逻辑3.2.1锁存器与触发器(LatchesandFlip-Flops)CreatecircuitfromtruthtableJK触发器的真值表如下图所示,仅使用D触发器和门电路来实现该JK触发......
  • HDLBits(13)2.24
    3电路3.1组合逻辑3.1.4卡诺线路图(KarnaughMaptoCircuit)Kmap1(3-variable)out=a+ab+ac=a&(a^b)&(a^c)=a|b|c moduletop_module(inpu......
  • HDLBits(11)2.17
    3电路3.1组合逻辑3.1.1基础门Ringorvibrate(静音)若手机处于震动模式则振动(motor),否则打开铃声(Ringer)assignringer=ring&(~vibrate_mode);assignmotor=ri......
  • HDLBits(9)10.13
    2Verilog语言2.5更多特点2.5.4组合for循环翻转输出一个长度为100的向量(使用组合always块)moduletop_module(input[99:0]in,output[99:0]out);......
  • HDLBits--Verilog习题记录5
    此题目较难,本文代码也是借鉴别人才完全理解。题目编号:verification:readingsimulations->buildacircuitfromasimulationwaveform->sequentialcircuit10题目描述......
  • HDLBits--Verilog习题记录4
    4.Circuits---SequentialLogic---LatchesandFlip-Flops----Edgecaptureregister问题描述:Foreachbitina32-bitvector,capturewhentheinputsignalchanges......
  • HDLBits--Verilog习题记录3
    3.Circuits---SequentialLogic---LatchesandFlip-Flops----Detectanedge问题描述:Foreachbitinan8-bitvector,detectwhentheinputsignalchangesfrom0......