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

安居客房产官方网站谷歌网站推广方案

安居客房产官方网站,谷歌网站推广方案,在线网站搭建系统,江苏建设工程信息网网文章目录 包定义SystemVerilog 数据类型结构体 SystemVerilog 过程块可嵌套模块接口 System Verilog 的优点 提高了硬件建模能力、编码效率和抽象能力#xff1b;RTL 级、系统级行为描述#xff1b; 增强了验证能力和为大规模复杂设计编写有效、无竞争测试程序的断言功能RTL 级、系统级行为描述 增强了验证能力和为大规模复杂设计编写有效、无竞争测试程序的断言功能 相比 Verilog有助于编写可综合硬件模型的特点 设计内部的封装通信和协议检查的接口支持数据类型 int、用户自定义类型 typedef、枚举类型、类型转换结构体、联合体、可共享的定义包 package -- 赋值操作显式过程块、priority、unique 修饰符编程语句增强、通过引用传送到任务、函数和模块。 包定义 包 package ... endpackage独立的声明空间多个模块共享用户定义类型。包中可包含的可综合的结构 parameter 和 localparam 常量定义const 定义变量为常数typedef 用户定义类型automatic task、function 定义从其它包中 import 语句操作符重载定义。 包定义示例 package definitions;parameter Version1.1;typedef enum{ADD, SUB, MUL} opcodes_t;typedef struct{logic[31:0] a,b;opcodes_t opcode;} instruction_t;function automatic[31:0] multiplier(input[31:0] a,b);return a*b;endfunction endpackage包可独立放在一个文件中用 include 包名 引入。 如何引用包的内容 用范围解析操作符 :: 直接引用 module ALU (input definitions::instruction_t IW,input logic clock,output logic[31:0] result);always_ff(posedge clock)case(IW.opcode)definitions::ADD: result IW.a IW.b;definitions::SUB: result IW.a - IW.b;definitions::MUL: result definitions::multiplier(IW.a, IW.b);endcase endmodule将包中特定子项导入到模块或接口中 module ALU (input definitions::instruction_t IW,input logic clock,output logic[31:0] result);import definitions::ADD; import definitions::SUB; import definitions::MUL; import definitions::multiplier;always_comb begincase(IW.opcode)ADD: result IW.a IW.b;SUB: result IW.a - IW.b;MUL: result multiplier(IW.a, IW.b);endcase end endmodule用通配符 * 导入包中的子项到模块或接口中 import definitions::*; module tb_ALU; instruction_t test_word; logic[31:0] alu_out; logic clock 0;ALU dut(.IW(test_word), .result(alu_out), .clock(clock)); always #10 clock ~clock; initial begin(negedge clock)test_word.a 5;test_word.b 7;test_word.opcode ADD;(negedge clock)$display(alu_out%d(expected 12), alu_out);$finish; end endmodule将包中子项导入到 $unit 声明域中。 SystemVerilog 数据类型 增加 bit byte(8) int(32) shortint(16) longint(64) 变量类型logic 定义变量代替 reg四态 0 1 Z Xvoid 类型表示无存储var 关键字表示对象是一个变量比如 var logic[7:0] a静态变量 static自动变量 automatic用户自定义类型 typedef枚举数据类型 enum 以有限状态机为例说明枚举类型的使用 module FSM(input logic clock, resetN, output logic[3:0] control); enum logic[2:0] {WAITE3b001, LOAD3b010, READY3b100} State, Next;always(posedge clock, negedge resetN)if(!resetN) State WAITE;else State Next;always_comb begin$display(\n Current state is %s(%b), State.name, State);case(State)WAITE: Next LOAD;LOAD; Next READY;READY: Next WAITE;endcase$display(\n Next state will be %s(%b), Next.name, Next); end assign control State; endmodule结构体 结构体 struct、联合体 union 数据类型一种变量集表示。 结构体 struct 可以包括任何数据类型可以集合不同类型和大小的变量、常量、自定义等 struct{int a,b;opcode_t opcode;logic[23:0] address;bit error; } Instruction_Word /* 结构体名 */引用结构体结构体名.变量名如 Instruction_Word.address32h00ff00ff SystemVerilog 过程块 always_comb组合逻辑过程块不需要指明敏感表always_ff时序逻辑过程块always_latch锁存逻辑过程块unique case / if...else if...只有且必须有一个条件匹配否则报告运行错误priority case / if...else if...至少有一个条件匹配多个匹配则执行第一个匹配分支 module traffic_light(output logic green_light, yellow_light, red_light,input sensor, input[15:0] green_downcnt, yellow_downcnt, input clock, resetN); enum {RED, GREEN, YELLOW} State, Next;/* 时序电路 */ always_ff(posedge clock, negedge resetN)if(!resetN) State RED;else State Next;/* 组合电路 */ always_comb begin:set_next_stateNext State;unique case(State)RED: if(sensor) Next GREEN;GREEN: if(green_downcnt0) Next YELLOW;YELLOW: if(yellow_downcnt0) Next RED;endcase end:set_next_state/* 组合电路 */ always_comb begin:set_outputs{green_light, yellow_light, red_light} 3b000;unique case(State)RED: red_light 1b1;GREEN: green_light 1b1;YELLOW: yellow_light 1b1;endcase end:set_outputs endmodule可嵌套模块 只能在父模块中实例化 module ip_core(input logic clock);sub u1(.*);sub u2(.*);module sub1(...)...endmodule:sub1module sub2(...)...endmodule:sub2 endmodule:ip_core例用 SystemVerilog 实现以下结构图主模块名 chip地址位宽 32bits module chip(input_master_clock, master_reset); logic[31:0] address, new_address, next_address;ROM u1(.address(address), .data(new_address), .clk(master_clock));program_count u2(.jump_address(new_address), .clock(master_clock), .reset_n(master_reset), .next_address(next_address));address_reg(.next_addr(next_address), .current_addr(address), .clk(master_clock), .rstN(master_reset));module ROM(output logic[31:0] data, input logic[31:0] address, input logic clk); endmodule:ROMmodule program_count(...) endmodule:program_countmodule address_reg(...) endmodule:address_regendmodule:chip接口 接口 interface ... endinterface 是一种功能强大的端口类型可以简化复杂设计的建模和验证。可在 module 外单独定义。 支持多个信号组成一个端口只需声明 1 次。接口中可以包括端口、任务 task、函数 function、过程块、程序块也可参数化。 interface main_bus;logic[15:0] data;logic[15:0] address;logic[7:0] bus_request; endinterfacemodule top()main_bus bus() /* 接口实例化 */slave slave1(.bus(bus)); endmodule
http://www.zqtcl.cn/news/727135/

相关文章:

  • 网站开发使用哪种语言wordpress 免费主机
  • 山东免费网站制作绿色食品网站模板
  • 做搜狗网站优化点广州网站开发人
  • 网站建设违法行为广东seo快速排名
  • 体育彩票网站开发该做哪些步骤深圳网站建设策划方案
  • 金华网站建设电话做网站用虚拟机还是服务器
  • 整容医院网站建设目的顺企网贵阳网站建设
  • 微网站 htmlseo做的好的网站
  • 免费做网站推荐东平网页设计
  • 所有复刻手表网站wordpress 标题简码
  • 云南建设厅建设网站首页网站建设s
  • 网站用户需求报告网站充值怎么做的
  • 找代码的网站有一个网站是做釆购的是什么网
  • 做外贸最好的网站有哪些php网站开发工程师待遇
  • 做推文封面的网站首页>新闻>正文 网站怎么做
  • 黄页推广引流网站企业网站导航菜单
  • 合肥专门做网站的公司广告代理商是什么意思
  • wordpress显示一个类目seo推广
  • 营销型电子商务网站特点如何申请免费空间和域名
  • 网站建设 主要学是么vk汉化网站谁做的
  • 做英文网站费用多少学校网站开发毕业设计
  • 红动中国设计网站官网网页制作的论文
  • 云阳一平米网站建设西安设计工作室推荐
  • 网站长尾关键词优化网页设计定制代理
  • 海东电子商务网站建设运城市网站建设公司
  • 网站建设得要素电子商务网站建设与维护项目五
  • 网站备案无前置审批文件南宁市建设厅网站
  • 百度网站体检手机网页小游戏
  • 大型购物网站建设费用广告设计与制作软件有哪些
  • 郑州建设工程交易中心网站汉寿做网站的公司