【Verilog】实验二 数据选择器的设计与vivado集成开发环境

发布于:2024-12-07 ⋅ 阅读:(185) ⋅ 点赞:(0)

目录

一、实验目的

二、实验环境

三、实验任务

四、实验原理

五、实验步骤

top.v

mux2_1.v


一、实验目的

1. 掌握数据选择器的工作原理和逻辑功能。

2. 熟悉vivado集成开发环境。

3. 熟悉vivado中进行开发设计的流程。

二、实验环境

1. 装有vivado的计算机。

2. Sword实验系统。

三、实验任务

1. 用VerilogHDL语言设计实现4位二选一数据选择器电路,完成功能仿真。

2. 设计顶层电路,关联外设,在vivado下完成综合等设计步骤,下载至Sword实验系统验证电路功能,熟悉vivado操作流程。

四、实验原理

1. 数据选择器的设计

设计二选一数据选择器,并验证该电路功能。采用三个拨动开关分别作为数据选择器的选择输入和数据输入,输出接到发光二极管上,由发光二极管显示选择器的输入状态。电路连接图如下(具体连接引脚可以自定修改):

2. 为了验证电路功能,需要设计顶层模块,实例化所设计的多路选择器模块。根据sword平台设计,led的驱动需要调用LED_P2S.ngc,这是已经封装好的代码。由于实验台的设计是将驱动led的数据并行转为串行输出,此时还需要在工程中加入时钟clk_div.v。在顶层设计中,将SW与所设计的mux的输入关联,led与所设计的mux的输出关联。完成电路功能验证。在这个过程中,熟悉vivado工具设计流程。

五、实验步骤

1. 参考VIVADO开发设计流程文档,新建工程,设计四位二选一多路选择器模块mux21_4.v(采用实验一的设计)。

2.完成该模块的功能仿真。

 3. 参照vivado开发设计流程文档,依次在工程中加入LED_P2S.ngc和LED_P2S_IO.v(用于led显示),clk_div.v(时钟模块),MUX-top.v(顶层模块),依次完成以下步骤:综合、管脚映射、实现、生成bit流文件。

4.参照vivado开发设计流程文档,将设计文件下板,运行,验证电路功能。

Run Synthesis

Run Implementation   

Generate Bitstream

这几步,均可在Project Summary查看执行的状态(是否完成)

Open target  

Auto Connect

Program device

生成bit流文件

完成下板

根据在TOP中定义的对应的开关,进行验证,观察现象

xc7k160tffg676-1

top.v

`timescale 1ns / 1ps

module 	 TOP(input  wire clk_100mhz,
				 input  wire[15:0]SW,
				 output wire led_clk,
				 output wire led_clrn,
				 output wire led_sout,
				 output wire LED_PEN				
					);
				
    wire[31:0]Div;
    wire[15:0]LED_DATA;
    wire CK;
	
    clk_div       U8(clk_100mhz,1'b0,SW[2],Div,CK);
													
    LED_P2S 			  #(.DATA_BITS(16),.DATA_COUNT_BITS(4)) 
					      PLED (clk_100mhz,
									1'b0,
									Div[20],
									LED_DATA,
									led_clk,
									led_clrn,
									led_sout,
									LED_PEN
									);
	wire [3:0] out;
	   mux2_1 U1 (SW[3:0],SW[7:4],SW[8],out);
	   
								
    assign LED_DATA = ~{out[0],out[1],out[2],out[3],1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0,1'b0};	
	
endmodule

mux2_1.v


网站公告

今日签到

点亮在社区的每一天
去签到