入门数字集成电路设计系列(一)——Modelsim安装及破解过程记录

5 篇文章 8 订阅
1 篇文章 0 订阅

入门数字集成电路设计系列(一)


#Modelsim破解教程(记录)

Modelsim是由 Mentor Graphics 公司开发的软件,它是世界最优秀的Verilog HDL语言仿真工具,是FPGA/ASIC设计的首选仿真软件。Mentor公司则是电子设计自动化技术的领导产商,它提供完整的软件和硬件设计解决方案,让客户能在短时间内,以最低的成本,在市场上推出功能强大的电子产品。
作为一个刚入门数字集成电路设计的新手,Modelsim是需要熟练掌握的软件,而官网的免费版的Modelsim只有有限的编译代码行数限制,这会成为开展大项目的障碍,为此,笔者花费了很长时间寻找了很多教程去破解这个软件,甚至为了这个软件重做了系统,安装在windows 10虚拟机中,最后终于成功了,这里记录一下,免得之后换电脑时又出现问题。

先贴一张成功启动界面

在这里插入图片描述

安装版本:Modelsim 10.5
环境:Windows 10
安装及破解文件:网上有很多,基本上都可用
这里贴一个不要下载劵的:modelsim 10.5下载_MaoChuangAn的博客-CSDN博客_modelsim10.5

解压文件

在这里插入图片描述
以管理员身份运行
路径可以自己设置,但是不能有中文路径

在这里插入图片描述
这里懒得一张张截图了,后面的步骤参考modelsim安装_Modelsim10.5安装教程_weixin_39620578的博客-CSDN博客即可

下面是重点:

注意点:
有时候在已经修改了mgls64.dll文件之后再运行patch_dll文件仍然会出现找不到magls64.dll,而直接运行MentorKG.exe又会一直卡住,这时我参考了这个方案解决modelsim破解在win10下运行patch失败-百度经验 (baidu.com)成功解决了我的问题。

步骤如下:
打开CMD应用

在这里插入图片描述
输入软件安装盘符号加英文冒号并回车,如d:

在这里插入图片描述
打开安装路径,如输入 cd Software\Modelsim\win64

在这里插入图片描述
输入patch_dll.bat并回车,运行patch_dll.bat,这样就不会提示找不到mgls.dll文件了,可以正常生成license,剩下的步骤就是网上大部分的步骤了

在这里插入图片描述

  • 38
    点赞
  • 212
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
设计数字时钟电路的步骤如下: 1. 确定数字时钟的显示方式,比如使用7段LED显示器。 2. 根据数字时钟的显示方式,设计数码管译码器电路,将数字信号转换为7段LED的控制信号。 3. 设计时钟信号的产生器,可以使用计数器或振荡器来产生1秒钟的脉冲信号。 4. 将时钟信号与数码管译码器电路连接,使其每秒钟更新一次数码管的显示。 下面是一个使用Verilog语言实现数字时钟电路的例子: ``` module digital_clock( input clk, output reg [6:0] seg, output reg dp ); reg [25:0] counter = 0; always @(posedge clk) begin counter <= counter + 1; if (counter == 50000000) begin // 1秒钟的时钟信号 counter <= 0; end end wire [3:0] digit_sec = counter % 10; wire [3:0] digit_min = (counter / 10) % 6; wire [3:0] digit_hour = (counter / 600) % 24; seven_seg_decoder decoder_sec(seg, dp, digit_sec); seven_seg_decoder decoder_min(seg[13:7], dp, digit_min); seven_seg_decoder decoder_hour(seg[20:14], dp, digit_hour); endmodule module seven_seg_decoder( output reg [6:0] seg, output reg dp, input [3:0] digit ); always @(*) begin case (digit) 4'h0: seg = 7'b1000000; 4'h1: seg = 7'b1111001; 4'h2: seg = 7'b0100100; 4'h3: seg = 7'b0110000; 4'h4: seg = 7'b0011001; 4'h5: seg = 7'b0010010; 4'h6: seg = 7'b0000010; 4'h7: seg = 7'b1111000; 4'h8: seg = 7'b0000000; 4'h9: seg = 7'b0011000; default: seg = 7'b1111111; endcase dp = (digit == 4'h0) ? 1:0; // 小数点控制信号 end endmodule ``` 这个例子中,使用计数器产生1秒钟的时钟信号,然后将时钟信号分别传递给三个数码管译码器电路,最后将控制信号输出到7段LED显示器上。注意,在这个例子中,使用了一个名为`seven_seg_decoder`的模块来实现数码管译码器的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值