eda多个模块怎么搞

eda多个模块怎么搞,第1张

eda多个模块要求使用多文件、多模块描述,即一个模块一个Verilog源文件,顶层模块完成子模块间互连。根据查询相关公开信息显示,把所有组合的模块全部取消顶部菜单组合取消全部组合,加入组合,不在组合内的器件加入组合里面。

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技术的基本理论和工程开发实用技术。

library ieee

use ieee.std_logic_1164.all

use ieee.std_logic_unsigned.all

entity caideng is

port(clk,reset:in std_logic

l_r:in std_logic ----控制循环方向;

output:out std_logic_vector(15 downto 0))---输出

end entity

architecture art of caideng is

signal q:std_logic_vector(15 downto 0)

signal clk_data:std_logic

begin

process(clk,reset)-----时钟分频,分频因子等于系统时钟频率除以所要得到的时钟频率

variable cnt:integer

begin

if reset='1' then

cnt:=0clk_data<='0'

elsif clk'event and clk='1' then

if cnt=4000000 then

cnt:=0clk_data<='1'

else clk_data<='0'cnt:=cnt+1

end if

end if

end process

process(clk_data,reset,l_r,q)

begin

if reset='1' then

q<="0000000000000000"

elsif clk_data'event and clk_data='1' then

if l_r='1' then ----表示向右循环;

if q="0000000000000000" then

q<="1111000000000000"

else q<=q(0)&q(15 downto 1)

end if

else ----向左循环

if q="0000000000000000" then

q<="0000000000001111"

else q<=q(14 downto 0)&q(15)

end if

end if

end if

output<=q

end process

end art


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

原文地址: http://outofmemory.cn/yw/11793360.html

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

发表评论

登录后才能评论

评论列表(0条)

保存