选择荣胜网络宁波网站建设,wordpress的页面和首页一样,三维网站是怎么做的,公司logo标志设计免费task和function主要是有助于代码的可重用性#xff0c;都可以在module-endmodule之外声明。
1.function 1.1.function逻辑的综合 function#xff1a;一个只有1个wire型输出值、全是组合逻辑的函数#xff0c;且函数名即输出信号名#xff0c;小括号中按顺序例化输入信号。…task和function主要是有助于代码的可重用性都可以在module-endmodule之外声明。
1.function 1.1.function逻辑的综合 function一个只有1个wire型输出值、全是组合逻辑的函数且函数名即输出信号名小括号中按顺序例化输入信号。 由于function中没有任何时序结构function只能综合出组合逻辑。 1.2.function的使用 ①因function全为组合逻辑即if-else、case等分支应定义完全避免生成latch。 ②fucntion只用于综合成组合逻辑。但是fucntion的最终结果可以用作D触发器的输入。 ③fucntion不应包括延迟或事件控制wait语句。 ④fucntion可以调用其他fucntion但不能调用task。 ⑤fucntion在调用时会返回一个值。 ⑥fucntion内声明的parameters作用范围仅在本地并且不能在fucntion之外使用。 2.task 2.1.task逻辑的综合 虽然在task中可以有等时序控制结构中它仅适用于仿真。综合工具会忽略所有task中的时序结构。因此如果task中存在时序控制结构可能会存在仿真和综合不匹配的现象。 因此在可综合verilog中一般只会使用task综合基本的组合逻辑在testbench中调用带有时序控制结构的task具有较好的通用性。 以下是组合逻辑task的示例即comb_task执行输入in1的位或OR。 注意int_out1和int_out2的声明是reg型因为task的输出只能通过reg而不是wire接收 2.2.task和module的区别 ①不能在task中例化module可以在module中调用task。 ②Task中的逻辑不能够在floorplan中定义为block进行pre_place布局只是sea-of-gates而Module可以在floorplan中定义为block进行pre_place。