JAVA---FPGA入门菜鸟(未完待续。。。)

JAVA---FPGA(未完待续。。。)
*** 前辈们的面试心得看完,果断转FPGA。(Java啥都答不上来,数字IC还能答出部分)

搜罗前辈们的经验,决定先从Quartus开始吧。
https://blog.csdn.net/qq_18649781/article/details/81025650
这个前辈超级好:
https://www.cnblogs.com/yuphone/archive/2010/08/27/docs_plan.html


问题1:4选1多路选择器为什么一定要加always呢?不加就报错。
module mux4(s,a0,a1,a2,a3,dataout);
input[1:0] s;
input a0,a1,a2,a3;
output dataout;
reg dataout;//这两句为何不能删除
always@(s,a0,a1,a2,a3)//这两句为何不能删除
begin
case(s)
 2'b00:dataout=a0;
 2'b01:dataout=a1;
 2'b10:dataout=a2;
 2'b11:dataout=a3;
 default:dataout=a3;
 endcase
end
endmodule  


随笔记:


1.关于parameter:

主程序:

#(
parameter B = 8, // width of the data bus
parameter W = 2  // width of the address bus
)

test bench:

parameter CLK_PERIOD = 20,
      RESET_TIME = 10;

组合逻辑电路:
1.

reg[1:5] dig;//dig为5位寄存器

reg bog[1:5];//bog为5个1位寄存器  

2.test bench:输入定义成reg,输出定义wire。
简单的就直接写出来,麻烦的一个循环语句就ok,多位可以直接定义,例如:

initial while(i_bit<7) #20 i_bit = i_bit + 1'b1;
initial #160 $stop; 

时序逻辑电路:

1.亚稳态


在clk的上升沿到来之前,D必须保持稳定的最短时间为触发器的建立时间t_su;在clk的上升沿到来之后,D必须保持稳定的最短时间为触发器的保持时间t_h。如果t_su或t_h不能严格达到电路的要求,那么触发器就会进入不稳定状态,即亚稳态。从clk的上升沿起,Q随D变化而变化所需要的时间为clk到Q的传播延迟t_cQ。

原文地址:https://www.cnblogs.com/CGJ-Coco/p/9856684.html