上电和破解

2019-07-14 02:16发布

上电顺序:  1.在FPGA板子断电的情况下,插上JTAG下载线接口  2.插上USB Blaster或者ByteBlasterII的电缆  3.插上FPGA板子的电源  下电顺序:  1. 断开FPGA板子的电源         2.断开USB Blaster或者ByteBlasterII的电缆  3.断开JTAG下载线接口   


     1.Error: Top-level design entity "test" is undefined  原因:顶层模块的module名 没有和 工程名同名 解决方法:把顶层模块的 module名 改成 和工程名 同名

Warning (12125): Using design file demo.v, which is not specified as a design file for the current project, but contains definitions for 1 design units and 1 entities in project     Info (12023): Found entity 1: demo 无需理会

warning。No clocks defined in design.没有使用时钟。第一个工程只写的组合逻辑,无伤大雅。



在此需要说明一下,由于在我们出厂的时候,已经有程序固化到 EPCSX 里面 了。 我们进行上述测试实验使用的是 JTAG 模式,如果重新上电,大家会发现程 序还是之前的出厂默认 DEMO 程序,这一点初学者可能会有疑惑。问题就在 FPGA 是基于 SRAM 技术的,通过 JTAG 模式下载,只是将程序下载到 FPGA 内部的 SRAM 中,因此掉电以后,我们通过 JTAG 模式下载的程序会丢失的。而重新上电以后,
EPCSX 会自动加载程序到 FPGA 里。 

 



        number of lab 乘法器lab
M25P16 (或者说 EPCS16)

RTL在电子科学中指的是寄存器转换级电路(Register Transfer Level)的缩写
远离单文件主义,不可能使所有的操作都在一个巨大的模块当中实现。 建模包括功能模块  控制模块 组合模块

?????verilogHDL 通过仿顺序操作方法进行编程,verilog扫盲文 P26.。 lways@(posedgeCLKornegedgeRSTn) if(!RSTn) begin i <=4'd0; rLED<=4'b0000; end else case(i) 0: beginrLED<=4'b0001;i<=i+1'b1;end 1: if(Timer==T10MS)i<=i+1'b1;end 2: beginrLED<=4'b0010;i<=i+1'b1;end 3: if(Timer==T10MS)i<=i+1'b1;end 4: beginrLED<=4'b0100;i<=i+1'b1;end 5: if(Timer==T10MS)i<=i+1'b1;end 6: beginrLED<=4'b1000;i<=i+1'b1;end 7: if(Timer==T10MS)i<=4'd0;end endcas




???? 拼接符部分不懂 if(!RSTn) begin i<=4'd0; rLED<=4'b0000; end else case(i) 0,2,4,6: beginrLED<={rLED[0],rLED[3:1]};i<=i+1'b1;end 1,3,5,7: if(Timer==T10MS)i<=i+1'b1;end 8: begini<=4'd0;end endcase

verilogHDL建模篇。要学会建立模型。。。。。。。。。。。。
重点。fpga是并行,顺序均可以运行的。 注意,看代码有先后顺序,但是实际执行起来却可以是并行的,一起执行。可以在脑海中幻化出电路图,想象上电之后,模块都在工作的场景。

AlwayS
第一个问题: 比如说我们有always @(a or b) begin                     if(a) q<=b;                     else q<=0;end 这个块是每当 a b发生变化时执行 还是a或者b中有一个是1或2个都是1时执行? 第二个问题是 always @(a) begin 如果这个a被定义为一个reg [4:0]时 程序怎么判断啥时候执行?
1。 每当A,B变化时,这个块就执行。 ALWAYS后面的叫敏感参数列表,不表示信号值,而是信号变化触发这个块的执行。
2。 如果综合逻辑没有问题,就是a的每一个元素变化时,这个块都要执行。
如果ALWAYS块的敏感参数列表没有带时钟,这个块将被综合成一个组合回路。参照组合回路的真值表。当输入端任何一个信号变化时,输出将立即做相应的变化,对吧。



verilogHDL的感受 笔者每次在设计之前,都喜欢将一个一个模块画在纸上,然后再使用连线的方式去完成 一个设计。从这一点,我们可以知道笔者是从“ 图形”去完成设计的准备。换一句话说, 笔者是以“ 形状”的形式作为设计的理解基础。 笔者只想告诉一个事实而已。如果着手以“ 建模”去理解 Verilog HDL 语言,以“ 形状” 去完成 Verilog HDL 语言的设计。在感觉上 Verilog HDL + FPGA 是“ 可所触及”,是一 种“ 实实在在” 的感觉,不相等于“ 编程”时的那种“ 抽象感”。
破解的时候,如果需要设置环境变量。但是license变量已经存在。可以在value 后加分号,再写入另一个license的地址。 破解modelsim,出现mgls文件拒绝访问,可以手动去修改此文件的访问权限即可。 遇见驱动程序无法安装的情况,很可能是win8出于安全禁止安装了。 Windows键+ R,输入shutdown.exe /r /o /f /t 00 ,系统会重新启动一个“选择一个选项” ; 2,从“选择一个选项”屏幕上,选择“疑难解答” ,选择从“疑难解答”屏幕“高级选项” ,选择从“高级选项”屏幕“Windows启动设置” ,点击“重新启动”按钮,系统将重新启动,以“高级启动选项”屏幕 ; 3,选择“禁用驱动程序签名强制” ,系统启动后,便可以正常安装“alteraUSB Blaster” 。