以前课题用的是友晶的DE2-70,现在重拾FPGA,选了一款性价比高的DE2。恰逢闲来无事,于是尝试将各个Verilog模块翻译成VHDL,半算回顾以前的知识,半算练习VHDL。

Verilog 01

 module SEG7_LUT    (    oSEG,iDIG    );
input [:] iDIG;
output [:] oSEG;
reg [:] oSEG; always @(iDIG)
begin
case(iDIG)
'h1: oSEG = 7'b1111001; // ---t----
'h2: oSEG = 7'b0100100; // | |
'h3: oSEG = 7'b0110000; // lt rt
'h4: oSEG = 7'b0011001; // | |
'h5: oSEG = 7'b0010010; // ---m----
'h6: oSEG = 7'b0000010; // | |
'h7: oSEG = 7'b1111000; // lb rb
'h8: oSEG = 7'b0000000; // | |
'h9: oSEG = 7'b0011000; // ---b----
'ha: oSEG = 7'b0001000;
'hb: oSEG = 7'b0000011;
'hc: oSEG = 7'b1000110;
'hd: oSEG = 7'b0100001;
'he: oSEG = 7'b0000110;
'hf: oSEG = 7'b0001110;
'h0: oSEG = 7'b1000000;
endcase
end endmodule

VHDL 01

 library IEEE;
use ieee.std_logic_1164.all; 4 --! 7-segment displays
entity SEG7_LUT is
port
(
iDIG : in std_logic_vector( downto );
oSEG : out std_logic_vector ( downto )
);
end SEG7_LUT; architecture fpga of SEG7_LUT is begin pseg: process(iDIG)
begin
case iDIG is
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= "";
when "" =>
oSEG <= ""; end case; end process; end fpga;

Verilog 02

 module SEG7_LUT_8 (oSEG0,oSEG1,oSEG2,oSEG3,oSEG4,oSEG5,oSEG6,oSEG7,iDIG );
input [:] iDIG;
output [:] oSEG0,oSEG1,oSEG2,oSEG3,oSEG4,oSEG5,oSEG6,oSEG7; SEG7_LUT u0 ( oSEG0,iDIG[:] );
SEG7_LUT u1 ( oSEG1,iDIG[:] );
SEG7_LUT u2 ( oSEG2,iDIG[:] );
SEG7_LUT u3 ( oSEG3,iDIG[:] );
SEG7_LUT u4 ( oSEG4,iDIG[:] );
SEG7_LUT u5 ( oSEG5,iDIG[:] );
SEG7_LUT u6 ( oSEG6,iDIG[:] );
SEG7_LUT u7 ( oSEG7,iDIG[:] ); endmodule

VHDL 02

 library IEEE;
use ieee.std_logic_1164.all; 4 --! oSEG0 ~ oSEG7
entity SEG7_LUT_8 is
port
(
iDIG : in std_logic_vector( downto );
oSEG0 : out std_logic_vector ( downto );
oSEG1 : out std_logic_vector ( downto );
oSEG2 : out std_logic_vector ( downto );
oSEG3 : out std_logic_vector ( downto );
oSEG4 : out std_logic_vector ( downto );
oSEG5 : out std_logic_vector ( downto );
oSEG6 : out std_logic_vector ( downto );
oSEG7 : out std_logic_vector ( downto )
);
end SEG7_LUT_8; --! architecture
architecture fpga of SEG7_LUT_8 is begin U0 : entity SEG7_LUT port map(oSEG => oSEG0,iDIG => iDIG( downto ));
U1 : entity SEG7_LUT port map(oSEG => oSEG1,iDIG => iDIG( downto ));
U2 : entity SEG7_LUT port map(oSEG => oSEG2,iDIG => iDIG( downto ));
U3 : entity SEG7_LUT port map(oSEG => oSEG3,iDIG => iDIG( downto ));
U4 : entity SEG7_LUT port map(oSEG => oSEG4,iDIG => iDIG( downto ));
U5 : entity SEG7_LUT port map(oSEG => oSEG5,iDIG => iDIG( downto ));
U6 : entity SEG7_LUT port map(oSEG => oSEG6,iDIG => iDIG( downto ));
U7 : entity SEG7_LUT port map(oSEG => oSEG7,iDIG => iDIG( downto )); end fpga;

DE2之7-segment displays的更多相关文章

  1. (2017浙江省赛E)Seven Segment Display

    Seven Segment Display Time Limit: 2 Seconds      Memory Limit: 65536 KB A seven segment display, or ...

  2. 2017浙江省赛 E - Seven Segment Display ZOJ - 3962

    地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3962 题目: A seven segment display, or ...

  3. ZOJ 3962 Seven Segment Display 16进制的八位数加n。求加的过程中所有的花费。显示[0,F]有相应花费。

    Seven Segment Display Time Limit: Seconds Memory Limit: KB A seven segment display, or seven segment ...

  4. ZOJ 3962 E.Seven Segment Display / The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple E.数位dp

    Seven Segment Display Time Limit: 1 Second      Memory Limit: 65536 KB A seven segment display, or s ...

  5. [转]oracle EBS 基础100问

    from:http://www.cnblogs.com/xiaoL/p/3593691.html  http://f.dataguru.cn/thread-51057-1-1.html 1001 OR ...

  6. zoj3954 详细讲解 排序比较单词法

    Seven-Segment Display Time Limit: 1 Second      Memory Limit:65536 KB A seven segment display, or se ...

  7. [笔记]学习EBS建议有的知识

    http://f.dataguru.cn/thread-51057-1-1.html ORACLE EBS学习的其他资源有哪四个? ORACLE OPEN WORLD大会是不是一个市场营销活动? Or ...

  8. kafka的log存储解析——topic的分区partition分段segment以及索引等

    转自:http://blog.csdn.net/jewes/article/details/42970799 引言 Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相 ...

  9. ORA-10635: Invalid segment or tablespace type

    上周星期天在迁移数据时,碰到了ORA-10635: Invalid segment or tablespace type 错误,当时的操作环境如下: 操作系统版本: [oracle@xxxxx scr ...

随机推荐

  1. 渗透实战(周二):FLUXION暴力破解WIFI登录口令

    Wi-Fi攻与防 假设我们Kali Linux 攻击机有一个无线网卡,想通过特殊手段连入名称:414的Wi-Fi网络,那以下便是特殊手段的具体过程. Wi-Fi的破解 硬件:MacBook Pro.小 ...

  2. PAT 1093. Count PAT's

    The string APPAPT contains two PAT's as substrings. The first one is formed by the 2nd, the 4th, and ...

  3. node.js 中的package.json文件怎么创建?

    最近在用webstorm和nodejs做一些东西,老是各种混乱,今天上午创建一个新的项目,结果发现,npm init之后,并没有出现package.json,并没有太明确他的功能的小姑娘表示十分的惊慌 ...

  4. 【LeetCode Weekly Contest 26 Q3】Friend Circles

    [题目链接]:https://leetcode.com/contest/leetcode-weekly-contest-26/problems/friend-circles/ [题意] 告诉你任意两个 ...

  5. CSVHelper在Asp.Net MVC中的使用

    1,从数据库读取数据,然后导出CSV文件 [HttpPost] public FileResult ExportCSV() { var apps =....//linq以及EF从数据库查询数据 Mem ...

  6. xth 的玫瑰花(codevs 1360)

    题目描述 Description 这天是rabbit 的生日前夕,Xth 来到花店,要给他的rabbit 买玫瑰花,为了保证质 量,他跟花店老板——小菜儿同学要求自己到花田采摘.小菜儿灰常希望早日见到 ...

  7. Linux进程线程学习笔记:运行新程序

    Linux进程线程学习笔记:运行新程序                                         周银辉 在上一篇中我们说到,当启动一个新进程以后,新进程会复制父进程的大部份上下 ...

  8. SpringBoot 注册拦截器方式及拦截器如何获取spring bean实例

    SpringBoot 注册拦截器时,如果用New对象的方式的话,如下: private void addTokenForMallInterceptor(InterceptorRegistry regi ...

  9. v$open_cursor中的相同record

    之前在查看v$open_cursor的时候,发现很多相同的record. 让我很疑惑, sid saddr sql_id 都相同,我就想 这不是一个cursor吗? 那为什么在open_cursor中 ...

  10. keras与sklearn的结合使用

    keras与sklearn的结合使用 新建 模板 Fly Time: 2017-4-14 引言 代码 引言 众所周知,keras目前没有提供交叉验证的功能,我们要向使用交叉验证,就需要与sklearn ...