首页 > 其他分享 >Rule 90

Rule 90

时间:2024-04-12 16:22:06浏览次数:24  
标签:load clk module Rule input 511 90

Rule 90 is a one-dimensional cellular automaton with interesting properties.

The rules are simple. There is a one-dimensional array of cells (on or off). At each time step, the next state of each cell is the XOR of the cell's two current neighbours. A more verbose way of expressing this rule is the following table, where a cell's next state is a function of itself and its two neighbours:

规则 90 是一个具有有趣属性的一维元胞自动机。

规则很简单。有一个一维单元格数组(打开或关闭)。在每个时间步中,每个单元的下一个状态是单元的两个当前邻居的异或。下表是表达此规则的更详细的方式,其中单元格的下一个状态是其自身及其两个相邻单元的函数:
a
题目网站

module top_module(
    input clk,
    input load,
    input [511:0] data,
    output [511:0] q ); 
    integer i;
    always@(posedge clk)begin
        if(load)begin
            q<=data;
        end
        else begin
            q<={1'b0,q[511:1]}^{q[510:0],1'b0};
        end
    end
endmodule

这个写法画一个图方便理解,是从整体出发的写法:
啊
从这个图可以看出q<={1'b0,q[511:1]}^{q[510:0],1'b0};中第一位0b就是原数列a的左右两位的异或,第二位ac就是原数列b的左右两位的异或……依此类推可得。

下面提供另一种写法:

module top_module(
    input clk,
    input load,
    input [511:0] data,
    output [511:0] q ); 
	always @(posedge clk ) begin
        if(load)begin
            q <= data; 
        end
        else begin
            q <= (q<<1)^(q>>1);
        end
    end
endmodule

这个写法用q <= (q<<1)^(q>>1);,写的更直观。

标签:load,clk,module,Rule,input,511,90
From: https://www.cnblogs.com/jzzg/p/18131559

相关文章

  • golang实现R6900路由器外网IP更新通知程序
    程序一分钟执行一次,检测路由器外网IP地址变更则自动发送邮件,使用网易126smtp协议发送邮件,邮箱地址及授权码请自行替换,getIp函数中的grep根据自己的网卡信息调试替换R6900路由器的交叉编译语句:CGO_ENABLED=0GOOS=linuxGOARCH=armGOARM=5gobuildxxxx.go1234567......
  • Cisco Nexus 9000 Series Switches, NX-OS Standalone 10.4(3)F and ACI Mode 16.0(5h
    CiscoNexus9000SeriesSwitches,NX-OSStandalone10.4(3)FandACIMode16.0(5h)includeApplicationPolicyInfrastructureController(APIC)Release6.0(5h)请访问原文链接:CiscoNexus9000SeriesSwitches,NX-OSStandalone10.4(3)FandACIMode16.0(5h),查看最......
  • CF1907B YetnotherrokenKeoard 题解
    比较简单,建议评橙。题面。思路对于每个给定的字符串,用两个大根堆来分别记录小写字母与大写字母,注意这里记录时不要记录大写的B和小写的b。每当出现一个B时,从记录大写字母的大根堆中取出目前最后录入的大写字母的位置,标记,接着弹出堆顶元素,标记。小写字母同理。以上操作在......
  • CF1909C Heavy Intervals 题解
    一种似乎更快抽象的解法?题面正文看这道题,给定序列\(l,r,c\),要求重构\(l,r,c\)使得\(\sum_{i=1}^n(r_i-l_i)\timesc_i\)最小。首先可以想到的就是尽量让小的\(r_i-l_i\)乘上大的\(c_i\)。这样子看来\(c_i\)几乎不需要更多的处理,仅需从小到大(或从大到小)排个序。来......
  • ADS1299模拟前端(AFE)代替料LHE7909
    今天我和大家分享一颗国产可以代替ADS1299的料——LHE7909,这是一颗由领慧立芯设计生产的一款具备颅外脑电图(EEG)和心电图(ECG)应用所需的全部常用功能的模拟前端芯片,并且凭借其高集成度和出色的性能,能够创建多种可扩展的医疗仪器系统,而尺寸,功耗和总成本却大大降低。以下是详......
  • 抗抑郁研究的设备——KT-0890大小鼠强迫游泳桶
    大小鼠强迫游泳桶硬件是一种专门设计用于抗抑郁研究的设备。它主要用于模拟实验动物在无法逃避的压力环境中的行为反应,以研究和评估抗抑郁yao物的效果。这一设备适用于大鼠、小鼠以及其他实验室动物,通过提供一个无可回避的压迫环境,来观察和记录动物的行为表现。在进行实验时,实......
  • MySQL Ruler mysql 日常开发规范
    拓展阅读MySQLViewMySQLtruncatetable与delete清空表的区别和坑MySQLRulermysql日常开发规范MySQLdatetimetimestamp以及如何自动更新,如何实现范围查询MySQL06mysql如何实现类似oracle的mergeintoMySQL05MySQL入门教程(MySQLtutorialbook)MySQL04-E......
  • 高通芯片平台进9008端口
    https://blog.csdn.net/u013795543/article/details/119640205 1、通过下面adb 命令进入adbrebootedl 2、上面adb命令进入9008失败的话,设备关机,通融过usb线连上电脑,同时按住音量上键、音量下键和电源键一会,即可进入9008模式附上进入9008成功的电脑端口截图: ......
  • mysql5.7迁移到8,如何解决问题 Illegal mix of collations (utf8mb4 general ci,IMPLIC
    SHOWVARIABLESLIKE'%character%';SHOWVARIABLESLIKE'collation%';showvariableswhereVariable_namelike'collation%';showvariableswhereVariable_nameLIKE'collation%'orVariable_nameLIKE'character_......
  • 模拟心电芯片LHE7909兼容代替ADS1291
    在大时代的浪潮下,以美国为首的欧美企业,对于中国实施制裁,不仅导致了局势的紧张,也导致了近年来芯片市场的混乱,部分进口芯片一度价格攀升。以心电芯片为例,高精度的ECG信号是医生用来准确判断用户心脏健康的依据。此类专用芯片技术门槛较高,目前主要被国外如TI,ADI等巨头公司垄断。......