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

重庆网站建设优化排名整站优化 mail

重庆网站建设优化排名,整站优化 mail,自考本科,农村建设网站一、verilog中有关代码复用的语法 1、连接符“{}” {4{1b1}} 或者 {5d6, 5d8} 2、参数(Parameter)型常量定义 parameter 参数名=表达式; 或者 localparam 参数名=表达式; parameter DATA_WIDTH 20; 3、function函数定义 …

一、verilog中有关代码复用的语法

1、连接符“{}”

{4{1'b1}} 或者 {5'd6, 5'd8} 

2、参数(Parameter)型常量定义

parameter 参数名=表达式; 或者 localparam 参数名=表达式;

parameter DATA_WIDTH = 20; 

3、function函数定义

函数内部语句只能写组合逻辑。

function [7:0] adder;
input [6:0] a;
input [6:0] b;
beginadder = a + b;
end
endfunction  

4、for语句

for(表达式1;表达式2;表达式3) 语句

genvar i;  
for(i=0; i<10; i=i+1) 

5、generate-for语句

(1) 必须使用genvar定义一个正整数变量;

(2) for里面的内嵌语句,必须写在begin_end里面;

(3) begin_end需要定义名字。

 genvar i;generate  for(i=0; i<10; i=i+1)begin语句;end
endgenerate 

二、代码复用示例

1、使用函数定义

 module test(input wire [6:0] a,input wire [6:0] b,input wire [6:0] c,input wire [6:0] d,output reg [7:0] ab,output reg [7:0] bc,output reg  [7:0] cd;
);function [7:0] caler;
input [6:0] a;
input [6:0] b;
beginadder = {a, 1'b0} + b;
end
endfunction always(posedge clk) beginif(reset) begin{ab,bc,cd} <= 'b0;end else beginab <= caler(a,b);bc<= caler(b,c);cd <= caler(c,d);end
endendmodule

2、使用generate示例

(1)语句复用

 parameter DATA_WIDTH = 7;reg [DATA_WIDTH*10-1:0] a;reg [DATA_WIDTH*10-1:0] b;reg [DATA_WIDTH*10-1:0] c;genvar i;generate  for(i=0; i<10; i=i+1)beginalways(posedge clk) beginif(reset) beginc[(i+1)*DATA_WIDTH-1:i*DATA_WIDTH] <= 'b0;end else beginc[(i+1)*DATA_WIDTH-1:i*DATA_WIDTH] <= a[(i+1)*DATA_WIDTH-1:i*DATA_WIDTH] + b[(i+1)*DATA_WIDTH-1:i*DATA_WIDTH];endendend
endgenerate

(2)模块复用

 parameter IN_WIDTH = 7;parameter OUT_WIDTH = 8;reg [IN_WIDTH*10-1:0] a;reg [IN_WIDTH*10-1:0] b;reg [IN_WIDTH*10-1:0] c;reg [IN_WIDTH*10-1:0] d;wire [OUT_WIDTH *10-1:0] ab;wire [OUT_WIDTH *10-1:0] bc;wire [OUT_WIDTH *10-1:0] cd;genvar i;generate  for(i=0; i<10; i=i+1)begintest(.clk(clk),.reset(reset),.a(a[(i+1)*IN_WIDTH-1:i*IN_WIDTH]),.b(b[(i+1)*IN_WIDTH-1:i*IN_WIDTH]),.c(c[(i+1)*IN_WIDTH-1:i*IN_WIDTH]),.d(d[(i+1)*IN_WIDTH-1:i*IN_WIDTH]),.ab(ab[(i+1)*OUT_WIDTH-1:i*OUT_WIDTH]),.bc(bc[(i+1)*OUT_WIDTH-1:i*OUT_WIDTH]),.cd(cd[(i+1)*OUT_WIDTH-1:i*OUT_WIDTH]));end
endgenerate

总的来说,使用generate确实对代码的整体结构,以及调试提供了很大的方便,各位可以在编写代码的过程中多多使用。

http://www.dinnco.com/news/67740.html

相关文章:

  • 特色的佛山网站建设页面seo优化
  • 国外做的好的鲜花网站长沙网站外包公司
  • 定制网站费用友情链接
  • 深圳做网站公司排名沧州搜索引擎优化
  • 怎么做网站策划上海疫情又要爆发了
  • 设计企业的网站百度助手app免费下载
  • 邵阳市网站建设网络营销咨询公司
  • 做免费视频网站违法吗网站推广的技术有哪些
  • 网站建设方案预算费用预算巨量引擎官网
  • 相馆网站建设费用预算重庆网站seo公司
  • 医院网站建设政策seo免费自学的网站
  • 网站设计就业培训交换友情链接推广法
  • 浅析b2c电子商务网站的建设天津seo培训
  • 幸运快三的网站怎么做2021热门网络营销案例
  • 上海网站建设褐公洲司阿里seo排名优化软件
  • 网站测试的重要性域名邮箱 400电话
  • 建筑英才招聘网快速排名优化推广排名
  • 工程行业做的好的网站有哪些内容自己在家怎么做跨境电商
  • wordpress主题转zblogseo专业技术培训
  • 只做衬衫的网站优秀的品牌策划案例
  • asp.net 网站 项目 区别教育培训机构营销方案
  • 最新的电商平台seo描述是什么
  • 直接登录的网站深企在线
  • 一站式做网站网页制作软件下载
  • 北京网站建设哪家靠谱seo标题优化分析范文
  • 淄博铺无忧网络科技有限公司网络推广优化招聘
  • 枞阳做网站的app网站推广平台
  • 凡客官方网站商品推广与营销的方式
  • 北京 网站建设大全关键词歌词含义
  • 做网站人员有什么名称大型集团网站建设公司