您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > Verilog-HDL-之-8-3编码器
VerilogHDL之8-3编码器原理:在数字系统中,常常需要将某一信息(输入)变换为某一特定的代码(输出)。把二进制码按一定的规律排列,例如8421码、格雷码等,使每组代码具有一特定的含义(代表某个数字或是控制信号)称为编码。具有编码功能的逻辑电路称为编码器。编码器有若干个输入,在某一时刻只有一个输入被转换为二进制码。例如8线-3线编码器和10线-4线编码器分别有8输入、3位输出和10位输入、4位输出。下面是8-3编码器的真值表。实验环境:硬件:AR2000核心板、SOPC-MBoard板、PC机、ByteBlasterII下载电缆软件:ModelSim、AlteraQuartusII7.2集成开发环境。实验步骤:1.打开QuartusII7.2软件,选择File|NewProjectWizard新建一个工程,在对话框中第一行选择工程路径,并为该工程新建一个文件夹。本例中第二行输入工程名bm8_3;第三行是工程顶层设计文件名,该顶层设计文件名一定要与设计文件中模块名module一致,可以与工程名不同,但一般都和工程名一致。如图1.1所示。图1.1在QuartusII中新建工程2.单击“Next”,此对话框是向工程中添加设计文件的。现在还没有写设计文件,所以没有文件可以添加;直接单击“Next”,进入器件选择对话框。在Family下拉菜单中选择CycloneII系列。然后在Filters下的Package下拉菜单中选择封装形式FBGA,Pincount下拉菜单中选择管脚数672,Speedgrade下拉菜单中选择速度级别8;然后在Availabledevices中选择EP2C35F672C8器件。如图1.2所示。图1.2选择FPGA器件3.单击Finish,建立好工程。向工程中添加设计文件,选择File|New,在New对话框中选择DeviceDesignFiles下的VerilogHDLFile,单击OK,完成新建设计文件。如图1.3所示。图1.3添加设计文件4.向设计文件中输入Verilog代码。1//--------------------------------------------------------------------------------------------------2//3//Title:BM8_34//Design:exp15//Author:wangliang6//7//-------------------------------------------------------------------------------------------------8//9//Description:10//11//-------------------------------------------------------------------------------------------------12`timescale1ns/1ps1314modulebm8_3(a,b);1516input[7:0]a;17wire[7:0]a;1819output[2:0]b;20reg[2:0]b;21always@(a)22begin23case(a)248'b0000_0001:b=3'b000;258'b0000_0010:b=3'b001;268'b0000_0100:b=3'b010;278'b0000_1000:b=3'b011;288'b0001_0000:b=3'b100;298'b0010_0000:b=3'b101;308'b0100_0000:b=3'b110;318'b1000_0000:b=3'b111;32default:b=3'b000;33endcase34end3536//--Enteryourstatementshere--//3738endmodule5.编译。点击图1.4中的第二个按钮。图1.46.分配引脚。选择Assignments下的Pins选项,进入引脚分配界面,或者对该工程的.tcl文件进行直接修改。分配好的引脚如图1.5所示图1.5引脚分配7.将在Assignments|Device里面打开Device&PinOptions选项,在UnusedPins页里面的选择第一项Asinput。每次新建的工程编译前必须设置这个选项。此操作原因:(1)由于开发板FPGA芯片的许多引脚已经分配给如FLASH存储器等的外围器件或者开发板的某些开关,当运行自己开发的逻辑时,必须把FPGA尚未分配的引脚与测试电路无关的链接断开,否则的那个FPGA复位后这些固定的链接会破坏任务的执行,所以,必须把不用的引脚设置成三态输入信号。(2)SRAM等设备是低电平其idong,置成高阻态可防止错误地启动类似SRAM的设备。(3)为了降低功耗,一般我们的设计都比较小,未用管脚较多,而未用管脚若默认为输出低电平,则会形成电流回路,产生较大的功耗。8.全部编译。点击图1.4中的第一个按钮。9.烧写到目标板。点击图1.4中的倒数第三个按钮,等烧写完毕查看实验板结果,并且可以和仿真结果进行比对。(仿真方法请参考链接。。。)将开关选择跳线选择至低8位拨动开关,利用低BIT7~BIT0位作为输入,LED2、LED1、LED0作为输出(图中红线标出部分)。实验结果:BIT7~BIT0当中的一个打开时,LED的灯对应亮着,如果有多个打开,则LED的灯是灭着的。
本文标题:Verilog-HDL-之-8-3编码器
链接地址:https://www.777doc.com/doc-4670079 .html