- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                FPGA应用 基于Xilinx的HDL高级设计 面向硬件的设计思维 并行执行 时钟是程序的执行控制器 程序的可综合性 并行执行 module feizusefuzhi(clk,reset,a,b); 	input,clk,reset; 	input [3:0] 	a; 	input [3:0]	b; 	output[3:0]	temp1,temp2,b; always	@(posedge clk)begin 	if (!reset)begin 		tempa1 = 0; 		tempa2 = 0; 		b = 0; 	end 	else begin 		tempa1 = a+1’b1; 		tempa2 = tempa1 + 1’b1; 		b = tempa2 + 1’b1; 	end end endmodule 可综合设计 Verilog HDL是面向HDL仿真的,可综合是Verilog HDL的子集(以Synplify Pro为例) 线网类型:wire,tri,supply1,supply0 寄存器类型reg,integer,time 连续赋值 门原型和模块例化 always,task,function input,output,inout 所有运算符 可综合设计 Verilog HDL是面向HDL仿真的,可综合是Verilog HDL的子集(以Synplify Pro为例) 行为语句: if-else-if,case,casex,casez, for,repeat,while,forever,begin-end,fork-join 过程赋值:阻塞赋值(=),非阻塞赋值(=) 编译器指令: ’define,’ifdef,’else,’endif,’include 避免意外的锁存器 //意外锁存器 always @(a or data_in) begin 		if (a) begin 		      data_out = data_in; 		end end 同步电路设计优点 有效避免毛刺影响,提高可靠性; 简化时序分析过程; 减少工作环境对设计的影响;同步电路只要求时钟和数据沿相对稳定,  同异步电路比较示例 //同步复位 module test(clk,reset,s); 	input clk; 	input reset; 	output s; 	reg s;  	always @(posedge clk) begin 		if (!reset) 		      s = 0; 		else 		      s = s+1; 	end  endmodule 异步电路缺点示例 module as_mode1(clk,a1,a2,y,yout); 	input clk; 	input a1,a2; 	output y,yout; 	reg yout;  	assign y = a1  a2  	always @(posedge clk)begin 		yout = y; 	end endmodule 同步电路设计准则 单时钟 单时钟边沿 避免门控时钟 混合时钟边沿示例 module hunhe(clk,din,d1,dout); 	input clk; 	input [7:0] din; 	output [7:0] d1; 	output [7:0] dout;  	reg [7:0] d1,dout;  	always @(negedge clk) begin 		d1 = din; 	end  	always @(posedge clk) begin 		dout = din; 	end  endmodule 良好HDL代码风格 逻辑复用与复制 复用能缩减硬件规模,复制能提高性能 逻辑结构 链状结构 树状结构 If,case的使用 关键路径信号处理 避免意外锁存器 使用流水线结构 If,case比较示例(多路选择器) module sdata_if(clk,reset,x,s,y); 	input clk; 	input reset; 	input [3:0] x; 	input [1:0] s; 	output y; 	reg y;  	always @(posedge clk) begin 		if (!reset) 		      y = 0; 		else begin 		      if (s == 2’b00) 			y = x[0];  		      else if (s==2’b01) 			y = x[1]; 		      else if (s==2’b10) 			y = x[2]; 		      else 			y = x[3]; 		end endmodule always块关键路径提取 a
                您可能关注的文档
最近下载
- 2025年最新痛风及高尿酸血症基层诊疗指南(完整版) .pdf VIP
- TCNFIA 001-2017《食品保质期通用指南》.pdf VIP
- 第五单元写话:商量(技法+范文+素材)-2023-2024学年二年级语文上册单元作文能力提升(统编版).docx VIP
- 《舆论学》教学大纲.doc VIP
- 2025福建厦门市湖里区国有资产投资集团有限公司招聘2人笔试备考试题及答案解析.docx VIP
- 员工个人简历表.doc VIP
- 植物的遗传与改良.pptx VIP
- 脑卒中健康科普.pptx VIP
- 代理记账合同模板内账(3篇).docx VIP
- 中国研学旅行市场发展报告(2023).docx VIP
 原创力文档
原创力文档 
                        

文档评论(0)