当前位置: 首页 > news >正文

「HDLBits题解」Cellular automata

本专栏的目的是分享可以通过HDLBits仿真的Verilog代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益


题目链接:Rule90 - HDLBits

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

题目链接:Rule110 - HDLBits

module top_module(input clk,input load,input [511:0] data,output [511:0] q
);always @(posedge clk) beginif (load) beginq <= data;endelse beginq <= (((q[511:0] ^ {q[510:0], 1'b0}) & q[511:1]) | ((q[511:0] | {q[510:0], 1'b0}) & (~q[511:1])));endend
endmodule

题目链接:Conwaylife - HDLBits

module top_module(input clk,input load,input [255:0] data,output [255:0] q ); reg [255:0] q_next;reg [3:0] sum;always@(posedge clk) beginif(load)q <= data;else beginfor(int i=0; i<256; i++) begin  //使用阻塞赋值,使sum得出后在该时钟周期内q立即变化,而不需要等到下个周期。if(i == 0)  //左上角sum = q[1] + q[16] + q[17] + q[240] + q[241] + q[15] + q[31] + q[255];else if(i == 15)    //右上角sum = q[14] + q[16] + q[0] + q[240] + q[254] + q[30] + q[31] + q[255];else if(i == 240)   //左下角sum = q[0] + q[15] + q[239] + q[241] + q[1] + q[224] + q[225] + q[255];else if(i == 255)   //右下角sum = q[0] + q[15] + q[14] + q[224] + q[238] + q[240] + q[239] + q[254];else if(0<i & i<15) //上边界sum = q[i-1] + q[i+1] + q[i+15] + q[i+16] + q[i+17] + q[i+239] + q[i+240] + q[i+241];else if(i%16 == 0)  //左边界sum = q[i-1] + q[i+1] + q[i+15] + q[i+16] + q[i+17] + q[i-16] + q[i-15] + q[i+31];else if(i%16 == 15) //右边界sum = q[i-1] + q[i+1] + q[i+15] + q[i+16] + q[i-17] + q[i-16] + q[i-15] + q[i-31];else if(240<i & i<255)  //下边界sum = q[i-1] + q[i+1] + q[i-17] + q[i-16] + q[i-15] + q[i-239] + q[i-240] + q[i-241];else //非边界sum = q[i-1] + q[i+1] + q[i-17] + q[i-16] + q[i-15] + q[i+15] + q[i+16] + q[i+17];case(sum) //根据邻居数量判断次态2:q_next[i] = q[i];3:q_next[i] = 1;default:q_next[i] = 0;endcaseendq = q_next;endend
endmodule

相关文章:

「HDLBits题解」Cellular automata

本专栏的目的是分享可以通过HDLBits仿真的Verilog代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益 题目链接&#xff1a;Rule90 - HDLBits module top_module(input clk,input load,input [511:0] data,output [511:0] q );always (posedge clk) begin…...

什么是API ?

API&#xff08;应用程序编程接口&#xff09; 就像现成的家具套件相对于家居建设&#xff0c;用一些已经切好的木板组装一个书柜&#xff0c;显然比自己设计&#xff0c;寻找合适的木材&#xff0c;裁切至合适的尺寸和形状&#xff0c;找到正确尺寸的螺钉&#xff0c;然后再组…...

Pytest中conftest.py的用法

Pytest中conftest.py的用法 ​ 在官方文档中&#xff0c;描述conftest.py是一个本地插件的文件&#xff0c;简单的说就是在这个文件中编写的方法&#xff0c;可以在其他地方直接进行调用。 注意事项 只能在根目录编写conftest.py 插件加载顺序在搜集用例之前 基础用法 这里…...

java.lang.IllegalArgumentException: When allowCredentials is true

1.遇到的错误 java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a…...

vue折叠展开transition动画使用keyframes实现

需求&#xff0c;我正常的菜单功能有隐藏与显示功能&#xff0c;需要增加动画 打开的时候宽度从0到300&#xff0c;关闭的时候&#xff0c;宽度从300到0 <template> <div id"app"> <button click"toggleLength">Toggle Length</bu…...

书生·浦语大模型实战营-学习笔记5

LMDeploy 大模型量化部署实践 大模型部署背景 LMDeploy简介 轻量化、推理引擎、服务 核心功能-量化 显存消耗变少了 大语言模型是典型的访存密集型任务&#xff0c;因为它是decoder-by-decoder 先把数据量化为INT4存起来&#xff0c;算的时候会反量化为FP16 AWQ算法&a…...

10. Profile

1. 区分环境的配置 1.1. properties 配置 假设&#xff0c;一个应用的工作环境有&#xff1a;dev、test、prod 那么&#xff0c;我们可以添加 4 个配置文件&#xff1a; applcation.properties - 公共配置application-dev.properties - 开发环境配置application-test.proper…...

YOLO 自己训练一个模型

一、准备数据集 我的版本是yolov8 8.11 这个目录结构很重要 ultralytics-main | datasets|coco|train|val 二、训练 编写yaml 文件 # Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..] path…...

3.Eureka注册中心

3.Eureka注册中心 假如我们的服务提供者user-service部署了多个实例&#xff0c;如图&#xff1a; 大家思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f;有多个user-service实例地址&#xff0…...

基于springboot+vue的墙绘产品展示交易平台系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 研究背景…...

网络原理-初识(1)

目录 网络发展史 独立模式 网络互连 局域网LAN 广域网WAN 网络通信基础 IP地址 概念 格式 端口 概念 格式 认识协议 概念 作用 五元组 网络发展史 独立模式 独立模式:计算机之间相互独立; 网络互连 随着时代的发展,越来越需要计算机之间相互通信,共享软件和数…...

【GitHub项目推荐--人脸识别】【转载】

01 带有移动应用程序的人脸识别库 OpenFace 作为用于人脸识别的通用库&#xff0c;能够实现瞬态和移动人脸识别&#xff0c;目前在 GitHub 上斩获 14291 Star。以下为 LFW 数据集 Sylvestor Stallone 输入单个图像的流程。 项目地址&#xff1a;https://github.com/cmusatya…...

NLP自然语言处理介绍

自然语言处理&#xff08;NLP&#xff0c;Natural Language Processing&#xff09;是一门涉及计算机与人类语言之间交互的学科。它的目标是使计算机能够理解和生成人类语言&#xff0c;从而更好地处理和解析大量的文本数据。NLP不仅是人工智能领域中一个重要的分支&#xff0c…...

在线WebOffce在HTML/VUE/Electron纯前端网页编辑Office之打开Word后自动处于修订模式

在线办公协同办公过程中&#xff0c;对于老板给出的文档修改&#xff0c;如果在错别字方面都要自己一个个字去看的话也太浪费时间了&#xff0c;其实word上就有一个修订模式&#xff0c;可以帮助大家高效完成文档的修改&#xff0c;在线WebOffce在HTML/VUE/Electron纯前端网页编…...

thinkphp+vue+mysql旅游推荐攻略分享网站p0667

基于php语言设计并实现了旅游分享网站。该系统基于B/S即所谓浏览器/服务器模式&#xff0c;应用thinkphp框架&#xff0c;选择MySQL作为后台数据库。系统主要包括用户、景点信息、攻略分类、旅游攻略、门票购买、留言反馈、论坛管理、系统管理等功能模块。运行环境:phpstudy/wa…...

华为系统底层是用Java写的吗?和安卓的区别?

HarmonyOS&#xff08;鸿蒙操作系统&#xff09;是华为自主开发的分布式操作系统。下面是对HarmonyOS底层的详细介绍&#xff1a; 微内核架构&#xff1a;HarmonyOS采用了微内核架构&#xff0c;将核心服务和功能放在微内核中&#xff0c;而将其他应用服务放在用户空间中。这种…...

sql server 修改表前 先判断是否有这个列

IF NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME Users AND COLUMN_NAME userNum) BEGINALTER TABLE UsersADD userNum INT; END 在这个示例中&#xff1a; TABLE_NAME Users 表示我们正在检查Users这张表。COLUMN_NAME userNum 表示我们在查…...

解决网站高并发问题的策略?

解决网站高并发问题的策略 1.应用和数据服务分离&#xff1a;通过将应用和数据服务分离&#xff0c;可以降低数据库的负载压力&#xff0c;提高系统的可扩展性和稳定性。这种策略有助于提高系统的并发处理能力&#xff0c;满足大量用户的需求。 2.使用缓存技术&#xff1a;通过…...

浙政钉实现埋点(浙政钉-H5小程序应用采集开发手册)

浙政钉-H5&小程序应用采集开发手册 埋点代码分为:稳定性监控代码(Emas)和流量分析代码(A+)。稳定性监控代码(Emas)只需要在首页加入。流量分析代码(A+)每个页面都需要加入,但是可以写通用js,在其他页面引入。 适用范围 本文档适用于浙政钉业务web(H5)或小程序应…...

【笔记】Helm-4 最佳实践-3 模板

模板 最佳实践指南的这部分聚焦于模板。 templates/结构 template/目录结构应该如下&#xff1a; 1、如果生成YAML输出。模板文件应该有扩展名.yaml。扩展名是.tpl可用于生成非格式化内容的模板文件。 2、模板文件名称应该使用横杠符号&#xff08;my-example-configmap.yam…...

DeerFlow效果展示:自动生成的深度研究报告与播客内容惊艳分享

DeerFlow效果展示&#xff1a;自动生成的深度研究报告与播客内容惊艳分享 1. DeerFlow核心能力概览 DeerFlow作为一款深度研究智能助手&#xff0c;整合了语言模型、网络搜索和代码执行能力&#xff0c;能够自动完成从信息收集到内容生成的全流程工作。其核心功能亮点包括&am…...

李慕婉-仙逆-造相Z-Turbo AI核心原理科普:如何用Transformer理解并生成人类语言

李慕婉-仙逆-造相Z-Turbo AI核心原理科普&#xff1a;如何用Transformer理解并生成人类语言 你有没有想过&#xff0c;当你和“李慕婉-仙逆-造相Z-Turbo”这样的AI模型对话时&#xff0c;它到底是怎么“听懂”你的话&#xff0c;又“想”出那些回答的&#xff1f;它不像我们人…...

告别轮询!用STM32F407的USART3+DMA+空闲中断实现高效串口数据接收

STM32F407高效串口通信&#xff1a;USART3DMA空闲中断实战指南 在嵌入式开发中&#xff0c;串口通信是最基础也最常用的外设之一。传统的中断接收方式虽然简单&#xff0c;但在高速或大数据量传输时&#xff0c;频繁的中断响应会显著增加CPU负担&#xff0c;甚至导致数据丢失。…...

GHelper:华硕笔记本的轻量级性能管理解决方案

GHelper&#xff1a;华硕笔记本的轻量级性能管理解决方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and …...

ANIMATEDIFF PRO教学创新:Jupyter Notebook交互式教程

ANIMATEDIFF PRO教学创新&#xff1a;Jupyter Notebook交互式教程 让AI动画学习变得像玩游戏一样有趣&#xff0c;实时调整参数&#xff0c;即刻看到效果变化 1. 引言&#xff1a;为什么需要交互式动画教学&#xff1f; 传统的AI动画教学有个痛点&#xff1a;学生写了一大段代…...

消费增值生态:从规则设计到商业价值实现

还在为用户复购低、留存弱、平台难长效而困扰&#xff1f;当多数商家还困在传统经营思路里止步不前&#xff0c;一套依托真实消费、贴合政策导向的增值生态已然崛起。它以合规为底、以价值为核、以闭环为骨架&#xff0c;正在重新定义平台与商家的增长逻辑&#xff0c;成为数字…...

软考缺考率超 50%?学长扒一扒易弃考的 7 类人,弃考后果别忽视

考软考的小伙伴应该都发现了一个现象&#xff1a;每次报名的人乌泱泱一大片&#xff0c;但真正走进考场的人却少了一大半&#xff0c;部分地区的缺考率甚至直接超了 50%。作为考过软考的学长&#xff0c;今天就跟大家好好聊聊&#xff0c;那些最后放弃考试的人&#xff0c;大多…...

【独家首发】基于eBPF+Java Agent+Istio Telemetry V2的零侵入式调试框架(已落地金融级生产环境,QPS>50K场景验证)

第一章&#xff1a;零侵入式调试框架的演进逻辑与金融级落地价值传统调试方式依赖代码埋点、日志增强或代理注入&#xff0c;不仅增加系统耦合度&#xff0c;更在高敏感、强一致性的金融核心系统中引入不可控风险。零侵入式调试框架应运而生——它不修改业务字节码、不依赖特定…...

ESP8266高精度脉冲计数波形发生器库

1. 项目概述esp8266_waveformPulseCounter是一款面向 ESP8266 平台的高精度脉冲计数型波形发生器库&#xff0c;其核心设计目标是在硬件级精确控制下生成指定脉冲数量的方波/矩形波信号&#xff0c;并在计数完成时触发用户定义的回调动作。该库并非通用波形合成工具&#xff0c…...

Vue3+Three.js实战:拆解Xtreme1点云标注工具的技术架构

Vue3Three.js深度实战&#xff1a;构建工业级3D点云标注工具的技术解析 在自动驾驶、工业检测和机器人视觉领域&#xff0c;3D点云标注工具正成为AI训练数据生产的核心基础设施。Xtreme1作为开源多模态标注平台的代表&#xff0c;其pc-tool模块采用Vue3Three.js技术栈实现了专…...