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

基于微信的网站开发关键词优化技巧有哪些

基于微信的网站开发,关键词优化技巧有哪些,外贸经常用的网站,公司宣传彩页设计模板注:以下所有配置在Ubuntu22.04笔记本中运行 chisel模板构建 复制项目模板文件 git clone https://github.com/schoeberl/chisel-examples.git安装vscode插件Metals 打开顶层目录,并设置为项目文件夹 打开终端输入 tree -L 3 # 查看三层目录结构得到…

注:以下所有配置在Ubuntu22.04笔记本中运行

chisel模板构建

复制项目模板文件

git clone https://github.com/schoeberl/chisel-examples.git

安装vscode插件Metals
打开顶层目录,并设置为项目文件夹
打开终端输入

tree -L 3		# 查看三层目录结构

得到如下目录结构(helloworld文件夹示例下的结构)

$ tree -L 3
.
├── build.sbt
├── Makefile
├── quartus
│   ├── altde0
│   │   ├── hello.qpf
│   │   └── hello.qsf
│   ├── altde1
│   │   ├── hello.qpf
│   │   └── hello.qsf
│   ├── altde2-115
│   │   ├── hello.qpf
│   │   └── hello.qsf
│   ├── bemicro
│   │   ├── hello.cdf
│   │   ├── hello.qpf
│   │   ├── hello.qsf
│   │   └── hello.sdc
│   ├── bemicro_cv_a9
│   │   ├── hello.cdf
│   │   ├── hello.qpf
│   │   ├── hello.qsf
│   │   └── hello.sdc
│   └── de10-nano
│       ├── hello.cdf
│       ├── hello.qpf
│       └── hello.qsf
├── README.md
├── src
│   ├── main
│   │   └── scala
│   └── test
│       └── scala
├── verilog
│   └── hello_top.v
└── vivado├── arty-a7-100│   ├── Arty-A7-100-Master.xdc│   ├── project.tcl│   └── README.md└── basys3├── Basys-3-Master.xdc├── project.tcl└── README.md16 directories, 27 files

在./src/main目录下定义模块文件
在./src/test目录下编写test测试文件
在./verilog目录下生成相应的Verilog代码

一个简单的chisel案例

在./src/main目录下定义自动售货机的chisel样例

import chisel3._
import chisel3.util._class FSM extends Module{val io = IO(new Bundle{val coin_one    =   Input(Bool())	// 由于均为1bit数据,这里使用的数据类型为布尔类型,等效为 val coin_one = Input(Uint(1.W))val coin_half   =   Input(Bool())val coin_back   =   Output(Bool())val water       =   Output(Bool())})
val s_idle :: s05 :: s10 :: s15 :: s_ok :: Nil = Enum(5)		// 建立状态机列表
val current_state = RegInit(s_idle)								// 定义初态(初始化)// 使用switch函数完成状态机的构建
switch(current_state) {is(s_idle) {when(io.coin_half) {current_state := s05}when(io.coin_one)  {current_state := s10}}is(s05) {when(io.coin_half) {current_state := s10}when(io.coin_one)  {current_state := s15}}is(s10) {when(io.coin_half) {current_state := s15}when(io.coin_one)  {current_state := s_ok}}is(s15) {when(io.coin_half) {current_state := s_ok}when(io.coin_one)  {current_state   :=  s_ok}}is(s_ok) {current_state := s_idle}
}
io.water := (current_state === s_ok)
io.coin_back := (current_state === s15 & io.coin_one === true.B)
}/* An object extending App to generate the Verilog code*/
object FSM extends App {			// 生成相应的Verilog代码
// 这里设置生成Verilog的目录位置(new chisel3.stage.ChiselStage).emitVerilog(new FSM(), Array("--target-dir", "./verilog/FSM"))
}

生成Verilog代码

在主目录下输入

make		# 此处等效于sbt run

选择顶层项目

$ make
sbt run
[info] welcome to sbt 1.9.7 (Private Build Java 17.0.9)
[info] loading settings for project hello-world-build-build from metals.sbt ...
[info] loading project definition from /home/wzm/Graduation Design/task/HyGCN Accelerator/chisel_try_nouse/chisel-examples/hello-world/project/project
[info] loading settings for project hello-world-build from metals.sbt ...
[info] loading project definition from /home/wzm/Graduation Design/task/HyGCN Accelerator/chisel_try_nouse/chisel-examples/hello-world/project
[success] Generated .bloop/hello-world-build.json
[success] Total time: 1 s, completed 2024年1月15日 下午3:15:28
[info] loading settings for project hello-world from build.sbt ...
[info] set current project to hello-world (in build file:/home/wzm/Graduation%20Design/task/HyGCN%20Accelerator/chisel_try_nouse/chisel-examples/hello-world/)Multiple main classes detected. Select one to run:[1] FSM[2] Hello[3] muxEnter number: 1		# 此处进行主项目的选择
[info] running FSM 
[success] Total time: 34 s, completed 2024年1月15日 下午3:16:02

在./verilog目录下查看生成的代码
一共是三个文件
—FSM.V
—FSM.fir
—FSM.anno.json
这里只关心FSM.v
生成代码如下:

module FSM(input   clock,input   reset,input   io_coin_one,input   io_coin_half,output  io_coin_back,output  io_water
);
`ifdef RANDOMIZE_REG_INITreg [31:0] _RAND_0;
`endif // RANDOMIZE_REG_INITreg [2:0] current_state; // @[FSM.scala 12:28]wire [2:0] _GEN_2 = io_coin_half ? 3'h2 : current_state; // @[FSM.scala 12:28 19:{28,43}]wire [2:0] _GEN_4 = io_coin_half ? 3'h3 : current_state; // @[FSM.scala 12:28 23:{28,43}]wire [2:0] _GEN_5 = io_coin_one ? 3'h4 : _GEN_4; // @[FSM.scala 24:{28,43}]wire [2:0] _GEN_6 = io_coin_half ? 3'h4 : current_state; // @[FSM.scala 12:28 27:{28,43}]wire [2:0] _GEN_7 = io_coin_one ? 3'h4 : _GEN_6; // @[FSM.scala 28:28 29:29]wire [2:0] _GEN_8 = 3'h4 == current_state ? 3'h0 : current_state; // @[FSM.scala 13:23 33:23 12:28]wire [2:0] _GEN_9 = 3'h3 == current_state ? _GEN_7 : _GEN_8; // @[FSM.scala 13:23]assign io_coin_back = current_state == 3'h3 & io_coin_one; // @[FSM.scala 37:40]assign io_water = current_state == 3'h4; // @[FSM.scala 36:28]always @(posedge clock) beginif (reset) begin // @[FSM.scala 12:28]current_state <= 3'h0; // @[FSM.scala 12:28]end else if (3'h0 == current_state) begin // @[FSM.scala 13:23]if (io_coin_one) begin // @[FSM.scala 16:28]current_state <= 3'h2; // @[FSM.scala 16:43]end else if (io_coin_half) begin // @[FSM.scala 15:28]current_state <= 3'h1; // @[FSM.scala 15:43]endend else if (3'h1 == current_state) begin // @[FSM.scala 13:23]if (io_coin_one) begin // @[FSM.scala 20:28]current_state <= 3'h3; // @[FSM.scala 20:43]end else begincurrent_state <= _GEN_2;endend else if (3'h2 == current_state) begin // @[FSM.scala 13:23]current_state <= _GEN_5;end else begincurrent_state <= _GEN_9;endend
// Register and memory initialization
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE_MEM_INITinteger initvar;
`endif
`ifndef SYNTHESIS
`ifdef FIRRTL_BEFORE_INITIAL
`FIRRTL_BEFORE_INITIAL
`endif
initial begin`ifdef RANDOMIZE`ifdef INIT_RANDOM`INIT_RANDOM`endif`ifndef VERILATOR`ifdef RANDOMIZE_DELAY#`RANDOMIZE_DELAY begin end`else#0.002 begin end`endif`endif
`ifdef RANDOMIZE_REG_INIT_RAND_0 = {1{`RANDOM}};current_state = _RAND_0[2:0];
`endif // RANDOMIZE_REG_INIT`endif // RANDOMIZE
end // initial
`ifdef FIRRTL_AFTER_INITIAL
`FIRRTL_AFTER_INITIAL
`endif
`endif // SYNTHESIS
endmodule
http://www.wangmingla.cn/news/146478.html

相关文章:

  • 如何在网上做网站网络广告的发布方式包括
  • 深圳定制建站网站建设小程序生成平台系统
  • 做网站都有什么成本seo优化评论
  • 电销精准客户数据资源济南seo整站优化价格
  • 东莞建设网站的位置网站排名怎么做上去
  • 创办网站域名百度竞价推广开户多少钱
  • 中学生怎么做网站如何做一个营销方案
  • 青岛外贸网站运营哪家好如何做平台推广赚钱
  • wordpress文本框代码seo整站优化技术培训
  • 蔬菜类网站建设规划书谷歌网页版
  • 广州市安全教育平台上海seo推广平台
  • h5做的网站2345王牌浏览器
  • 宁波网站推广专业的建站优化公司搜狗网站收录提交入口
  • 网站展现形式怎么策划一个营销方案
  • 惠州市seo网站设计网站你应该明白我的意思吗
  • 二手网站怎么做怎么出售友情链接
  • wordpress 批量导入绍兴百度推广优化排名
  • vue手机网站开发今日头条十大新闻最新
  • 大神自己做的下载音乐的网站百度竞价账户
  • 2022建站市场产品如何做线上推广
  • 网站源码 com大全看书网站排名
  • 深圳市住建局网站官网游戏推广员
  • 手机和网站页面模板电子商务网站有哪些?
  • 国内免费注册域名怎么关键词优化网站
  • 有好点的做网站的公司吗seo搜索引擎优化推广
  • 福州建站价格整站优化关键词推广
  • 做旅游海报的软件或是网站海外新闻发布
  • 滁州哪里做网站品牌公关案例
  • 男女做暖暖的试看网站酥酥影视营销策划书范文案例
  • 合肥那个公司做网站优化好网络管理系统