eda编程9人表决器程序详解是什么?

eda编程9人表决器程序详解是什么?,第1张

eda编程9人表决器程序详解://本程序用VERILOG HDL语言实现,描述9人表决器。

module biaojueqi(vote,ledr,ledg,dis_out)

input [8:0] vote

reg [6:0] dis_out

integer i,sum//sum表示赞同的人数

for(i=0i<=8i=i+1)

if(vote[i]) sum<=sum+1

end

always @(sum) //结果由dis_out显示在数码管上

case (sum)

0: dis_out[6:0]<=7'b1111110

1: dis_out[6:0]<=7'b0110000

2: dis_out[6:0]<=7'b1101101

3: dis_out[6:0]<=7'b1111001

4: dis_out[6:0]<=7'b0110011

5: dis_out[6:0]<=7'b1011011

6: dis_out[6:0]<=7'b1011111

7: dis_out[6:0]<=7'b1110000

8: dis_out[6:0]<=7'b1111111

9: dis_out[6:0]<=7'b1111011

endmodule

内容简介

本书从实际应用的角度出发,全面系统地介绍了EDA技术和硬件描述语言VHDL,将VHDL的基础知识、编程技巧、实用方法与实际工程开发技术在EDA软件设计平台上很好地结合起来,使读者能够通过本书的学习迅速了解并掌握EDA技术的基本理论和工程开发实用技术。

LIBRARYIEEE

USEIEEE.STD_LOGIC_1164.ALL

USEIEEE.STD_LOGIC_ARITH.ALL

USEIEEE.STD_LOGIC_UNSIGNED.ALL--库,程序包的使用

ENTITYSRAM IS--实体描述(SRAM为实体名)

GENERIC(WIDTH:INTEGER:=8--类属表(integer是整型,WIDTH为常数名)

DEPTH:INTEGER:=128--类比上一句即可

ADDER:INTEGER:=3)

PORT(DATAIN:IN STD_LOGIC_VECTOR(7 DOWNTO0)--端口说明,IN为端口类型,输入只读

DATAOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--OUT输出,只写

CLOCK:IN STD_LOGIC--STD_LOGIC是数据类型,为标准位单值

WE,RE:IN STD_LOGIC--WE和RE为输入端口,可输入标准位单值

SIGNAL WADD:IN STD_LOGIC_VECTOR(2DOWNTO 0)--标准位位矢量,3个信号元素

SIGNAL RADD:IN STD_LOGIC_VECTOR(2 DOWNTO 0))

ENDENTITY SRAM--结束实体描述

ARCHITECTUREART OF SRAM IS--结构体描述(ART是结构体名)

TYPE MEM IS ARRAY(0 TO 127) OF STD_LOGIC_VECTOR(7 DOWNTO 0)--元素说明

SIGNAL RAMTMP:MEM--TYPE数据类型,SIGNAL信号

BEGIN--下面为功能描述

PROCESS(CLOCK)--进程,CLOCK为敏感信号,敏感信号的变化会激活进程

BEGIN

IF (CLOCK'EVENT AND CLOCK='1') THEN--时钟信号上升沿

IF(WE='1')THEN

RAMTMP(CONV_INTEGER(WADD))<=DATAIN --如果we为1,将DATAIN的值赋给RAMTMP(CONV_INTEGER(WADD))

END IF

END IF

ENDPROCESS

PROCESS(CLOCK)--可类比上一个进程

BEGIN

IF(CLOCK'EVENTAND CLOCK='1')THEN

IF (RE='1') THEN

DATAOUT<=RAMTMP(CONV_INTEGER(RADD))

END IF

ENDIF

ENDPROCESS

ENDARCHITECTURE ART


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11516790.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存